diff --git a/packages/synapse-core/src/sp/upload-streaming.ts b/packages/synapse-core/src/sp/upload-streaming.ts index 859d31912..e48b63e88 100644 --- a/packages/synapse-core/src/sp/upload-streaming.ts +++ b/packages/synapse-core/src/sp/upload-streaming.ts @@ -47,8 +47,14 @@ export async function uploadPieceStreaming( ): Promise { // Create upload session (POST /pdp/piece/uploads) const createResponse = await request.post(new URL('pdp/piece/uploads', options.serviceURL), { - timeout: RETRY_CONSTANTS.MAX_RETRY_TIME, + timeout: 30_000, signal: options.signal, + retry: { + retries: 2, + methods: ['post'], + minTimeout: 2_000, + shouldRetry: (ctx) => !HttpError.is(ctx.error), + }, }) if (createResponse.error) { diff --git a/packages/synapse-sdk/src/test/storage.test.ts b/packages/synapse-sdk/src/test/storage.test.ts index d0490eca5..08ea680b6 100644 --- a/packages/synapse-sdk/src/test/storage.test.ts +++ b/packages/synapse-sdk/src/test/storage.test.ts @@ -905,7 +905,7 @@ describe('StorageService', () => { http.post, { pieceCid: string }>( 'https://pdp.example.com/pdp/piece/uploads', async () => { - return HttpResponse.error() + return HttpResponse.text('Internal Server Error', { status: 500 }) } ) ) @@ -1137,9 +1137,8 @@ describe('StorageService', () => { ...Mocks.presets.basic, }), Mocks.PING(), - Mocks.pdp.postPieceHandler(testPieceCID, mockUuid, pdpOptions), - http.put('https://pdp.example.com/pdp/piece/upload/:uuid', async () => { - return HttpResponse.error() + http.post('https://pdp.example.com/pdp/piece/uploads', async () => { + return HttpResponse.text('Internal Server Error', { status: 500 }) }) ) const synapse = new Synapse({ client, source: null }) diff --git a/packages/synapse-sdk/src/test/synapse.test.ts b/packages/synapse-sdk/src/test/synapse.test.ts index 10d23bd14..6fc9fb6b1 100644 --- a/packages/synapse-sdk/src/test/synapse.test.ts +++ b/packages/synapse-sdk/src/test/synapse.test.ts @@ -834,7 +834,7 @@ describe('Synapse', () => { // Primary SP rejects upload server.use( http.post(`${pdpOptions.baseUrl}/pdp/piece/uploads`, async () => { - return HttpResponse.error() + return HttpResponse.text('Internal Server Error', { status: 500 }) }) ) try {