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