-
Notifications
You must be signed in to change notification settings - Fork 9.1k
HDFS-16642. [SBN read] Moving the selecting inputstream from journalnode in EditLogTailer out of FSNLock #4497
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
💔 -1 overall
This message was automatically generated. |
|
Looks thread-safe to me. Has this patch been tested in a production environment? |
@jojochuang Thanks for your review and sorry sorry for replaying so late. We have release it in our prod environment and it works well. After checking some jstacks of ObserverNamenodes, I found that there are no handlers blocked at @ferhui can you help me review this patch? |
|
It looks good. The failed case TestDiskBalancerCommand seems unrelated to changes. @ZanderXu could you confirm? |
|
@ferhui Sir, thank you very much for your helping me to review this patch.
|
|
The PR has hung there for 10 days. @ZanderXu could you please push an empty commit to trigger CI? We can avoid potential conflicts and merge it after CI runs. |
|
Copy, sir. I will rebase it on the latest the trunk. |
…LogTailer outof FSNLock
|
💔 -1 overall
This message was automatically generated. |
|
emm... cc @ferhui |
|
@ZanderXu It is unrelated to this PR. can create a ticket to track it. |
|
@ZanderXu Thanks for your contribution. @jojochuang Thanks for your review! Merged |
|
@jojochuang @ferhui Sir, thank you very much for helping review. |
…LogTailer outof FSNLock (apache#4497)
…itioning to Active with in-progress tailer (apache#194) * HDFS-16642. Moving the selecting inputstream from journalnode in EditLogTailer outof FSNLock (apache#4497) * HDFS-16689. Standby NameNode crashes when transitioning to Active with in-progress tailer (apache#4744) * remove annotation introduced in merge wrongly
Description of PR
In our prod environment, 8020 Handler of Observer NameNode also blocked by EditlogTailer.
And EditlogTailer cost a long time for selecting InputStreams from Journalnode with holding the FSNLock.
During this period, 8020 handlers of Observer NameNode will be blocked by the FSN Lock.
In theory, selecting inputstreams from JournalNode does not involve changing memory information in NameNode, so we can move the selecting out of the FSN Lock, and it can improve the throughput of Observer NameNode.
After reading the relevant code in depth, I found that it is feasible to move the selecting inputStream out of the FSNLock.