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)