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

   ## Description
   
   Backport of #18266 to `dev/1.3`.
   
   A realtime Pipe can retain raw tablet events whose zero-sized 
`PipeTabletMemoryBlock` instances are accounted through `forceResize`. Before 
this fix, resize checked only remaining non-floating memory and could exhaust 
the pool, preventing the sink batch from allocating the memory needed to 
transfer and release those tablets.
   
   This change applies the existing tablet/TsFile hard admission thresholds 
when a typed data-structure block grows through resize. Normal blocks, 
including sink batch buffers, keep the existing total-memory check.
   
   The cherry-pick conflict was adapted to the 1.3 memory-manager 
implementation, which tracks usage through `usedMemorySizeInBytes`. The 
regression test uses the branch's configured non-floating memory size.
   
   ## Tests
   
   ```
   mvn test -pl iotdb-core/datanode -Dtest=PipeMemoryManagerResizeTest 
-DforkCount=0 -Dsurefire.forkNumber=0 -Ddevelocity.off=true
   ```
   
   Result: 1 test run, 0 failures, 0 errors, 0 skipped. Checkstyle, Spotless, 
main compilation, and test compilation also passed.
   
   <hr>
   
   This PR has:
   - [x] been self-reviewed.
   - [x] added comments explaining the intent of the code.
   - [x] added a unit test for the resized-tablet admission path.
   


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