Skip to content

fix(streamtimeout): exempt bulk export/import methods#3143

Open
ivanauth wants to merge 2 commits into
authzed:mainfrom
ivanauth:fix/exempt-bulk-export-from-streamtimeout
Open

fix(streamtimeout): exempt bulk export/import methods#3143
ivanauth wants to merge 2 commits into
authzed:mainfrom
ivanauth:fix/exempt-bulk-export-from-streamtimeout

Conversation

@ivanauth

Copy link
Copy Markdown
Contributor

The streaming-timeout interceptor cancels a stream if the server is silent for StreamingAPITimeout (default 30s), assuming a hung client. Bulk export/import legitimately go silent for long stretches between batches on large datasets, so the interceptor was cancelling healthy streams (clients saw RST_STREAM NO_ERROR).

Add WithExemptMethods to the interceptor and exempt:

  • PermissionsService/ExportBulkRelationships
  • PermissionsService/ImportBulkRelationships
  • ExperimentalService/BulkExportRelationships
  • ExperimentalService/BulkImportRelationships

All other streaming methods keep the timeout.

@ivanauth ivanauth requested a review from a team as a code owner May 29, 2026 15:15
@github-actions github-actions Bot added area/api v1 Affects the v1 API area/tooling Affects the dev or user toolchain (e.g. tests, ci, build tools) labels May 29, 2026
@codecov

codecov Bot commented May 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.10526% with 3 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
internal/middleware/streamtimeout/streamtimeout.go 81.25% 2 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@ivanauth ivanauth force-pushed the fix/exempt-bulk-export-from-streamtimeout branch from be4ad12 to c4cb74c Compare June 5, 2026 23:00
@ivanauth ivanauth force-pushed the fix/exempt-bulk-export-from-streamtimeout branch 2 times, most recently from cd88072 to 0a289b6 Compare June 23, 2026 18:58
@ivanauth ivanauth force-pushed the fix/exempt-bulk-export-from-streamtimeout branch from 0a289b6 to 31c2837 Compare June 29, 2026 19:00
@ivanauth ivanauth closed this Jun 29, 2026
@ivanauth ivanauth reopened this Jun 29, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 29, 2026
@ivanauth ivanauth closed this Jun 29, 2026
@ivanauth ivanauth reopened this Jun 29, 2026
@ivanauth ivanauth closed this Jul 1, 2026
@ivanauth ivanauth reopened this Jul 1, 2026
@ivanauth ivanauth force-pushed the fix/exempt-bulk-export-from-streamtimeout branch from 31c2837 to 8f82315 Compare July 1, 2026 19:51
@ivanauth ivanauth closed this Jul 1, 2026
@ivanauth ivanauth reopened this Jul 1, 2026
@ivanauth ivanauth force-pushed the fix/exempt-bulk-export-from-streamtimeout branch from 8f82315 to 31c2837 Compare July 1, 2026 19:58
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area/api v1 Affects the v1 API area/tooling Affects the dev or user toolchain (e.g. tests, ci, build tools)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant