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:44:17 UTC

[jira] [Commented] (ACCUMULO-3855) ProxyServer.update fails silently if batchwriter doesn't exist

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

Josh Elser commented on ACCUMULO-3855:
--------------------------------------

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.

The proxy interface is intended to mimic the TabletServer's thrift methods that the batchscanner uses. There may not be something better to do here then at the low level, but try to expose something "nicer" to use at a slightly higher level.

> ProxyServer.update fails silently if batchwriter doesn't exist
> --------------------------------------------------------------
>
>                 Key: ACCUMULO-3855
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3855
>             Project: Accumulo
>          Issue Type: Bug
>          Components: proxy
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Critical
>             Fix For: 1.5.3, 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)