[ 
https://issues.apache.org/jira/browse/HBASE-10845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-10845:
---------------------------

    Attachment: 10845-v2.txt

Patch v2 with a new test for verifying flushable size.
Without the fix, we would see:
{code}
java.lang.AssertionError: flushable size should be zero, but it is 160
        at org.junit.Assert.fail(Assert.java:88)
        at org.junit.Assert.assertTrue(Assert.java:41)
        at 
org.apache.hadoop.hbase.regionserver.TestRegionServerCoprocessorException.testExceptionFromCoprocessorDuringPostBatchMutate(TestRegionServerCoprocessorException.java:139)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
{code}
The patch includes Devaraj's fix - will remove the change in HRegion.java once 
that fix is checked in.

> Memstore snapshot size isn't updated in DefaultMemStore#rollback()
> ------------------------------------------------------------------
>
>                 Key: HBASE-10845
>                 URL: https://issues.apache.org/jira/browse/HBASE-10845
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>             Fix For: 0.99.0, 0.94.19, 0.98.2, 0.96.3
>
>         Attachments: 10845-v1.txt, 10845-v2.txt
>
>
> In DefaultMemStore#rollback() :
> {code}
>      if (found != null && found.getMvccVersion() == kv.getMvccVersion()) {
>        this.snapshot.remove(kv);
>      }
> {code}
> this.snapshotSize should be updated in case of rollback.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to