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 19:57:00 GMT

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

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

I think when a user reads all data from a scanner, there will be no session left behind. 
See [TabletServer line 557|https://github.com/apache/accumulo/blob/1.7.0/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java#L557].
 I think these sessions are only left behind on the last tablet the user read from, when the
user stops reading from the scanner before the end of the range they gave.   If the user did
not read all data, then the close method could reach out to the last tablet read from and
close the session.  I don't think anything needs to be done when transitioning between tablets.

> 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