Gerhard Gossen created GORA-420:
-----------------------------------

             Summary: AccumuloStore.createSchema fails when table already exists
                 Key: GORA-420
                 URL: https://issues.apache.org/jira/browse/GORA-420
             Project: Apache Gora
          Issue Type: Improvement
          Components: gora-accumulo
    Affects Versions: 0.6
            Reporter: Gerhard Gossen
            Priority: Minor


When {{autoCreateSchema}} is enabled, AccumuloStore.initialize will try to 
create the table each time without checking for its existence. This fails with 
an exception that is logged at level ERROR (see below). As this happens 
frequently, this clutters the log.

{code}
2015-04-15 16:19:52.193 ERROR 29747 --- o.a.gora.accumulo.store.AccumuloStore   
 : Table crawl_2_webpage exists (Table name already exists: crawl_2_webpage)

org.apache.accumulo.core.client.TableExistsException: Table crawl_2_webpage 
exists (Table name already exists: crawl_2_webpage)
        at 
org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:302)
        at 
org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:280)
        at 
org.apache.accumulo.core.client.admin.TableOperationsImpl.create(TableOperationsImpl.java:208)
        at 
org.apache.accumulo.core.client.admin.TableOperationsImpl.create(TableOperationsImpl.java:177)
        at 
org.apache.gora.accumulo.store.AccumuloStore.createSchema(AccumuloStore.java:454)
        at 
org.apache.gora.accumulo.store.AccumuloStore.initialize(AccumuloStore.java:372)
[...]
Caused by: 
org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException: null
        at 
org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_result$executeTableOperation_resultStandardScheme.read(MasterClientService.java:16129)
        at 
org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_result$executeTableOperation_resultStandardScheme.read(MasterClientService.java:16106)
        at 
org.apache.accumulo.core.master.thrift.MasterClientService$executeTableOperation_result.read(MasterClientService.java:16048)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
        at 
org.apache.accumulo.core.master.thrift.MasterClientService$Client.recv_executeTableOperation(MasterClientService.java:499)
        at 
org.apache.accumulo.core.master.thrift.MasterClientService$Client.executeTableOperation(MasterClientService.java:480)
        at 
org.apache.accumulo.core.client.admin.TableOperationsImpl.executeTableOperation(TableOperationsImpl.java:236)
        at 
org.apache.accumulo.core.client.admin.TableOperationsImpl.doTableOperation(TableOperationsImpl.java:289)
        ... 99 common frames omitted
{code}

Suggested fix is to check for the existence of the table before calling 
{{createSchema()}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to