You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Christopher Tubbs (JIRA)" <ji...@apache.org> on 2017/02/10 22:45:42 UTC
[jira] [Resolved] (ACCUMULO-4533) TraceServer should not abort if
trace table exists
[ https://issues.apache.org/jira/browse/ACCUMULO-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christopher Tubbs resolved ACCUMULO-4533.
-----------------------------------------
Resolution: Fixed
Fix Version/s: (was: 1.8.2)
1.8.1
I can't seem to reproduce the error I saw in the master branch, so I'm just going to assume that the problem I saw was my own mistake. If it happens again, perhaps on an earlier branch, I'll open a new issue. I'm closing this one either way.
> 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, 2.0.0
>
> Attachments: ACCUMULO-4533-1.7.v1.patch, ACCUMULO-4533-1.7.v2.patch
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> 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.15#6346)