[ 
https://issues.apache.org/jira/browse/PHOENIX-7821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Kyle Purtell updated PHOENIX-7821:
-----------------------------------------
    Description: {{PhoenixSyncTableToolIT}} asserts that aggressive paging 
yields more {{CHUNKS_VERIFIED}} than baseline, but the original approach forced 
paging by setting the client RPC timeout to 1–2 ms, which 
{{PhoenixSyncTableMapper.createChunkScanner}} then halved to derive the server 
page timeout. This causes test flakiness when hardware is either too slow or 
too fast. Slow hardware exhausts retries. Fast hardware finishes the scan 
within the 2 ms time budget. The fix decouples the two timeouts by teaching 
{{createChunkScanner}} to honor an explicitly configured 
{{phoenix.server.page.size.ms}} when set, falling back to the old RPC*0.5 
heuristic otherwise, preserving production behavior, and updates the test to 
enable server-side paging with {{phoenix.server.page.size.ms=1}} while leaving 
the client RPC timeout at its default. This deterministically forces a partial 
chunk after the first row, satisfying the chunk-count assertion regardless of 
cluster speed.  (was: `PhoenixSyncTableToolIT` asserts that aggressive paging 
yields more `CHUNKS_VERIFIED` than baseline, but the original approach forced 
paging by setting the client RPC timeout to 1–2 ms, which 
`PhoenixSyncTableMapper.createChunkScanner` then halved to derive the server 
page timeout. This causes test flakiness when hardware is either too slow or 
too fast. Slow hardware exhausts retries. Fast hardware finishes the scan 
within the 2 ms time budget. The fix decouples the two timeouts by teaching 
`createChunkScanner` to honor an explicitly configured 
`phoenix.server.page.size.ms` when set, falling back to the old RPC*0.5 
heuristic otherwise, preserving production behavior, and updates the test to 
enable server-side paging with `phoenix.server.page.size.ms=1` while leaving 
the client RPC timeout at its default. This deterministically forces a partial 
chunk after the first row, satisfying the chunk-count assertion regardless of 
cluster speed.)

> PhoenixSyncTableMapper deterministic mid-chunk paging
> -----------------------------------------------------
>
>                 Key: PHOENIX-7821
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7821
>             Project: Phoenix
>          Issue Type: Sub-task
>          Components: core
>            Reporter: Andrew Kyle Purtell
>            Assignee: Andrew Kyle Purtell
>            Priority: Major
>             Fix For: 5.4.0, 5.3.1
>
>
> {{PhoenixSyncTableToolIT}} asserts that aggressive paging yields more 
> {{CHUNKS_VERIFIED}} than baseline, but the original approach forced paging by 
> setting the client RPC timeout to 1–2 ms, which 
> {{PhoenixSyncTableMapper.createChunkScanner}} then halved to derive the 
> server page timeout. This causes test flakiness when hardware is either too 
> slow or too fast. Slow hardware exhausts retries. Fast hardware finishes the 
> scan within the 2 ms time budget. The fix decouples the two timeouts by 
> teaching {{createChunkScanner}} to honor an explicitly configured 
> {{phoenix.server.page.size.ms}} when set, falling back to the old RPC*0.5 
> heuristic otherwise, preserving production behavior, and updates the test to 
> enable server-side paging with {{phoenix.server.page.size.ms=1}} while 
> leaving the client RPC timeout at its default. This deterministically forces 
> a partial chunk after the first row, satisfying the chunk-count assertion 
> regardless of cluster speed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to