You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Sean Busbey (JIRA)" <ji...@apache.org> on 2016/12/07 15:33:58 UTC
[jira] [Created] (ACCUMULO-4533) TraceServer should not abort if
trace table exists
Sean Busbey created ACCUMULO-4533:
-------------------------------------
Summary: 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.8.0, 1.7.2, 1.7.1
Environment: impacts 1.7.0-1.7.2, 1.8.0
Reporter: 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)