Skip to content

Fallback storage multithread read#175

Draft
EnricoMi wants to merge 6 commits intofallback-storage-lazy-readfrom
fallback-storage-multithread-read
Draft

Fallback storage multithread read#175
EnricoMi wants to merge 6 commits intofallback-storage-lazy-readfrom
fallback-storage-multithread-read

Conversation

@EnricoMi
Copy link
Copy Markdown

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

Was this patch authored or co-authored using generative AI tooling?

@github-actions
Copy link
Copy Markdown

⚠️ Pull Request Title Validation

This pull request title does not contain a JIRA issue ID.

Please update the title to either:

  • Include a JIRA ID: [SPARK-12345] Your description
  • Mark as minor change: [MINOR] Your description

For minor changes that don't require a JIRA ticket (e.g., typo fixes), please prefix the title with [MINOR].


This comment was automatically generated by GitHub Actions

@github-actions github-actions bot added the CORE label Feb 12, 2026
@EnricoMi EnricoMi force-pushed the fallback-storage-multithread-read branch from bf4226c to 61e5471 Compare February 13, 2026 09:21
@EnricoMi EnricoMi force-pushed the fallback-storage-multithread-read branch from cadda9c to 31e2cff Compare March 4, 2026 10:58
@EnricoMi EnricoMi force-pushed the fallback-storage-lazy-read branch from 924790d to 2952c86 Compare March 12, 2026 14:36
@EnricoMi EnricoMi force-pushed the fallback-storage-multithread-read branch from 31e2cff to 21de7b8 Compare March 12, 2026 16:11
@EnricoMi EnricoMi force-pushed the fallback-storage-lazy-read branch from 2952c86 to ff9e3b3 Compare March 25, 2026 09:00
Removes "Fast fail when failed to get fallback storage blocks" as fallback storage blocks
are fetched concurrently and fast fail is not guaranteed any more.
This blocks cleanup() calling fallbackStorageReadPool.shutdownNow() while
futures are locking results to put FailureFetchResults. Otherwise, that put
in catch clauses would be interrupted and that exception kills the executor.

Logging errors only if !isZombie, meaning the iterator is not yet cleaning up.

Further, FailureFetchResult are putFirst to stop iteration as quickly as possible.

Finally, fallbackStorageReadPool.shutdownNow() is only called in cleanup().
@EnricoMi EnricoMi force-pushed the fallback-storage-multithread-read branch from 833e9de to 6ed4e0f Compare March 25, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant