Skip to content

Conversation

@lhotari
Copy link
Member

@lhotari lhotari commented May 28, 2024

Motivation

The batching solution for V2 AddResponses doesn't seem natural for a Netty application.
Batching can be implemented using the Netty Pipeline handlers instead. This avoids synchronization and avoids any possible ordering issues that could be caused when calls are entering in multiple ways.

Changes

  • Write the AddResponses to the Netty Pipeline and use a handler to do the batching. A marker message is used to signal the flushing.

Related to changes #3848 and #3837

- use messages as part of the pipeline to avoid ordering issues
  and to simplify the way how batching is implemented without the
  need to use synchronized (blocking) methods
@hezhangjian hezhangjian added this to the 4.18.0 milestone May 29, 2024
@dlg99
Copy link
Contributor

dlg99 commented May 30, 2024

@lhotari some tests broke, e.g.

Error:  Errors: 
Error:  org.apache.bookkeeper.client.BookKeeperTest.testReadWriteWithV2WireProtocol
Error:    Run 1: BookKeeperTest.testReadWriteWithV2WireProtocol » BKNotEnoughBookies Not enough non-faulty bookies available
Error:    Run 2: BookKeeperTest.testReadWriteWithV2WireProtocol » BKNotEnoughBookies Not enough non-faulty bookies available
Error:    Run 3: BookKeeperTest.testReadWriteWithV2WireProtocol » BKNotEnoughBookies Not enough non-faulty bookies available

@StevenLuMT StevenLuMT closed this Feb 15, 2025
@StevenLuMT StevenLuMT reopened this Feb 15, 2025
@StevenLuMT
Copy link
Member

reopen's reason: rerun failure checks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants