[ 
https://issues.apache.org/jira/browse/KYLIN-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fangyuan Deng updated KYLIN-3087:
---------------------------------
    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);
        }


  was:
In GlobalDictionaryBuilder.init(),

this.builder = new AppendTrieDictionaryBuilder(baseDir, maxEntriesPerSlice, 
true);

if this line has exception, 



> DistributedLock in GlobalDictionaryBuilder may not release
> ----------------------------------------------------------
>
>                 Key: KYLIN-3087
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3087
>             Project: Kylin
>          Issue Type: Bug
>          Components: Job Engine
>    Affects Versions: v2.2.0
>            Reporter: Fangyuan Deng
>            Assignee: Dong Li
>         Attachments: KYLIN-3087.patch
>
>
> 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);
>         }



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to