Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.0.0-alpha-1, 2.1.0, 1.5.0, 1.3.3, 1.4.4, 2.0.1, 1.2.7
-
None
-
None
Description
As mentioned in 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.
Attachments
Attachments
Issue Links
- breaks
-
HBASE-21884 Fix box/unbox findbugs warning in secure bulk load
- Resolved
- relates to
-
HBASE-21374 Backport HBASE-21342 to branch-1
- Resolved
-
HBASE-15291 FileSystem not closed in secure bulkLoad
- Resolved