[ 
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

Reply via email to