HBASE-16190 IntegrationTestDDLMasterFailover failed with IllegalArgumentException: n must be positive (Romil Choksi and Heng Chen)
This commit is contained in:
parent
e9f5db7213
commit
17edca6346
|
@ -25,13 +25,17 @@ import java.util.Set;
|
|||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
|
||||
import org.apache.commons.lang.RandomStringUtils;
|
||||
import org.apache.commons.lang.math.RandomUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.hbase.client.*;
|
||||
import org.apache.hadoop.hbase.client.Admin;
|
||||
import org.apache.hadoop.hbase.client.Connection;
|
||||
import org.apache.hadoop.hbase.client.ConnectionFactory;
|
||||
import org.apache.hadoop.hbase.client.Put;
|
||||
import org.apache.hadoop.hbase.client.Table;
|
||||
import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
|
||||
import org.apache.hadoop.hbase.testclassification.IntegrationTests;
|
||||
import org.apache.hadoop.hbase.util.Bytes;
|
||||
import org.apache.hadoop.hbase.util.HBaseFsck;
|
||||
|
@ -246,12 +250,12 @@ public class IntegrationTestDDLMasterFailover extends IntegrationTestBase {
|
|||
// NamespaceAction has implemented selectNamespace() shared by multiple namespace Actions
|
||||
protected NamespaceDescriptor selectNamespace(
|
||||
ConcurrentHashMap<String, NamespaceDescriptor> namespaceMap) {
|
||||
// synchronization to prevent removal from multiple threads
|
||||
synchronized (namespaceMap) {
|
||||
// randomly select namespace from namespaceMap
|
||||
if (namespaceMap.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
// synchronization to prevent removal from multiple threads
|
||||
synchronized (namespaceMap) {
|
||||
ArrayList<String> namespaceList = new ArrayList<String>(namespaceMap.keySet());
|
||||
String randomKey = namespaceList.get(RandomUtils.nextInt(namespaceList.size()));
|
||||
NamespaceDescriptor randomNsd = namespaceMap.get(randomKey);
|
||||
|
@ -386,12 +390,12 @@ public class IntegrationTestDDLMasterFailover extends IntegrationTestBase {
|
|||
// TableAction has implemented selectTable() shared by multiple table Actions
|
||||
protected HTableDescriptor selectTable(ConcurrentHashMap<TableName, HTableDescriptor> tableMap)
|
||||
{
|
||||
// synchronization to prevent removal from multiple threads
|
||||
synchronized (tableMap){
|
||||
// randomly select table from tableMap
|
||||
if (tableMap.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
// synchronization to prevent removal from multiple threads
|
||||
synchronized (tableMap){
|
||||
ArrayList<TableName> tableList = new ArrayList<TableName>(tableMap.keySet());
|
||||
TableName randomKey = tableList.get(RandomUtils.nextInt(tableList.size()));
|
||||
HTableDescriptor randomHtd = tableMap.get(randomKey);
|
||||
|
|
Loading…
Reference in New Issue