mxm opened a new pull request, #16979:
URL: https://github.com/apache/iceberg/pull/16979

   The monitor source rate was computed as perSecond(1.0 / 
rateLimit.getSeconds()). Duration.getSeconds() rounds any sub-second rate limit 
down to 0, so the rate became perSecond(Infinity), which turns off rate 
limiting. This change computes the rate from millis, so sub-second intervals 
are limited correctly. The 60s default is unchanged.
   
   This made the maintenance E2E tests flaky, since they use sub-second rate 
limits.  With no rate limit the source calls table.refresh() in a loop and uses 
a full CPU core per job. CI runs the tests with -DtestParallelism=auto, which 
starts one MiniCluster per fork, so these busy sources use up all the cores. 
The converter runs on a timer, and under that load the timer fires too slowly, 
letting the test fail after the timeout hits.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to