[
https://issues.apache.org/jira/browse/HBASE-20066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16375866#comment-16375866
]
Duo Zhang commented on HBASE-20066:
-----------------------------------
{quote}
Could we write it into the split/merge procedure persisted to the Pv2 WAL log
{quote}
In the current architecture it is not easy, the Pv2 WAL log is for master only,
but we need this value at RS side also, we need to allocate new sequence id
start from this value.
{quote}
On writing the OPEN event to the WAL, we write it before successful OPEN?
{quote}
The executing sequence is like this:
1. Open region(including replay log and find max sequence id)
2. Write OPEN event to WAL
3. Call reportTransition, and master will update meta to OPENED. After this
step we can say that the region has already been opened on the given RS.
4. RS put the region into the online regions map.
So in general, we write OPEN event to WAL after we successfully opened the
region at RS side, but before updating the meta so master do not know this, and
it has not been added to online regions yet so no one can access it yet.
> Region sequence id may go backward after split or merge
> -------------------------------------------------------
>
> Key: HBASE-20066
> URL: https://issues.apache.org/jira/browse/HBASE-20066
> Project: HBase
> Issue Type: Bug
> Reporter: Duo Zhang
> Priority: Critical
>
> The problem is that, now we have markers which will be written to WAL but not
> in store file. For a normal region close, we will write a sequence id file
> under the region directory, and when opening we will use this as the open
> sequence id. But for split and merge, we do not copy the sequence id file to
> the newly generated regions so the sequence id may go backwards since when
> closing the region we will write flush marker and close marker into WAL...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)