Caideyipi opened a new pull request, #18261:
URL: https://github.com/apache/iotdb/pull/18261

   ## Description
   
   This is the parser progress recovery part of the Pipe resilience work. It is 
independent of #18260 and uses the existing parser memory reservation API on 
master.
   
   ### Preserve parsing progress
   
   `PipeTsFileInsertionEvent` now retains:
   
   - the tablet iterator created by the TsFile parser;
   - the currently parsed but not successfully consumed tablet;
   - the parsed tablet count and count-operation progress.
   
   If tablet consumption fails, the event yields its active parser memory 
reservation but keeps the parser, iterator, and pending tablet. The next 
subtask retry reacquires parser memory and resumes from the exact same tablet 
object instead of reopening and reparsing the TsFile from the beginning.
   
   ### Parser lifecycle
   
   Call sites that split Pipe TsFile events now close the parser only after 
successful completion. Processing exceptions stop at the failed tablet and 
propagate immediately. Non-Pipe TsFile implementations retain their original 
finally-close behavior.
   
   Explicit event close and resource finalization still release the pending 
tablet and parser resources.
   
   ### OOM retry backoff
   
   Local parser OOM retries use bounded exponential backoff derived from the 
existing Pipe memory retry interval and maximum retry count. When the retry 
policy decides to yield, later subtask retries resume from saved progress.
   
   ### Tests
   
   `TsFileInsertionEventParserTest` verifies that an OOM does not close the 
parser and that the next retry receives the identical failed tablet object. The 
full parser test class passes.
   
   <hr>
   
   This PR has:
   - [x] been self-reviewed.
       - [x] concurrent read and write
   - [x] added comments explaining the progress and resource-lifecycle 
decisions.
   - [x] added or updated unit tests for the retry path.
   
   <hr>
   
   ##### Key changed/added classes
   
   - `PipeTsFileInsertionEvent`
   - `PipeProcessorSubtask`
   - `PipeEventCollector`
   - `AggregateProcessor`
   - `DownSamplingProcessor`
   - `WebSocketSink`
   - `TsFileInsertionEventParserTest`


-- 
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