Skip to content

Commit

Permalink
HBASE-26564 Retire the method visitLogEntryBeforeWrite without Region…
Browse files Browse the repository at this point in the history
…Info in WALActionListner (#3985)

Signed-off-by: Duo Zhang <zhangduo@apache.org>
  • Loading branch information
YutSean committed Dec 28, 2021
1 parent c28a266 commit c6a2879
Show file tree
Hide file tree
Showing 11 changed files with 11 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -794,7 +794,7 @@ public TableWALActionListener(RegionInfo region) {
}

@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit) {
public void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {
if (logKey.getTableName().getNameAsString().equalsIgnoreCase(
this.regionInfo.getTable().getNameAsString()) && (!logEdit.isMetaEdit())) {
isVisited = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -813,7 +813,7 @@ public TableWALActionListener(RegionInfo region) {
}

@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit) {
public void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {
if (logKey.getTableName().getNameAsString().equalsIgnoreCase(
this.regionInfo.getTable().getNameAsString()) && (!logEdit.isMetaEdit())) {
isVisited = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1051,7 +1051,7 @@ protected final boolean appendEntry(W writer, FSWALEntry entry) throws IOExcepti
coprocessorHost.preWALWrite(entry.getRegionInfo(), entry.getKey(), entry.getEdit());
if (!listeners.isEmpty()) {
for (WALActionsListener i : listeners) {
i.visitLogEntryBeforeWrite(entry.getKey(), entry.getEdit());
i.visitLogEntryBeforeWrite(entry.getRegionInfo(), entry.getKey(), entry.getEdit());
}
}
doAppend(writer, entry);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,16 +89,6 @@ default void logCloseRequested() {}
*/
default void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {}

/**
* @param logKey
* @param logEdit TODO: Retire this in favor of
* {@link #visitLogEntryBeforeWrite(RegionInfo, WALKey, WALEdit)} It only exists to get
* scope when replicating. Scope should be in the WALKey and not need us passing in a
* <code>htd</code>.
* @throws IOException If failed to parse the WALEdit
*/
default void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit) throws IOException {}

/**
* For notification post append to the writer. Used by metrics system at least.
* TODO: Combine this with above.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.client.RegionInfo;
import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener;
import org.apache.hadoop.hbase.replication.ReplicationUtils;
import org.apache.hadoop.hbase.wal.WALEdit;
Expand Down Expand Up @@ -53,7 +54,7 @@ public void postLogRoll(Path oldPath, Path newPath) throws IOException {
}

@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit) throws IOException {
public void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {
scopeWALEdits(logKey, logEdit, conf);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.ClientServiceCallable;
import org.apache.hadoop.hbase.client.ClusterConnection;
import org.apache.hadoop.hbase.client.RegionInfo;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.RpcRetryingCaller;
Expand Down Expand Up @@ -444,7 +445,7 @@ static class FindBulkHBaseListener extends TestWALActionsListener.DummyWALAction
private boolean found = false;

@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit) {
public void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {
for (Cell cell : logEdit.getCells()) {
KeyValue kv = KeyValueUtil.ensureKeyValue(cell);
for (Map.Entry entry : kv.toStringMap().entrySet()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.RegionInfo;
import org.apache.hadoop.hbase.regionserver.wal.DamagedWALException;
import org.apache.hadoop.hbase.regionserver.wal.FSHLog;
import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener;
Expand Down Expand Up @@ -535,26 +536,6 @@ public Connection createConnection(Configuration conf) throws IOException {
}
}

static class DummyWALActionsListener implements WALActionsListener {

@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit)
throws IOException {
if (logKey.getTableName().getNameAsString().equalsIgnoreCase("sleep")) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (logKey.getTableName().getNameAsString()
.equalsIgnoreCase("DamagedWALException")) {
throw new DamagedWALException("Failed appending");
}
}

}

/**
* @return A region on which you must call {@link HBaseTestingUtility#closeRegionAndWAL(HRegion)}
* when done.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,7 @@ private AbstractFSWAL<?> createHoldingWAL(String testName, AtomicBoolean startHo
wal.init();
wal.registerWALActionsListener(new WALActionsListener() {
@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit) throws IOException {
public void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {
if (startHoldingForAppend.get()) {
try {
holdAppend.await();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,7 @@ public void testUnflushedSeqIdTracking() throws IOException, InterruptedExceptio
log.init();
log.registerWALActionsListener(new WALActionsListener() {
@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit)
throws IOException {
public void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {
if (startHoldingForAppend.get()) {
try {
holdAppend.await();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -675,13 +675,6 @@ static class DumbWALActionsListener implements WALActionsListener {
public void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {
increments++;
}

@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit) {
// To change body of implemented methods use File | Settings | File
// Templates.
increments++;
}
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ private HRegion openRegion(final FileSystem fs, final Path dir, final TableDescr
private int appends = 0;

@Override
public void visitLogEntryBeforeWrite(WALKey logKey, WALEdit logEdit) {
public void visitLogEntryBeforeWrite(RegionInfo info, WALKey logKey, WALEdit logEdit) {
this.appends++;
if (this.appends % whenToRoll == 0) {
LOG.info("Rolling after " + appends + " edits");
Expand Down

0 comments on commit c6a2879

Please sign in to comment.