You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by "Keith Turner (JIRA)" <ji...@apache.org> on 2012/07/02 22:56:35 UTC

[jira] [Created] (ACCUMULO-667) Unexpected table not found exception

Keith Turner created ACCUMULO-667:
-------------------------------------

             Summary: Unexpected table not found exception
                 Key: ACCUMULO-667
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-667
             Project: Accumulo
          Issue Type: Bug
    Affects Versions: 1.4.0
            Reporter: Keith Turner


While running random walk test to kick the tires on a bulk import bug fix, I ran into the following error.

{noformat}
02 16:12:41,389 [randomwalk.Framework] ERROR: Error during random walk
java.lang.Exception: Error running node Image.xml
        at org.apache.accumulo.server.test.randomwalk.Module.visit(Module.java:259)
        at org.apache.accumulo.server.test.randomwalk.Framework.run(Framework.java:61)
        at org.apache.accumulo.server.test.randomwalk.Framework.main(Framework.java:114)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.accumulo.start.Main$1.run(Main.java:89)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.accumulo.core.client.TableNotFoundException: Table img_n_17502_1341245561116 does not exist
        at org.apache.accumulo.core.client.impl.Tables.getTableId(Tables.java:66)
        at org.apache.accumulo.core.client.admin.TableOperationsImpl.addSplits(TableOperationsImpl.java:319)
        at org.apache.accumulo.server.test.randomwalk.image.ImageFixture.setUp(ImageFixture.java:63)
        at org.apache.accumulo.server.test.randomwalk.Module.visit(Module.java:190)
        at org.apache.accumulo.server.test.randomwalk.Module.visit(Module.java:251)
        ... 8 more
{noformat}

This exception corresponds to the following test code.  So addSplits() was called immediately after createTable() and did not see the table.  

{code:java}
 try {
      conn.tableOperations().create(imageTableName);
      conn.tableOperations().addSplits(imageTableName, splits);   //line 319
      log.debug("Created table " + imageTableName + " (id:" + Tables.getNameToIdMap(instance).get(imageTableName) + ")");
    } catch (TableExistsException e) {
      log.error("Table " + imageTableName + " already exists.");
      throw e;
    }
{code}

Saw the following in the master logs. The time on the machines involved is off a few seconds. so the time discrepency does not indicate that the create table operation did not wait before returning.

{noformat}
02 16:12:43,063 [tableOps.Utils] INFO : table 16a (246815aaec0229bc) unlocked for write
02 16:12:43,063 [master.EventCoordinator] INFO : Created table img_n_17502_1341245561116
02 16:12:43,063 [tableOps.FinishCreateTable] DEBUG: Created table 16a img_n_17502_1341245561116
{noformat}


This could be a bug in ZooCache or maybe ZooCache needs to make a zookeeper sync() call before reading data.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira