Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tests/datalake: deflake partition_movement_test
- Fixes a deadlock with the way fetch positions are updated. Currently they are updated periodically (every 3s) since the original assumption was its an expensive RPC. This was causing a deadlock in some cases where data was consumed but fetch positions were not updated (since time threshold was not hit) but query thread cannot make progress because it relies on fetch positions and would never drain the semaphore which is effectively a deadlock. Turns out the method is not expensive in most cases and returns an offset locally cached in the consumer, removed the timer based based logic. - Switched to a batched consumer from a poll(timeout) as the latter just fetches a single message resulting in a lot of tiny SQL verification queries. A batched consume effectively batches a bunch of messages resulting in range queries over larger offset ranges and also further reduces the # of calls to update fetch positions.
- Loading branch information