You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Billy Liu (JIRA)" <ji...@apache.org> on 2017/08/13 12:44:02 UTC

[jira] [Updated] (KYLIN-2557) Fix creating HBase table conflict when multiple kylin instances are starting concurrently

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

Billy Liu updated KYLIN-2557:
-----------------------------
    Summary: Fix creating HBase table conflict when multiple kylin instances are starting concurrently  (was: The kylin will start failed because of creating HBase table confict when multiple instances of the kylin are started at the same time.)

> Fix creating HBase table conflict when multiple kylin instances are starting concurrently
> -----------------------------------------------------------------------------------------
>
>                 Key: KYLIN-2557
>                 URL: https://issues.apache.org/jira/browse/KYLIN-2557
>             Project: Kylin
>          Issue Type: Bug
>          Components: Storage - HBase
>    Affects Versions: v2.0.0
>            Reporter: peng.jianhua
>            Assignee: peng.jianhua
>            Priority: Critical
>              Labels: patch
>             Fix For: v2.1.0
>
>         Attachments: 0001-KYLIN-2557-The-kylin-will-start-failed.patch
>
>
> Muliple instances were started at the same time after we installed the kylin. A conflict will occurs because these instances create kylin_metadata_acl table at the same time. The result is that the kylin start failed. The error log is as following:
> Caused by: org.apache.hadoop.hbase.TableExistsException: kylin_metadata_acl
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> 	at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> 	at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
> 	at org.apache.hadoop.hbase.util.ForeignExceptionUtil.toIOException(ForeignExceptionUtil.java:45)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.convertResult(HBaseAdmin.java:4448)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.waitProcedureResult(HBaseAdmin.java:4406)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.get(HBaseAdmin.java:4339)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:674)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:604)
> 	at org.apache.kylin.storage.hbase.HBaseConnection.createHTableIfNeeded(HBaseConnection.java:307)
> 	at org.apache.kylin.storage.hbase.HBaseConnection.createHTableIfNeeded(HBaseConnection.java:262)
> 	at org.apache.kylin.rest.security.RealAclHBaseStorage.prepareHBaseTable(RealAclHBaseStorage.java:50)
> 	at org.apache.kylin.rest.security.MockAclHBaseStorage.prepareHBaseTable(MockAclHBaseStorage.java:53)
> 	at org.apache.kylin.rest.service.AclService.init(AclService.java:121)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:344)
> 	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:295)
> 	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
> 	... 125 more



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