gauravkm opened a new pull request, #3636:
URL: https://github.com/apache/celeborn/pull/3636

   Adds a three-layer client-side enforcement mechanism that guarantees 
`CelebornInputStream.validateIntegrity()` is called for every shuffle partition 
read within a Spark task.
   
   Changes:
   - `CelebornInputStream.close()` now calls `validateIntegrity()` before 
releasing resources, ensuring the server-side `readReducerPartitionEnd` RPC 
fires even when Spark closes the stream early (e.g. limit queries).
   - `CelebornIntegrityCheckTracker` (new): ThreadLocal per-task registry that 
tracks which partition streams have completed their integrity check.
   - `ValidatingIterator` (new): Wraps the shuffle reader iterator; registers 
itself on construction and calls `ensureIntegrityCheck` when exhausted, 
asserting every partition in [startPartition, endPartition) received a 
`registerValidation` call from its underlying `CelebornInputStream`.
   - `CelebornIntegrityCheckExecutorPlugin` (new): Spark `ExecutorPlugin` that 
drives the tracker lifecycle (`startTask` / `finishTask` / `discard`). Register 
via `spark.plugins` to enable enforcement.
   - `SparkShuffleManager.getCelebornShuffleReader()` wraps the returned reader 
in `ValidatingShuffleReader` when `clientShuffleIntegrityCheckEnabled` is true. 
Skew reads (startMapIndex > endMapIndex) use -1/-1 as the tracker key, matching 
the value stored internally by `CelebornInputStream` for that code path.
   
   
   <!--
   Thanks for sending a pull request!  Here are some tips for you:
     - Make sure the PR title start w/ a JIRA ticket, e.g. '[CELEBORN-XXXX] 
Your PR title ...'.
     - Be sure to keep the PR description updated to reflect all changes.
     - Please write your PR title to summarize what this PR proposes.
     - If possible, provide a concise example to reproduce the issue for a 
faster review.
   -->
   
   ### What changes were proposed in this pull request?
   
   
   
   ### Why are the changes needed?
   
   
   
   ### Does this PR resolve a correctness bug?
   
   <!-- Yes/No. (Note: If yes, committer will add `correctness` label to 
current pull request). -->
   
   ### Does this PR introduce _any_ user-facing change?
   
   
   
   ### How was this patch tested?
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to