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

Lars Hofhansl commented on HBASE-5311:
--------------------------------------

Can this legitimately happen when multiple threads call 
closeGateAndFlushThreads?

{code}
assert (oldVal & GATE_CLOSED) == 0 : "gate already closed";
{code}


Is it possible that all threads get to that point at the same time and then 
never finish? (Actually my guess is no, but making sure):
{code}
// Wait for all counts to go to the flagged "zero" value
// (i.e for active threads to exit the gated section)
for (AtomicInteger i : counts) {
  while (i.get() != GATE_CLOSED) {
    Thread.yield();
  }
}
{code}

                
> Allow inmemory Memstore compactions
> -----------------------------------
>
>                 Key: HBASE-5311
>                 URL: https://issues.apache.org/jira/browse/HBASE-5311
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>         Attachments: InternallyLayeredMap.java
>
>
> Just like we periodically compact the StoreFiles we should also periodically 
> compact the MemStore.
> During these compactions we eliminate deleted cells, expired cells, cells to 
> removed because of version count, etc, before we even do a memstore flush.
> Besides the optimization that we could get from this, it should also allow us 
> to remove the special handling of ICV, Increment, and Append (all of which 
> use upsert logic to avoid accumulating excessive cells in the Memstore).
> Not targeting this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to