[ 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)