JingsongLi opened a new pull request, #8993:
URL: https://github.com/apache/paimon/pull/8993

   ## What changed
   
   - Include an existing level 1 run in the initial forced-L0 candidates so the 
size-ratio check evaluates level 2 using the combined level 0 and level 1 size.
   - Add focused coverage for both including and excluding level 2 at the 
size-ratio boundary.
   - Add a table-level regression test that constructs real level 0, level 1, 
and level 2 files and verifies they compact into one level 2 file.
   
   ## Why
   
   `forcePickL0` previously evaluated the size ratio starting with level 0 
only. When level 0 was too small compared with level 1, `createUnit` added 
level 1 later to avoid producing another level 0 file, but level 2 was never 
reconsidered. Repeated forced compactions could therefore keep growing and 
rewriting level 1, causing excessive write amplification.
   
   ## Validation
   
   ```text
   mvn -pl paimon-core -am -DfailIfNoTests=false -DwildcardSuites=none 
-Dtest=ForceUpLevel0CompactionTest,UniversalCompactionTest,PrimaryKeySimpleTableTest#testForceUpLevel0CompactionConsidersLevel2
 test
   ```
   
   All 14 selected tests passed, including Checkstyle, Spotless, and Enforcer 
checks. The table-level regression was also verified to fail against the old 
selection logic, leaving separate level 1 and level 2 files.
   


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