accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-3888) getActiveScans should not eat TableNotFoundException
Date Mon, 15 Jun 2015 20:03:01 GMT

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

Keith Turner commented on ACCUMULO-3888:
----------------------------------------

On [tablet server line 533|https://github.com/apache/accumulo/blob/1.7.0/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java#L533],
this is the case where the background thread is busy and continue scan returns to see if the
client is still waiting.  It sets the session timeout to be short in case the client is no
longer interested and does not call continue scan again.

> getActiveScans should not eat TableNotFoundException
> ----------------------------------------------------
>
>                 Key: ACCUMULO-3888
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3888
>             Project: Accumulo
>          Issue Type: Bug
>          Components: client
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Critical
>             Fix For: 1.8.0
>
>
> Noticed this awkwardness during integration tests running against a real cluster.
> {noformat}
> org.apache.accumulo.core.client.TableNotFoundException: Table (Id=r) does not exist
>  at org.apache.accumulo.core.client.impl.Tables.getTableName(Tables.java:128)
>  at org.apache.accumulo.core.client.impl.ActiveScanImpl.<init>(ActiveScanImpl.java:63)
>  at org.apache.accumulo.core.client.impl.InstanceOperationsImpl.getActiveScans(InstanceOperationsImpl.java:138)
>  at org.apache.accumulo.test.functional.ScanIdIT.testScanId(ScanIdIT.java:151)
> {noformat}
> The table from the previous test was deleted at the end of the test, but, somehow, a
tabletserver returned an ActiveScan for that table. When the client tried to unwrap the table
ID into a table name, it got a TableNotFoundException.
> Semantically, if a client is asking for active scans on a server, and the server reports
a scan for a table the client doesn't think exists, it's reasonable to assume it was just
deleted and not return that ActiveScan from the API call.
> Right now, this situation results in an exception back to the client and they get no
results.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message