You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2015/05/28 20:38:18 UTC

[jira] [Updated] (ACCUMULO-3856) ProxyServer.updateAndFlush leaks BatchWriter

     [ https://issues.apache.org/jira/browse/ACCUMULO-3856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Josh Elser updated ACCUMULO-3856:
---------------------------------
    Summary: ProxyServer.updateAndFlush leaks BatchWriter   (was: ProxyServer.update fails silently if batchwriter doesn't exist)

> ProxyServer.updateAndFlush leaks BatchWriter 
> ---------------------------------------------
>
>                 Key: ACCUMULO-3856
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3856
>             Project: Accumulo
>          Issue Type: Bug
>          Components: proxy
>            Reporter: Josh Elser
>            Priority: Critical
>             Fix For: 1.6.3, 1.8.0, 1.7.1
>
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> Inspecting ProxyServer, saw the following:
> {code}
>   @Override
>   public void update(String writer, Map<ByteBuffer,List<ColumnUpdate>> cells) throws TException {
>     try {
>       BatchWriterPlusException bwpe = getWriter(writer);
>       addCellsToWriter(cells, bwpe);
>     } catch (UnknownWriter e) {
>       // just drop it, this is a oneway thrift call and throwing a TException seems to make all subsequent thrift calls fail
>     }
>   }
> {code}
> This means that calls to update which fail to get a BatchWriter (for whatever reason) will silently fail and appear to the user to have written data successfully. This is horrible.
> I'm not sure what the comment means either. I'm not sure why throwing a TException from the server would invalidate the connection, but perhaps I'm just ignorant of some finer details.



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