Skip to content

[fix][test] Using another thread instead of io-thread for bookie#17554

Closed
zymap wants to merge 1 commit intoapache:masterfrom
zymap:fix-recovery-read-thread-pool
Closed

[fix][test] Using another thread instead of io-thread for bookie#17554
zymap wants to merge 1 commit intoapache:masterfrom
zymap:fix-recovery-read-thread-pool

Conversation

@zymap
Copy link
Member

@zymap zymap commented Sep 9, 2022


Master Issue: #17520

Motivation

In the bookkeeper, the request processor should use a dedicated thread pool, not the io thread pool to process the request. Using io thread pool may cause some unexpected behaviors, such as a deadlock or something else. In the production, it doesn't make sense that use io thread pool to handle everything. So change the working thread to 1 to fix the problem.

Modifications

  • change AddWorkerThreads, ReadWorkerThreads, and HighPriorityWorkerThreads to 1

Verifying this change

  • Make sure that the change passes the CI checks.

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

(or)

This change is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

  • Added integration tests for end-to-end deployment with large payloads (10MB)
  • Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If yes was chosen, please highlight the changes

  • Dependencies (does it add or upgrade a dependency): (yes / no)
  • The public API: (yes / no)
  • The schema: (yes / no / don't know)
  • The default values of configurations: (yes / no)
  • The wire protocol: (yes / no)
  • The rest endpoints: (yes / no)
  • The admin cli options: (yes / no)
  • Anything that affects deployment: (yes / no / don't know)

Documentation

Check the box below or label this PR directly.

Need to update docs?

  • doc-required
    (Your PR needs to update docs and you will update later)

  • doc-not-needed
    (Please explain why)

  • doc
    (Your PR contains doc changes)

  • doc-complete
    (Docs have been already added)

---

*Motivation*

In the bookkeeper, the request processor should use a dedicated thread
pool, not the io thread pool to process the request. Using io thread
pool may cause some unexpected behaviors, such as a deadlock or something
else. In the production, it doesn't make sense that use io thread pool
to handle everything. So change the working thread to 1 to fix the problem.

*Modification*

- change AddWorkerThreads, ReadWorkerThreads, and HighPriorityWorkerThreads
to 1
@zymap zymap added the area/test label Sep 9, 2022
@zymap zymap added this to the 2.12.0 milestone Sep 9, 2022
@zymap zymap self-assigned this Sep 9, 2022
@zymap zymap closed this Sep 9, 2022
@zymap
Copy link
Member Author

zymap commented Sep 9, 2022

Discussed with @codelipenghui and @hangc0276. We think the error happened caused by bookkeeper fix, and it doesn't impact the pulsar too much, so it is unnecessary to change the pulsar to tolerate that case.

@github-actions github-actions bot added the doc-not-needed Your PR changes do not impact docs label Sep 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/test doc-not-needed Your PR changes do not impact docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant