HBASE-11912 Catch some bad practices at compile time with error-prone
This commit is contained in:
parent
6c7543c9c7
commit
7ed0260eff
|
@ -34,6 +34,25 @@
|
|||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -379,7 +379,7 @@ public class ClusterStatus extends VersionedWritable {
|
|||
public static ClusterStatus convert(ClusterStatusProtos.ClusterStatus proto) {
|
||||
|
||||
Map<ServerName, ServerLoad> servers = null;
|
||||
if (proto.getLiveServersList() != null) {
|
||||
if (!proto.getLiveServersList().isEmpty()) {
|
||||
servers = new HashMap<ServerName, ServerLoad>(proto.getLiveServersList().size());
|
||||
for (LiveServerInfo lsi : proto.getLiveServersList()) {
|
||||
servers.put(ProtobufUtil.toServerName(
|
||||
|
@ -388,7 +388,7 @@ public class ClusterStatus extends VersionedWritable {
|
|||
}
|
||||
|
||||
Collection<ServerName> deadServers = null;
|
||||
if (proto.getDeadServersList() != null) {
|
||||
if (!proto.getDeadServersList().isEmpty()) {
|
||||
deadServers = new ArrayList<ServerName>(proto.getDeadServersList().size());
|
||||
for (HBaseProtos.ServerName sn : proto.getDeadServersList()) {
|
||||
deadServers.add(ProtobufUtil.toServerName(sn));
|
||||
|
@ -396,7 +396,7 @@ public class ClusterStatus extends VersionedWritable {
|
|||
}
|
||||
|
||||
Collection<ServerName> backupMasters = null;
|
||||
if (proto.getBackupMastersList() != null) {
|
||||
if (!proto.getBackupMastersList().isEmpty()) {
|
||||
backupMasters = new ArrayList<ServerName>(proto.getBackupMastersList().size());
|
||||
for (HBaseProtos.ServerName sn : proto.getBackupMastersList()) {
|
||||
backupMasters.add(ProtobufUtil.toServerName(sn));
|
||||
|
@ -404,7 +404,7 @@ public class ClusterStatus extends VersionedWritable {
|
|||
}
|
||||
|
||||
Map<String, RegionState> rit = null;
|
||||
if (proto.getRegionsInTransitionList() != null) {
|
||||
if (!proto.getRegionsInTransitionList().isEmpty()) {
|
||||
rit = new HashMap<String, RegionState>(proto.getRegionsInTransitionList().size());
|
||||
for (RegionInTransition region : proto.getRegionsInTransitionList()) {
|
||||
String key = new String(region.getSpec().getValue().toByteArray());
|
||||
|
@ -414,7 +414,7 @@ public class ClusterStatus extends VersionedWritable {
|
|||
}
|
||||
|
||||
String[] masterCoprocessors = null;
|
||||
if (proto.getMasterCoprocessorsList() != null) {
|
||||
if (!proto.getMasterCoprocessorsList().isEmpty()) {
|
||||
final int numMasterCoprocessors = proto.getMasterCoprocessorsCount();
|
||||
masterCoprocessors = new String[numMasterCoprocessors];
|
||||
for (int i = 0; i < numMasterCoprocessors; i++) {
|
||||
|
|
|
@ -801,6 +801,7 @@ public class ZKUtil {
|
|||
* @throws KeeperException if unexpected zookeeper exception
|
||||
* @deprecated Unused
|
||||
*/
|
||||
@Deprecated
|
||||
public static List<NodeAndData> getChildDataAndWatchForNewChildren(
|
||||
ZooKeeperWatcher zkw, String baseNode) throws KeeperException {
|
||||
List<String> nodes =
|
||||
|
@ -833,6 +834,7 @@ public class ZKUtil {
|
|||
* @throws KeeperException.BadVersionException if version mismatch
|
||||
* @deprecated Unused
|
||||
*/
|
||||
@Deprecated
|
||||
public static void updateExistingNodeData(ZooKeeperWatcher zkw, String znode,
|
||||
byte [] data, int expectedVersion)
|
||||
throws KeeperException {
|
||||
|
|
|
@ -41,6 +41,25 @@
|
|||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -31,6 +31,25 @@
|
|||
<description>Examples of HBase usage</description>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -36,6 +36,25 @@
|
|||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -34,6 +34,25 @@ limitations under the License.
|
|||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -117,6 +117,25 @@
|
|||
</pluginManagement>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- Run integration tests with mvn verify -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
|
|
@ -33,6 +33,25 @@
|
|||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -43,7 +43,7 @@ public class TestKeyValueTool {
|
|||
|
||||
@Parameters
|
||||
public static Collection<Object[]> parameters() {
|
||||
return new TestRowData.InMemory().getAllAsObjectArray();
|
||||
return TestRowData.InMemory.getAllAsObjectArray();
|
||||
}
|
||||
|
||||
private TestRowData rows;
|
||||
|
|
|
@ -52,7 +52,7 @@ public class TestPrefixTreeSearcher {
|
|||
|
||||
@Parameters
|
||||
public static Collection<Object[]> parameters() {
|
||||
return new TestRowData.InMemory().getAllAsObjectArray();
|
||||
return TestRowData.InMemory.getAllAsObjectArray();
|
||||
}
|
||||
|
||||
protected TestRowData rows;
|
||||
|
|
|
@ -57,7 +57,7 @@ public interface TestRowData {
|
|||
|
||||
void individualSearcherAssertions(CellSearcher searcher);
|
||||
|
||||
class InMemory {
|
||||
static class InMemory {
|
||||
|
||||
/*
|
||||
* The following are different styles of data that the codec may encounter. Having these small
|
||||
|
|
|
@ -53,6 +53,20 @@
|
|||
</testResource>
|
||||
</testResources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- We can't check tests with default-testCompile because of generated
|
||||
protobuf code (IncrementCounterProcessorTestProtos) -->
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -238,6 +238,7 @@ public class HTableWrapper implements HTableInterface {
|
|||
* @deprecated If any exception is thrown by one of the actions, there is no way to
|
||||
* retrieve the partially executed results. Use {@link #batch(List, Object[])} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
@Override
|
||||
public Object[] batch(List<? extends Row> actions)
|
||||
throws IOException, InterruptedException {
|
||||
|
@ -257,6 +258,7 @@ public class HTableWrapper implements HTableInterface {
|
|||
* {@link #batchCallback(List, Object[], org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)}
|
||||
* instead.
|
||||
*/
|
||||
@Deprecated
|
||||
@Override
|
||||
public <R> Object[] batchCallback(List<? extends Row> actions,
|
||||
Batch.Callback<R> callback) throws IOException, InterruptedException {
|
||||
|
|
|
@ -118,6 +118,7 @@ public interface RegionObserver extends Coprocessor {
|
|||
* @throws IOException if an error occurred on the coprocessor
|
||||
* @deprecated use {@link #preFlush(ObserverContext, Store, InternalScanner)} instead
|
||||
*/
|
||||
@Deprecated
|
||||
void preFlush(final ObserverContext<RegionCoprocessorEnvironment> c) throws IOException;
|
||||
|
||||
/**
|
||||
|
@ -138,6 +139,7 @@ public interface RegionObserver extends Coprocessor {
|
|||
* @throws IOException if an error occurred on the coprocessor
|
||||
* @deprecated use {@link #preFlush(ObserverContext, Store, InternalScanner)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
void postFlush(final ObserverContext<RegionCoprocessorEnvironment> c) throws IOException;
|
||||
|
||||
/**
|
||||
|
@ -339,6 +341,7 @@ public interface RegionObserver extends Coprocessor {
|
|||
* @deprecated Use preSplit(
|
||||
* final ObserverContext<RegionCoprocessorEnvironment> c, byte[] splitRow)
|
||||
*/
|
||||
@Deprecated
|
||||
void preSplit(final ObserverContext<RegionCoprocessorEnvironment> c) throws IOException;
|
||||
|
||||
/**
|
||||
|
@ -359,6 +362,7 @@ public interface RegionObserver extends Coprocessor {
|
|||
* @throws IOException if an error occurred on the coprocessor
|
||||
* @deprecated Use postCompleteSplit() instead
|
||||
*/
|
||||
@Deprecated
|
||||
void postSplit(final ObserverContext<RegionCoprocessorEnvironment> c, final HRegion l,
|
||||
final HRegion r) throws IOException;
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ public class OfflineMetaRepair {
|
|||
for (int i = 0; i < args.length; i++) {
|
||||
String cmd = args[i];
|
||||
if (cmd.equals("-details")) {
|
||||
fsck.setDisplayFullReport();
|
||||
HBaseFsck.setDisplayFullReport();
|
||||
} else if (cmd.equals("-base")) {
|
||||
if (i == args.length - 1) {
|
||||
System.err.println("OfflineMetaRepair: -base needs an HDFS path.");
|
||||
|
|
|
@ -52,6 +52,7 @@ import org.apache.hadoop.hdfs.MiniDFSCluster;
|
|||
* like an HBaseConfiguration and filesystem.
|
||||
* @deprecated Write junit4 unit tests using {@link HBaseTestingUtility}
|
||||
*/
|
||||
@Deprecated
|
||||
public abstract class HBaseTestCase extends TestCase {
|
||||
private static final Log LOG = LogFactory.getLog(HBaseTestCase.class);
|
||||
|
||||
|
@ -111,12 +112,12 @@ public abstract class HBaseTestCase extends TestCase {
|
|||
}
|
||||
try {
|
||||
if (localfs) {
|
||||
this.testDir = getUnitTestdir(getName());
|
||||
testDir = getUnitTestdir(getName());
|
||||
if (fs.exists(testDir)) {
|
||||
fs.delete(testDir, true);
|
||||
}
|
||||
} else {
|
||||
this.testDir = FSUtils.getRootDir(conf);
|
||||
testDir = FSUtils.getRootDir(conf);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LOG.fatal("error during setup", e);
|
||||
|
|
|
@ -198,7 +198,7 @@ public class TestMasterCoprocessorExceptionWithAbort {
|
|||
// Test (part of the) output that should have be printed by master when it aborts:
|
||||
// (namely the part that shows the set of loaded coprocessors).
|
||||
// In this test, there is only a single coprocessor (BuggyMasterObserver).
|
||||
assertTrue(master.getLoadedCoprocessors().
|
||||
assertTrue(HMaster.getLoadedCoprocessors().
|
||||
contains(TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.class.getName()));
|
||||
|
||||
CreateTableThread createTableThread = new CreateTableThread(UTIL);
|
||||
|
|
|
@ -39,6 +39,7 @@ import org.apache.commons.logging.Log;
|
|||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.hadoop.hbase.KeyValue;
|
||||
import org.apache.hadoop.hbase.client.Delete;
|
||||
import org.apache.hadoop.hbase.client.Mutation;
|
||||
import org.apache.hadoop.hbase.client.Put;
|
||||
import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;
|
||||
import org.apache.hadoop.hbase.io.hfile.LruCachedBlock;
|
||||
|
@ -372,7 +373,7 @@ public class TestHeapSize {
|
|||
|
||||
byte[] row = new byte[] { 0 };
|
||||
cl = Put.class;
|
||||
actual = new Put(row).MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
|
||||
actual = Mutation.MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
|
||||
expected = ClassSize.estimateBase(cl, false);
|
||||
//The actual TreeMap is not included in the above calculation
|
||||
expected += ClassSize.align(ClassSize.TREEMAP);
|
||||
|
@ -382,7 +383,7 @@ public class TestHeapSize {
|
|||
}
|
||||
|
||||
cl = Delete.class;
|
||||
actual = new Delete(row).MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
|
||||
actual = Mutation.MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
|
||||
expected = ClassSize.estimateBase(cl, false);
|
||||
//The actual TreeMap is not included in the above calculation
|
||||
expected += ClassSize.align(ClassSize.TREEMAP);
|
||||
|
|
|
@ -60,8 +60,7 @@ public class TestScannerSelectionUsingTTL {
|
|||
private static final Log LOG =
|
||||
LogFactory.getLog(TestScannerSelectionUsingTTL.class);
|
||||
|
||||
private static final HBaseTestingUtility TEST_UTIL =
|
||||
new HBaseTestingUtility().createLocalHTU();
|
||||
private static final HBaseTestingUtility TEST_UTIL = HBaseTestingUtility.createLocalHTU();
|
||||
private static TableName TABLE = TableName.valueOf("myTable");
|
||||
private static String FAMILY = "myCF";
|
||||
private static byte[] FAMILY_BYTES = Bytes.toBytes(FAMILY);
|
||||
|
|
|
@ -71,7 +71,7 @@ public class TestSeekTo extends HBaseTestCase {
|
|||
}
|
||||
|
||||
Path makeNewFile(TagUsage tagUsage) throws IOException {
|
||||
Path ncTFile = new Path(this.testDir, "basic.hfile");
|
||||
Path ncTFile = new Path(testDir, "basic.hfile");
|
||||
if (tagUsage != TagUsage.NO_TAG) {
|
||||
conf.setInt("hfile.format.version", 3);
|
||||
} else {
|
||||
|
|
|
@ -795,7 +795,7 @@ public class TestHFileOutputFormat {
|
|||
HTable table = Mockito.mock(HTable.class);
|
||||
HTableDescriptor htd = new HTableDescriptor(TABLE_NAME);
|
||||
Mockito.doReturn(htd).when(table).getTableDescriptor();
|
||||
for (HColumnDescriptor hcd: this.util.generateColumnDescriptors()) {
|
||||
for (HColumnDescriptor hcd: HBaseTestingUtility.generateColumnDescriptors()) {
|
||||
htd.addFamily(hcd);
|
||||
}
|
||||
|
||||
|
|
|
@ -77,37 +77,42 @@ public class TestTableSnapshotInputFormat extends TableSnapshotInputFormatTestBa
|
|||
Configuration conf = UTIL.getConfiguration();
|
||||
|
||||
HDFSBlocksDistribution blockDistribution = new HDFSBlocksDistribution();
|
||||
Assert.assertEquals(Lists.newArrayList(), tsif.getBestLocations(conf, blockDistribution));
|
||||
Assert.assertEquals(Lists.newArrayList(),
|
||||
TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
|
||||
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h1"}, 1);
|
||||
Assert.assertEquals(Lists.newArrayList("h1"), tsif.getBestLocations(conf, blockDistribution));
|
||||
Assert.assertEquals(Lists.newArrayList("h1"),
|
||||
TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
|
||||
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h1"}, 1);
|
||||
Assert.assertEquals(Lists.newArrayList("h1"), tsif.getBestLocations(conf, blockDistribution));
|
||||
Assert.assertEquals(Lists.newArrayList("h1"),
|
||||
TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
|
||||
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h2"}, 1);
|
||||
Assert.assertEquals(Lists.newArrayList("h1"), tsif.getBestLocations(conf, blockDistribution));
|
||||
Assert.assertEquals(Lists.newArrayList("h1"),
|
||||
TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
|
||||
|
||||
blockDistribution = new HDFSBlocksDistribution();
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h1"}, 10);
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h2"}, 7);
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h3"}, 5);
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h4"}, 1);
|
||||
Assert.assertEquals(Lists.newArrayList("h1"), tsif.getBestLocations(conf, blockDistribution));
|
||||
Assert.assertEquals(Lists.newArrayList("h1"),
|
||||
TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
|
||||
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h2"}, 2);
|
||||
Assert.assertEquals(Lists.newArrayList("h1", "h2"),
|
||||
tsif.getBestLocations(conf, blockDistribution));
|
||||
TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
|
||||
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h2"}, 3);
|
||||
Assert.assertEquals(Lists.newArrayList("h2", "h1"),
|
||||
tsif.getBestLocations(conf, blockDistribution));
|
||||
TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
|
||||
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h3"}, 6);
|
||||
blockDistribution.addHostsAndBlockWeight(new String[] {"h4"}, 9);
|
||||
|
||||
Assert.assertEquals(Lists.newArrayList("h2", "h3", "h4", "h1"),
|
||||
tsif.getBestLocations(conf, blockDistribution));
|
||||
TableSnapshotInputFormatImpl.getBestLocations(conf, blockDistribution));
|
||||
}
|
||||
|
||||
public static enum TestTableSnapshotCounters {
|
||||
|
|
|
@ -97,7 +97,7 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
final HRegionInfo hri =
|
||||
new HRegionInfo(TableName.valueOf("testBasicHalfMapFileTb"));
|
||||
HRegionFileSystem regionFs = HRegionFileSystem.createRegionOnFileSystem(
|
||||
conf, fs, new Path(this.testDir, hri.getTable().getNameAsString()), hri);
|
||||
conf, fs, new Path(testDir, hri.getTable().getNameAsString()), hri);
|
||||
|
||||
HFileContext meta = new HFileContextBuilder().withBlockSize(2*1024).build();
|
||||
StoreFile.Writer writer = new StoreFile.WriterBuilder(conf, cacheConf, this.fs)
|
||||
|
@ -148,7 +148,7 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
public void testReference() throws IOException {
|
||||
final HRegionInfo hri = new HRegionInfo(TableName.valueOf("testReferenceTb"));
|
||||
HRegionFileSystem regionFs = HRegionFileSystem.createRegionOnFileSystem(
|
||||
conf, fs, new Path(this.testDir, hri.getTable().getNameAsString()), hri);
|
||||
conf, fs, new Path(testDir, hri.getTable().getNameAsString()), hri);
|
||||
|
||||
HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
|
||||
// Make a store file and write data to it.
|
||||
|
@ -192,9 +192,9 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
final HRegionInfo hri = new HRegionInfo(TableName.valueOf("testHFileLinkTb"));
|
||||
// force temp data in hbase/target/test-data instead of /tmp/hbase-xxxx/
|
||||
Configuration testConf = new Configuration(this.conf);
|
||||
FSUtils.setRootDir(testConf, this.testDir);
|
||||
FSUtils.setRootDir(testConf, testDir);
|
||||
HRegionFileSystem regionFs = HRegionFileSystem.createRegionOnFileSystem(
|
||||
testConf, fs, FSUtils.getTableDir(this.testDir, hri.getTable()), hri);
|
||||
testConf, fs, FSUtils.getTableDir(testDir, hri.getTable()), hri);
|
||||
HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
|
||||
|
||||
// Make a store file and write data to it.
|
||||
|
@ -233,12 +233,12 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
public void testReferenceToHFileLink() throws IOException {
|
||||
// force temp data in hbase/target/test-data instead of /tmp/hbase-xxxx/
|
||||
Configuration testConf = new Configuration(this.conf);
|
||||
FSUtils.setRootDir(testConf, this.testDir);
|
||||
FSUtils.setRootDir(testConf, testDir);
|
||||
|
||||
// adding legal table name chars to verify regex handles it.
|
||||
HRegionInfo hri = new HRegionInfo(TableName.valueOf("_original-evil-name"));
|
||||
HRegionFileSystem regionFs = HRegionFileSystem.createRegionOnFileSystem(
|
||||
testConf, fs, FSUtils.getTableDir(this.testDir, hri.getTable()), hri);
|
||||
testConf, fs, FSUtils.getTableDir(testDir, hri.getTable()), hri);
|
||||
|
||||
HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
|
||||
// Make a store file and write data to it. <root>/<tablename>/<rgn>/<cf>/<file>
|
||||
|
@ -252,7 +252,7 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
// create link to store file. <root>/clone/region/<cf>/<hfile>-<region>-<table>
|
||||
HRegionInfo hriClone = new HRegionInfo(TableName.valueOf("clone"));
|
||||
HRegionFileSystem cloneRegionFs = HRegionFileSystem.createRegionOnFileSystem(
|
||||
testConf, fs, FSUtils.getTableDir(this.testDir, hri.getTable()),
|
||||
testConf, fs, FSUtils.getTableDir(testDir, hri.getTable()),
|
||||
hriClone);
|
||||
Path dstPath = cloneRegionFs.getStoreDir(TEST_FAMILY);
|
||||
HFileLink.create(testConf, this.fs, dstPath, hri, storeFilePath.getName());
|
||||
|
@ -269,7 +269,7 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
Path pathB = splitStoreFile(cloneRegionFs, splitHriB, TEST_FAMILY, f, SPLITKEY, false);// bottom
|
||||
|
||||
// OK test the thing
|
||||
FSUtils.logFileSystemState(fs, this.testDir, LOG);
|
||||
FSUtils.logFileSystemState(fs, testDir, LOG);
|
||||
|
||||
// There is a case where a file with the hfilelink pattern is actually a daughter
|
||||
// reference to a hfile link. This code in StoreFile that handles this case.
|
||||
|
@ -774,7 +774,7 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
Scan scan = new Scan();
|
||||
|
||||
// Make up a directory hierarchy that has a regiondir ("7e0102") and familyname.
|
||||
Path storedir = new Path(new Path(this.testDir, "7e0102"), "familyname");
|
||||
Path storedir = new Path(new Path(testDir, "7e0102"), "familyname");
|
||||
Path dir = new Path(storedir, "1234567890");
|
||||
HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
|
||||
// Make a store file and write data to it.
|
||||
|
@ -820,7 +820,7 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
Configuration conf = this.conf;
|
||||
|
||||
// Find a home for our files (regiondir ("7e0102") and familyname).
|
||||
Path baseDir = new Path(new Path(this.testDir, "7e0102"),"twoCOWEOC");
|
||||
Path baseDir = new Path(new Path(testDir, "7e0102"),"twoCOWEOC");
|
||||
|
||||
// Grab the block cache and get the initial hit/miss counts
|
||||
BlockCache bc = new CacheConfig(conf).getBlockCache();
|
||||
|
@ -990,7 +990,7 @@ public class TestStoreFile extends HBaseTestCase {
|
|||
*/
|
||||
public void testDataBlockEncodingMetaData() throws IOException {
|
||||
// Make up a directory hierarchy that has a regiondir ("7e0102") and familyname.
|
||||
Path dir = new Path(new Path(this.testDir, "7e0102"), "familyname");
|
||||
Path dir = new Path(new Path(testDir, "7e0102"), "familyname");
|
||||
Path path = new Path(dir, "1234567890");
|
||||
|
||||
DataBlockEncoding dataBlockEncoderAlgo =
|
||||
|
|
|
@ -155,6 +155,8 @@ public class TestHBaseFsck {
|
|||
TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager();
|
||||
regionStates = assignmentManager.getRegionStates();
|
||||
TEST_UTIL.getHBaseAdmin().setBalancerRunning(false, true);
|
||||
|
||||
HBaseFsck.setDisplayFullReport();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
|
@ -966,7 +968,6 @@ public class TestHBaseFsck {
|
|||
// fix the problem.
|
||||
HBaseFsck fsck = new HBaseFsck(conf);
|
||||
fsck.connect();
|
||||
fsck.setDisplayFullReport(); // i.e. -details
|
||||
fsck.setTimeLag(0);
|
||||
fsck.setFixAssignments(true);
|
||||
fsck.setFixMeta(true);
|
||||
|
@ -1558,7 +1559,6 @@ public class TestHBaseFsck {
|
|||
// fix lingering split parent
|
||||
hbck = new HBaseFsck(conf);
|
||||
hbck.connect();
|
||||
hbck.setDisplayFullReport(); // i.e. -details
|
||||
hbck.setTimeLag(0);
|
||||
hbck.setFixSplitParents(true);
|
||||
hbck.onlineHbck();
|
||||
|
@ -1813,7 +1813,6 @@ public class TestHBaseFsck {
|
|||
// verify that noHdfsChecking report the same errors
|
||||
HBaseFsck fsck = new HBaseFsck(conf);
|
||||
fsck.connect();
|
||||
fsck.setDisplayFullReport(); // i.e. -details
|
||||
fsck.setTimeLag(0);
|
||||
fsck.setCheckHdfs(false);
|
||||
fsck.onlineHbck();
|
||||
|
@ -1823,7 +1822,6 @@ public class TestHBaseFsck {
|
|||
// verify that fixAssignments works fine with noHdfsChecking
|
||||
fsck = new HBaseFsck(conf);
|
||||
fsck.connect();
|
||||
fsck.setDisplayFullReport(); // i.e. -details
|
||||
fsck.setTimeLag(0);
|
||||
fsck.setCheckHdfs(false);
|
||||
fsck.setFixAssignments(true);
|
||||
|
@ -1863,7 +1861,6 @@ public class TestHBaseFsck {
|
|||
// verify that noHdfsChecking report the same errors
|
||||
HBaseFsck fsck = new HBaseFsck(conf);
|
||||
fsck.connect();
|
||||
fsck.setDisplayFullReport(); // i.e. -details
|
||||
fsck.setTimeLag(0);
|
||||
fsck.setCheckHdfs(false);
|
||||
fsck.onlineHbck();
|
||||
|
@ -1873,7 +1870,6 @@ public class TestHBaseFsck {
|
|||
// verify that fixMeta doesn't work with noHdfsChecking
|
||||
fsck = new HBaseFsck(conf);
|
||||
fsck.connect();
|
||||
fsck.setDisplayFullReport(); // i.e. -details
|
||||
fsck.setTimeLag(0);
|
||||
fsck.setCheckHdfs(false);
|
||||
fsck.setFixAssignments(true);
|
||||
|
@ -1927,7 +1923,6 @@ public class TestHBaseFsck {
|
|||
// verify that noHdfsChecking can't detect ORPHAN_HDFS_REGION
|
||||
HBaseFsck fsck = new HBaseFsck(conf);
|
||||
fsck.connect();
|
||||
fsck.setDisplayFullReport(); // i.e. -details
|
||||
fsck.setTimeLag(0);
|
||||
fsck.setCheckHdfs(false);
|
||||
fsck.onlineHbck();
|
||||
|
@ -1937,7 +1932,6 @@ public class TestHBaseFsck {
|
|||
// verify that fixHdfsHoles doesn't work with noHdfsChecking
|
||||
fsck = new HBaseFsck(conf);
|
||||
fsck.connect();
|
||||
fsck.setDisplayFullReport(); // i.e. -details
|
||||
fsck.setTimeLag(0);
|
||||
fsck.setCheckHdfs(false);
|
||||
fsck.setFixHdfsHoles(true);
|
||||
|
|
|
@ -147,15 +147,14 @@ public class TestMergeTool extends HBaseTestCase {
|
|||
try {
|
||||
// Create meta region
|
||||
createMetaRegion();
|
||||
new FSTableDescriptors(this.conf, this.fs, this.testDir).createTableDescriptor(
|
||||
new FSTableDescriptors(this.conf, this.fs, testDir).createTableDescriptor(
|
||||
new TableDescriptor(this.desc));
|
||||
/*
|
||||
* Create the regions we will merge
|
||||
*/
|
||||
for (int i = 0; i < sourceRegions.length; i++) {
|
||||
regions[i] =
|
||||
HRegion.createHRegion(this.sourceRegions[i], this.testDir, this.conf,
|
||||
this.desc);
|
||||
HRegion.createHRegion(this.sourceRegions[i], testDir, this.conf, this.desc);
|
||||
/*
|
||||
* Insert data
|
||||
*/
|
||||
|
|
|
@ -50,7 +50,7 @@ public class HbckTestingUtil {
|
|||
TableName table) throws Exception {
|
||||
HBaseFsck fsck = new HBaseFsck(conf, exec);
|
||||
fsck.connect();
|
||||
fsck.setDisplayFullReport(); // i.e. -details
|
||||
HBaseFsck.setDisplayFullReport(); // i.e. -details
|
||||
fsck.setTimeLag(0);
|
||||
fsck.setFixAssignments(fixAssignments);
|
||||
fsck.setFixMeta(fixMeta);
|
||||
|
|
|
@ -50,6 +50,25 @@
|
|||
</testResource>
|
||||
</testResources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -46,6 +46,25 @@
|
|||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<configuration>
|
||||
<compilerId>javac-with-errorprone</compilerId>
|
||||
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -235,6 +235,7 @@ public class HTablePool implements Closeable {
|
|||
* the proxy table user got from pool
|
||||
* @deprecated
|
||||
*/
|
||||
@Deprecated
|
||||
public void putTable(HTableInterface table) throws IOException {
|
||||
// we need to be sure nobody puts a proxy implementation in the pool
|
||||
// but if the client code is not updated
|
||||
|
@ -395,6 +396,7 @@ public class HTablePool implements Closeable {
|
|||
* @deprecated If any exception is thrown by one of the actions, there is no way to
|
||||
* retrieve the partially executed results. Use {@link #batch(List, Object[])} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
@Override
|
||||
public Object[] batch(List<? extends Row> actions) throws IOException,
|
||||
InterruptedException {
|
||||
|
@ -588,6 +590,7 @@ public class HTablePool implements Closeable {
|
|||
* {@link #batchCallback(List, Object[], org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)}
|
||||
* instead.
|
||||
*/
|
||||
@Deprecated
|
||||
@Override
|
||||
public <R> Object[] batchCallback(List<? extends Row> actions,
|
||||
Callback<R> callback) throws IOException, InterruptedException {
|
||||
|
|
19
pom.xml
19
pom.xml
|
@ -441,7 +441,7 @@
|
|||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>2.5.1</version>
|
||||
<version>3.2</version>
|
||||
<configuration>
|
||||
<source>${compileSource}</source>
|
||||
<target>${compileSource}</target>
|
||||
|
@ -449,6 +449,23 @@
|
|||
<showDeprecation>false</showDeprecation>
|
||||
<compilerArgument>-Xlint:-options</compilerArgument>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.google.errorprone</groupId>
|
||||
<artifactId>error_prone_core</artifactId>
|
||||
<version>1.1.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-compiler-javac</artifactId>
|
||||
<version>2.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-compiler-javac-errorprone</artifactId>
|
||||
<version>2.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<!-- Test oriented plugins -->
|
||||
<plugin>
|
||||
|
|
Loading…
Reference in New Issue