Uh oh!
There was an error while loading. Please reload this page.
HDDS-1451 : SCMBlockManager findPipeline and createPipeline are not lock protected. - #799
Conversation
hadoop-yetus
commented
May 7, 2019
💔 -1 overall
This message was automatically generated. |
avijayanhwx
commented
May 8, 2019
/label ozone |
avijayanhwx
commented
May 15, 2019
/retest |
mukul1987
left a comment
There was a problem hiding this comment.
The patch looks good to me. Please change the log lines to add the type and factor.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
hadoop-yetus
commented
May 17, 2019
💔 -1 overall
This message was automatically generated. |
anuengineer
commented
May 18, 2019
@avijayanhwx the patch looks good to me. Can you please confirm that the test failures are not due to this patch. Thanks in Advance. |
avijayanhwx
commented
May 20, 2019
@anuengineer The failures seem unrelated. I have rebased with latest trunk. We can see how this run goes and then commit it. |
anuengineer
commented
May 20, 2019
+1, LGTM. Thanks. |
As per subject, table descriptors moved are - LocalTableDescriptor - RemoteTableDescriptor - HybridTableDescriptor - GuavaCacheTableDescriptor - CachingTableDescriptor Author: Wei Song <wsong@linkedin.com> Reviewers: Prateek Maheshwari <pmaheshwari@linkedin.com> Closesapache#799 from weisong44/SAMZA-1981
The getPipelines() and createPipeline() already seem to have a lock in their implementation. However, the problem described here involves a race condition between the call to getPipelines and createPipelines in BlockManagerImpl#allocateBlock. The fix is to add another getPipelines check after a failed createPipeline call to get any newly created pipelines.