[ 
https://issues.apache.org/jira/browse/ACCUMULO-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15732748#comment-15732748
 ] 

Mike Drob commented on ACCUMULO-4533:
-------------------------------------

bq. +   * Exceptions thrown out of here should be things that cause service 
failure (e.g. misconfigurations that aren't likely to change on retry).
It looks like this will continue to retry on permission errors, i.e. the table 
exists but the given user does not have write access. Can you elaborate on the 
difference between a retry-able exception and an abortive exception? 

> 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
>
>
> 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)

Reply via email to