Optimize the performance of optimizer pollTask#3583
Conversation
…tion to avoid waiting for locks and return immediately if the lock cannot be acquired.
czy006
left a comment
There was a problem hiding this comment.
Thank you for your contribution,Suggestion add 0.8.1 release fix it
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3583 +/- ##
============================================
+ Coverage 21.76% 28.26% +6.50%
- Complexity 2391 3702 +1311
============================================
Files 431 614 +183
Lines 40501 49766 +9265
Branches 5745 6434 +689
============================================
+ Hits 8816 14068 +5252
- Misses 30938 34690 +3752
- Partials 747 1008 +261
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
amoro-ams/src/main/java/org/apache/amoro/server/optimizing/OptimizingQueue.java
Show resolved
Hide resolved
|
Hi, I am not sure if this is the right path to fix this issue. Do we find which process got the process lock? @lintingbin @xxubai |
Not yet. I have deployed the release |
|
@lintingbin @xxubai It seems that the committing phase is locked. Before we optimized the clients parameter, there were many queues in the committing phase. |
|
The committing tables will get the process lock and block the poll task process because it is not removed from the It should be improved, but it is not a new issue for 0.8.0 |
👌 |
Optimize the implementation of the TableOptimizingProcess.poll() function to avoid waiting for locks and return immediately if the lock cannot be acquired. Co-authored-by: Xu Bai <xuba@apache.org> Resolve conflicts in src/main/java/org/apache/amoro/server/optimizing/OptimizingQueue.java (cherry picked from commit 31b064c)
Optimize the implementation of the TableOptimizingProcess.poll() function to avoid waiting for locks and return immediately if the lock cannot be acquired. Co-authored-by: Xu Bai <xuba@apache.org> Resolve conflicts in src/main/java/org/apache/amoro/server/optimizing/OptimizingQueue.java (cherry picked from commit 31b064c)

Why are the changes needed?
Close #3582.
Brief change log
How was this patch tested?
Add some test cases that check the changes thoroughly including negative and positive cases if possible
Add screenshots for manual tests if appropriate
Run test locally before making a pull request
Documentation