[ 
https://issues.apache.org/jira/browse/HBASE-21342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16655732#comment-16655732
 ] 

Mike Drob commented on HBASE-21342:
-----------------------------------

{quote}
+  private static byte[] value2 = Bytes.toBytes("t2");
+  private static byte[] value3 = Bytes.toBytes("t2");
{quote}
These are the same.

We should probably be using ConcurrentHashMap and the various concurrency 
functions there instead of making our own big synchronized blocks. Looking at 
putIfAbsent, computeIfAbsent, compute, and merge in particular.

When I try to run the test on master branch I get 
{{java.lang.ArrayIndexOutOfBoundsException: 0}} so something is going wrong 
there... which branch did you work on this for initially?

> FileSystem in use may get closed by other bulk load call  in secure bulkLoad
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-21342
>                 URL: https://issues.apache.org/jira/browse/HBASE-21342
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 2.1.0, 1.5.0, 1.3.3, 1.4.4, 2.0.1, 1.2.7
>            Reporter: mazhenlin
>            Assignee: mazhenlin
>            Priority: Major
>         Attachments: race.patch
>
>
> As mentioned in [HBASE-15291|#HBASE-15291], there is a race condition.   If 
> Two secure bulkload calls  from the same UGI into two different regions and 
> one region finishes earlier, it will close the bulk load fs, and the other 
> region will fail.
>  
> Another case would be more serious. The FileSystem.close() function needs two 
> synchronized variables : CACHE and deleteOnExit. If one region calls 
> FileSystem.closeAllForUGI ( in SecureBulkLoadManager.cleanupBulkLoad) while 
> another region is trying to close srcFS ( in  
> SecureBulkLoadListener.closeSrcFs)   , can cause deadlock here.
>  
> I have wrote a UT for this and fixed it using reference counter.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to