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 2013/08/02 19:51:51 UTC

[jira] [Comment Edited] (ACCUMULO-1633) BatchWriter and variants don't assert maxMemory as a positive, non-zero value

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

Josh Elser edited comment on ACCUMULO-1633 at 8/2/13 5:51 PM:
--------------------------------------------------------------

I believe there is a bug then. I have some simple code which reads from a BatchScanner, permutes the Key-Value into a Mutation, and writes it back to the table. After I write the first Mutation, my code is stuck in TabletServerBatchWriter:394 in waitRTE called from the addMutation method.

Giving it a quick glance, startProcessing as called by the latencyTimer but will never do anything because the MutationSet is empty. The addMutation call will never get in to add the first mutation because it's expecting the memory to drop (which it can't already at zero).

In other words, the semantics to flush after every mutation seems to be broken.
                
      was (Author: elserj):
    I believe there is a bug then. I have some simple code which reads from a BatchScanner, permutes the Key-Value into a Mutation, and writes it back to the table. After I write the first Mutation, my code is stuck in TabletServerBatchWriter:394 in waitRTE called from the addMutation method.

Giving it a quick glance, startProcessing as called by the latencyTimer but will never do anything because the MutationSet is empty. The addMutation call will never get in to add the first mutation because it's expecting the memory to drop (which it can't already at zero).
                  
> BatchWriter and variants don't assert maxMemory as a positive, non-zero value
> -----------------------------------------------------------------------------
>
>                 Key: ACCUMULO-1633
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1633
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: client
>    Affects Versions: 1.4.3
>            Reporter: Josh Elser
>              Labels: newbie
>             Fix For: 1.4.4
>
>
> I inadvertently provided 0l to the maxMemory argument to create a BatchWriter and my code immediately sat idle.
> Once I figured out my problem, I was surprised that no validation was applied to the value. This can cause a BatchWriter to sit indefinitely as it waits trying to "free memory". It would be good to have a "reasonable" minimum (1KB?) to the BatchWriter/BatchDeleter/MultiTableBatchWriter.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira