HBASE-17677 ServerName parsing from directory name should be more robust to errors from guava's HostAndPort
Signed-off-by: Michael Stack <stack@apache.org>
This commit is contained in:
parent
0285cb8c4d
commit
040b2f186a
|
@ -346,7 +346,7 @@ public abstract class AbstractFSWALProvider<T extends AbstractFSWAL<?>> implemen
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
serverName = ServerName.parseServerName(logDirName);
|
serverName = ServerName.parseServerName(logDirName);
|
||||||
} catch (IllegalArgumentException ex) {
|
} catch (IllegalArgumentException|IllegalStateException ex) {
|
||||||
serverName = null;
|
serverName = null;
|
||||||
LOG.warn("Cannot parse a server name from path=" + logFile + "; " + ex.getMessage());
|
LOG.warn("Cannot parse a server name from path=" + logFile + "; " + ex.getMessage());
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ import org.apache.hadoop.fs.Path;
|
||||||
import org.apache.hadoop.hbase.HBaseTestingUtility;
|
import org.apache.hadoop.hbase.HBaseTestingUtility;
|
||||||
import org.apache.hadoop.hbase.HConstants;
|
import org.apache.hadoop.hbase.HConstants;
|
||||||
import org.apache.hadoop.hbase.KeyValueTestUtil;
|
import org.apache.hadoop.hbase.KeyValueTestUtil;
|
||||||
|
import org.apache.hadoop.hbase.ServerName;
|
||||||
import org.apache.hadoop.hbase.TableName;
|
import org.apache.hadoop.hbase.TableName;
|
||||||
// imports for things that haven't moved from regionserver.wal yet.
|
// imports for things that haven't moved from regionserver.wal yet.
|
||||||
import org.apache.hadoop.hbase.regionserver.wal.WALEdit;
|
import org.apache.hadoop.hbase.regionserver.wal.WALEdit;
|
||||||
|
@ -58,6 +59,20 @@ public class TestWALMethods {
|
||||||
|
|
||||||
private final HBaseTestingUtility util = new HBaseTestingUtility();
|
private final HBaseTestingUtility util = new HBaseTestingUtility();
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testServerNameFromWAL() throws Exception {
|
||||||
|
Path walPath = new Path("/hbase/WALs/regionserver-2.example.com,22101,1487767381290", "regionserver-2.example.com%2C22101%2C1487767381290.null0.1487785392316");
|
||||||
|
ServerName name = AbstractFSWALProvider.getServerNameFromWALDirectoryName(walPath);
|
||||||
|
assertEquals(ServerName.valueOf("regionserver-2.example.com", 22101, 1487767381290L), name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testServerNameFromTestWAL() throws Exception {
|
||||||
|
Path walPath = new Path("/user/example/test-data/12ff1404-68c6-4715-a4b9-775e763842bc/WALs/TestWALRecordReader", "TestWALRecordReader.default.1487787939118");
|
||||||
|
ServerName name = AbstractFSWALProvider.getServerNameFromWALDirectoryName(walPath);
|
||||||
|
assertNull(name);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assert that getSplitEditFilesSorted returns files in expected order and
|
* Assert that getSplitEditFilesSorted returns files in expected order and
|
||||||
* that it skips moved-aside files.
|
* that it skips moved-aside files.
|
||||||
|
|
Loading…
Reference in New Issue