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/27 21:37:25 UTC
[jira] [Commented] (ACCUMULO-3856) ProxyServer.update fails
silently if batchwriter doesn't exist
[ https://issues.apache.org/jira/browse/ACCUMULO-3856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14561574#comment-14561574 ]
Josh Elser commented on ACCUMULO-3856:
--------------------------------------
Eric clarified to me that the comment means to inform the reader than the implementation can't throw an exception because it's a one-way thrift call.
> ProxyServer.update fails silently if batchwriter doesn't exist
> --------------------------------------------------------------
>
> 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
>
>
> 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)