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

stack commented on HBASE-8763:
------------------------------

+1 on removing waitQueue in new JIRA

bq. I'll pass HLog.NO_SEQUENCE_ID value then.

Yes.  I tried to make it so only the WAL system does the sequence id update so 
these this.sequenceId.incrementAndGet()  make me go yuck (smile)

+1 on MutableLong (I may ask you to make the same explanation again in the 
future so remember this bit of text so you can copy/paste it next time I ask).

Ok on not setting top bits. Add comments on how large needs to be 
(theoretically). Helps others coming along after better understand.

On MemStore knowing about WALKey, as in+  public void 
completeMemstoreInsertWithSeqNum(WriteEntry e, HLogKey walKey) throws 
IOException {, that is just butt ugly (pardon the technical term).  Doing 
'+import org.apache.hadoop.hbase.regionserver.wal.HLogKey;' is so ugly, I'd 
suggest we have an Interface that has one method in it -- 
waitForLogSeqNumAssigned or getSequenceId or getLogSeqNumAssigned (and just 
hide the fact that we are waiting) -- and pass that instead.

Good stuff Jay-Z



> [BRAINSTORM] Combine MVCC and SeqId
> -----------------------------------
>
>                 Key: HBASE-8763
>                 URL: https://issues.apache.org/jira/browse/HBASE-8763
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Enis Soztutar
>            Assignee: Jeffrey Zhong
>            Priority: Critical
>         Attachments: HBase MVCC & LogSeqId Combined.pdf, 
> hbase-8736-poc.patch, hbase-8763-poc-v1.patch, hbase-8763-v1.patch, 
> hbase-8763-v2.patch, hbase-8763-v3.patch, hbase-8763_wip1.patch
>
>
> HBASE-8701 and a lot of recent issues include good discussions about mvcc + 
> seqId semantics. It seems that having mvcc and the seqId complicates the 
> comparator semantics a lot in regards to flush + WAL replay + compactions + 
> delete markers and out of order puts. 
> Thinking more about it I don't think we need a MVCC write number which is 
> different than the seqId. We can keep the MVCC semantics, read point and 
> smallest read points intact, but combine mvcc write number and seqId. This 
> will allow cleaner semantics + implementation + smaller data files. 
> We can do some brainstorming for 0.98. We still have to verify that this 
> would be semantically correct, it should be so by my current understanding.



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

Reply via email to