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

Eshcar Hillel commented on HBASE-14919:
---------------------------------------

Went over your comments:
1. volatile - I see what you mean, but since not all the effects of volatile 
are clear (e.g., it is not cached) I prefered to keep the same behaviour as in 
master where cellset and snapshot are volatile in DefaultMemStore.

2. snapshotId - this is how snapshotId is used, the pattern is the same before 
and after the patch:
{code}
public void clearSnapshot(long id) throws UnexpectedStateException {
    ...
    if (this.snapshotId != id) {
          throw new UnexpectedStateException("Current snapshot id is " + 
this.snapshotId + ",passed " + id);
    }
    // OK. Passed in snapshot is same as current snapshot. If not-empty,
    // create a new snapshot and let the old one go.
    ...
    if (!this.snapshot.isEmpty()) {
          ...
    }
    ...
    this.snapshotId = -1;
...
}
{code}

seems nothing else to be done.
Are we good to commit?

> Infrastructure refactoring
> --------------------------
>
>                 Key: HBASE-14919
>                 URL: https://issues.apache.org/jira/browse/HBASE-14919
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 2.0.0
>            Reporter: Eshcar Hillel
>            Assignee: Eshcar Hillel
>         Attachments: HBASE-14919-V01.patch, HBASE-14919-V01.patch, 
> HBASE-14919-V02.patch, HBASE-14919-V03.patch, HBASE-14919-V04.patch, 
> HBASE-14919-V04.patch
>
>
> Refactoring the MemStore hierarchy, introducing segment (StoreSegment) as 
> first-class citizen and decoupling memstore scanner from the memstore 
> implementation.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to