HBASE-20146 Addendum Regions are stuck while opening when WAL is disabled

Signed-off-by: zhangduo <zhangduo@apache.org>
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
This commit is contained in:
Ashish Singhi 2018-03-13 15:31:39 +05:30 committed by zhangduo
parent 63ce0c0733
commit 24ea9d1e48
1 changed files with 8 additions and 1 deletions

View File

@ -32,6 +32,7 @@ import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.PrivateCellUtil; import org.apache.hadoop.hbase.PrivateCellUtil;
import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionInfo;
import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;
import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener; import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener;
import org.apache.hadoop.hbase.regionserver.wal.WALCoprocessorHost; import org.apache.hadoop.hbase.regionserver.wal.WALCoprocessorHost;
import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.FSUtils;
@ -162,7 +163,13 @@ class DisabledWALProvider implements WALProvider {
@Override @Override
public long append(RegionInfo info, WALKeyImpl key, WALEdit edits, boolean inMemstore) public long append(RegionInfo info, WALKeyImpl key, WALEdit edits, boolean inMemstore)
throws IOException { throws IOException {
key.setWriteEntry(key.getMvcc().begin()); WriteEntry writeEntry = key.getMvcc().begin();
if (!edits.isReplay()) {
for (Cell cell : edits.getCells()) {
PrivateCellUtil.setSequenceId(cell, writeEntry.getWriteNumber());
}
}
key.setWriteEntry(writeEntry);
if (!this.listeners.isEmpty()) { if (!this.listeners.isEmpty()) {
final long start = System.nanoTime(); final long start = System.nanoTime();
long len = 0; long len = 0;