Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
v2.2.0
-
None
Description
In GlobalDictionaryBuilder.init(),
this.builder = new AppendTrieDictionaryBuilder(baseDir, maxEntriesPerSlice, true);
if this line has exception, the DistributedLock will not release, and other jobs can not run.
so,I added a try catch.
try
{ this.builder = new AppendTrieDictionaryBuilder(baseDir, maxEntriesPerSlice, true); }catch (Throwable e)
{ lock.unlock(getLockPath(sourceColumn)); throw new RuntimeException(String.format("Failed to create global dictionary on %s ", sourceColumn), e); }