[ https://issues.apache.org/jira/browse/ACCUMULO-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Busbey reassigned ACCUMULO-4533: ------------------------------------- Assignee: Sean Busbey > TraceServer should not abort if trace table exists > -------------------------------------------------- > > Key: ACCUMULO-4533 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4533 > Project: Accumulo > Issue Type: Bug > Components: trace > Affects Versions: 1.7.1, 1.7.2, 1.8.0 > Environment: impacts 1.7.0-1.7.2, 1.8.0 > Reporter: Sean Busbey > Assignee: Sean Busbey > Fix For: 1.7.3, 1.8.1 > > > h3. description > On start up, the TraceServer attempts to ensure that the trace table exists. > {code} > connector = serverConfiguration.getInstance().getConnector(principal, > at); > if (!connector.tableOperations().exists(tableName)) { > connector.tableOperations().create(tableName); > IteratorSetting setting = new IteratorSetting(10, "ageoff", > AgeOffFilter.class.getName()); > AgeOffFilter.setTTL(setting, 7 * 24 * 60 * 60 * 1000l); > connector.tableOperations().attachIterator(tableName, setting); > } > {code} > The race condition between checking existence and creating the table ought > not matter, since we're in a big loop that is supposed to retry on any > problems. > However, that loop expressly catches {{RuntimeException}} and > {{TableExistsException}} is not a {{RuntimeException}} so currently the > exception propagates and kills the server. > h3. workaround > restart any failed trace servers, since the one that won the race condition > should have finished set up properly. > alternatively, manually create the trace table prior to starting any trace > servers. -- This message was sent by Atlassian JIRA (v6.3.4#6332)