HBASE-18434 Address some alerts raised by lgtm.com

Signed-off-by: Ramkrishna <ramkrishna.s.vasudevan@intel.com>
This commit is contained in:
Malcolm Taylor 2017-07-22 10:40:27 +01:00 committed by Ramkrishna
parent 2fd8e824d5
commit 421029d0c7
10 changed files with 125 additions and 115 deletions

View File

@ -91,21 +91,22 @@ class NettyRpcDuplexHandler extends ChannelDuplexHandler {
: sizeWithoutCellBlock; : sizeWithoutCellBlock;
ByteBuf buf = ctx.alloc().buffer(sizeWithoutCellBlock + 4); ByteBuf buf = ctx.alloc().buffer(sizeWithoutCellBlock + 4);
buf.writeInt(totalSize); buf.writeInt(totalSize);
ByteBufOutputStream bbos = new ByteBufOutputStream(buf); try (ByteBufOutputStream bbos = new ByteBufOutputStream(buf)) {
requestHeader.writeDelimitedTo(bbos); requestHeader.writeDelimitedTo(bbos);
if (call.param != null) { if (call.param != null) {
call.param.writeDelimitedTo(bbos); call.param.writeDelimitedTo(bbos);
} }
if (cellBlock != null) { if (cellBlock != null) {
ChannelPromise withoutCellBlockPromise = ctx.newPromise(); ChannelPromise withoutCellBlockPromise = ctx.newPromise();
ctx.write(buf, withoutCellBlockPromise); ctx.write(buf, withoutCellBlockPromise);
ChannelPromise cellBlockPromise = ctx.newPromise(); ChannelPromise cellBlockPromise = ctx.newPromise();
ctx.write(cellBlock, cellBlockPromise); ctx.write(cellBlock, cellBlockPromise);
PromiseCombiner combiner = new PromiseCombiner(); PromiseCombiner combiner = new PromiseCombiner();
combiner.addAll(withoutCellBlockPromise, cellBlockPromise); combiner.addAll(withoutCellBlockPromise, cellBlockPromise);
combiner.finish(promise); combiner.finish(promise);
} else { } else {
ctx.write(buf, promise); ctx.write(buf, promise);
}
} }
} }

View File

@ -1930,21 +1930,21 @@ public class ZKUtil {
socket.connect(sockAddr, timeout); socket.connect(sockAddr, timeout);
socket.setSoTimeout(timeout); socket.setSoTimeout(timeout);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true); try (PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader( BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
socket.getInputStream())); out.println("stat");
out.println("stat"); out.flush();
out.flush(); ArrayList<String> res = new ArrayList<>();
ArrayList<String> res = new ArrayList<>(); while (true) {
while (true) { String line = in.readLine();
String line = in.readLine(); if (line != null) {
if (line != null) { res.add(line);
res.add(line); } else {
} else { break;
break; }
} }
return res.toArray(new String[res.size()]);
} }
return res.toArray(new String[res.size()]);
} }
} }

View File

@ -315,7 +315,7 @@ public final class BucketAllocator {
this.bucketSizes = bucketSizes == null ? DEFAULT_BUCKET_SIZES : bucketSizes; this.bucketSizes = bucketSizes == null ? DEFAULT_BUCKET_SIZES : bucketSizes;
Arrays.sort(this.bucketSizes); Arrays.sort(this.bucketSizes);
this.bigItemSize = Ints.max(this.bucketSizes); this.bigItemSize = Ints.max(this.bucketSizes);
this.bucketCapacity = FEWEST_ITEMS_IN_BUCKET * bigItemSize; this.bucketCapacity = FEWEST_ITEMS_IN_BUCKET * (long) bigItemSize;
buckets = new Bucket[(int) (availableSpace / bucketCapacity)]; buckets = new Bucket[(int) (availableSpace / bucketCapacity)];
if (buckets.length < this.bucketSizes.length) if (buckets.length < this.bucketSizes.length)
throw new BucketAllocatorException("Bucket allocator size too small (" + buckets.length + throw new BucketAllocatorException("Bucket allocator size too small (" + buckets.length +

View File

@ -54,60 +54,61 @@ public class MasterDumpServlet extends StateDumpServlet {
response.setContentType("text/plain"); response.setContentType("text/plain");
OutputStream os = response.getOutputStream(); OutputStream os = response.getOutputStream();
PrintWriter out = new PrintWriter(os); try (PrintWriter out = new PrintWriter(os)) {
out.println("Master status for " + master.getServerName() out.println("Master status for " + master.getServerName()
+ " as of " + new Date()); + " as of " + new Date());
out.println("\n\nVersion Info:"); out.println("\n\nVersion Info:");
out.println(LINE); out.println(LINE);
dumpVersionInfo(out); dumpVersionInfo(out);
out.println("\n\nTasks:"); out.println("\n\nTasks:");
out.println(LINE); out.println(LINE);
TaskMonitor.get().dumpAsText(out); TaskMonitor.get().dumpAsText(out);
out.println("\n\nServers:"); out.println("\n\nServers:");
out.println(LINE); out.println(LINE);
dumpServers(master, out); dumpServers(master, out);
out.println("\n\nRegions-in-transition:"); out.println("\n\nRegions-in-transition:");
out.println(LINE); out.println(LINE);
dumpRIT(master, out); dumpRIT(master, out);
out.println("\n\nExecutors:"); out.println("\n\nExecutors:");
out.println(LINE); out.println(LINE);
dumpExecutors(master.getExecutorService(), out); dumpExecutors(master.getExecutorService(), out);
out.println("\n\nStacks:"); out.println("\n\nStacks:");
out.println(LINE); out.println(LINE);
out.flush(); out.flush();
PrintStream ps = new PrintStream(response.getOutputStream(), false, "UTF-8"); PrintStream ps = new PrintStream(response.getOutputStream(), false, "UTF-8");
Threads.printThreadInfo(ps, ""); Threads.printThreadInfo(ps, "");
ps.flush(); ps.flush();
out.println("\n\nMaster configuration:"); out.println("\n\nMaster configuration:");
out.println(LINE); out.println(LINE);
Configuration conf = master.getConfiguration(); Configuration conf = master.getConfiguration();
out.flush(); out.flush();
conf.writeXml(os); conf.writeXml(os);
os.flush(); os.flush();
out.println("\n\nRecent regionserver aborts:"); out.println("\n\nRecent regionserver aborts:");
out.println(LINE); out.println(LINE);
master.getRegionServerFatalLogBuffer().dumpTo(out); master.getRegionServerFatalLogBuffer().dumpTo(out);
out.println("\n\nLogs"); out.println("\n\nLogs");
out.println(LINE); out.println(LINE);
long tailKb = getTailKbParam(request); long tailKb = getTailKbParam(request);
LogMonitoring.dumpTailOfLogs(out, tailKb); LogMonitoring.dumpTailOfLogs(out, tailKb);
out.println("\n\nRS Queue:"); out.println("\n\nRS Queue:");
out.println(LINE); out.println(LINE);
if(isShowQueueDump(conf)) { if (isShowQueueDump(conf)) {
RSDumpServlet.dumpQueue(master, out); RSDumpServlet.dumpQueue(master, out);
}
out.flush();
} }
out.flush();
} }

View File

@ -1291,7 +1291,7 @@ public class MasterRpcServices extends RSRpcServices
throws ServiceException { throws ServiceException {
try { try {
master.checkInitialized(); master.checkInitialized();
Boolean result = master.getHFileCleaner().runCleaner() && master.getLogCleaner().runCleaner(); boolean result = master.getHFileCleaner().runCleaner() && master.getLogCleaner().runCleaner();
return ResponseConverter.buildRunCleanerChoreResponse(result); return ResponseConverter.buildRunCleanerChoreResponse(result);
} catch (IOException ioe) { } catch (IOException ioe) {
throw new ServiceException(ioe); throw new ServiceException(ioe);

View File

@ -55,52 +55,53 @@ public class RSDumpServlet extends StateDumpServlet {
} }
OutputStream os = response.getOutputStream(); OutputStream os = response.getOutputStream();
PrintWriter out = new PrintWriter(os); try (PrintWriter out = new PrintWriter(os)) {
out.println("RegionServer status for " + hrs.getServerName() out.println("RegionServer status for " + hrs.getServerName()
+ " as of " + new Date()); + " as of " + new Date());
out.println("\n\nVersion Info:"); out.println("\n\nVersion Info:");
out.println(LINE); out.println(LINE);
dumpVersionInfo(out); dumpVersionInfo(out);
out.println("\n\nTasks:"); out.println("\n\nTasks:");
out.println(LINE); out.println(LINE);
TaskMonitor.get().dumpAsText(out); TaskMonitor.get().dumpAsText(out);
out.println("\n\nRowLocks:"); out.println("\n\nRowLocks:");
out.println(LINE); out.println(LINE);
dumpRowLock(hrs, out); dumpRowLock(hrs, out);
out.println("\n\nExecutors:"); out.println("\n\nExecutors:");
out.println(LINE); out.println(LINE);
dumpExecutors(hrs.getExecutorService(), out); dumpExecutors(hrs.getExecutorService(), out);
out.println("\n\nStacks:"); out.println("\n\nStacks:");
out.println(LINE); out.println(LINE);
PrintStream ps = new PrintStream(response.getOutputStream(), false, "UTF-8"); PrintStream ps = new PrintStream(response.getOutputStream(), false, "UTF-8");
Threads.printThreadInfo(ps, ""); Threads.printThreadInfo(ps, "");
ps.flush(); ps.flush();
out.println("\n\nRS Configuration:"); out.println("\n\nRS Configuration:");
out.println(LINE); out.println(LINE);
Configuration conf = hrs.getConfiguration(); Configuration conf = hrs.getConfiguration();
out.flush(); out.flush();
conf.writeXml(os); conf.writeXml(os);
os.flush(); os.flush();
out.println("\n\nLogs"); out.println("\n\nLogs");
out.println(LINE); out.println(LINE);
long tailKb = getTailKbParam(request); long tailKb = getTailKbParam(request);
LogMonitoring.dumpTailOfLogs(out, tailKb); LogMonitoring.dumpTailOfLogs(out, tailKb);
out.println("\n\nRS Queue:"); out.println("\n\nRS Queue:");
out.println(LINE); out.println(LINE);
if(isShowQueueDump(conf)) { if (isShowQueueDump(conf)) {
dumpQueue(hrs, out); dumpQueue(hrs, out);
}
out.flush();
} }
out.flush();
} }
public static void dumpRowLock(HRegionServer hrs, PrintWriter out) { public static void dumpRowLock(HRegionServer hrs, PrintWriter out) {

View File

@ -101,10 +101,9 @@ public class FIFOCompactionPolicy extends ExploringCompactionPolicy {
long currentTime = EnvironmentEdgeManager.currentTime(); long currentTime = EnvironmentEdgeManager.currentTime();
for(StoreFile sf: files){ for(StoreFile sf: files){
// Check MIN_VERSIONS is in HStore removeUnneededFiles // Check MIN_VERSIONS is in HStore removeUnneededFiles
Long maxTs = sf.getReader().getMaxTimestamp(); long maxTs = sf.getReader().getMaxTimestamp();
long maxTtl = storeConfigInfo.getStoreFileTtl(); long maxTtl = storeConfigInfo.getStoreFileTtl();
if(maxTs == null if (maxTtl == Long.MAX_VALUE
|| maxTtl == Long.MAX_VALUE
|| (currentTime - maxTtl < maxTs)){ || (currentTime - maxTtl < maxTs)){
continue; continue;
} else{ } else{
@ -120,10 +119,9 @@ public class FIFOCompactionPolicy extends ExploringCompactionPolicy {
Collection<StoreFile> expiredStores = new ArrayList<>(); Collection<StoreFile> expiredStores = new ArrayList<>();
for(StoreFile sf: files){ for(StoreFile sf: files){
// Check MIN_VERSIONS is in HStore removeUnneededFiles // Check MIN_VERSIONS is in HStore removeUnneededFiles
Long maxTs = sf.getReader().getMaxTimestamp(); long maxTs = sf.getReader().getMaxTimestamp();
long maxTtl = storeConfigInfo.getStoreFileTtl(); long maxTtl = storeConfigInfo.getStoreFileTtl();
if(maxTs == null if (maxTtl == Long.MAX_VALUE
|| maxTtl == Long.MAX_VALUE
|| (currentTime - maxTtl < maxTs)){ || (currentTime - maxTtl < maxTs)){
continue; continue;
} else if(filesCompacting == null || filesCompacting.contains(sf) == false){ } else if(filesCompacting == null || filesCompacting.contains(sf) == false){

View File

@ -427,7 +427,7 @@ public class RegionMover extends AbstractHBaseTool {
moveRegionsPool.shutdown(); moveRegionsPool.shutdown();
long timeoutInSeconds = long timeoutInSeconds =
regionsToMove.size() regionsToMove.size()
* admin.getConfiguration().getInt(MOVE_WAIT_MAX_KEY, DEFAULT_MOVE_WAIT_MAX); * admin.getConfiguration().getLong(MOVE_WAIT_MAX_KEY, DEFAULT_MOVE_WAIT_MAX);
try { try {
if (!moveRegionsPool.awaitTermination(timeoutInSeconds, TimeUnit.SECONDS)) { if (!moveRegionsPool.awaitTermination(timeoutInSeconds, TimeUnit.SECONDS)) {
moveRegionsPool.shutdownNow(); moveRegionsPool.shutdownNow();
@ -501,7 +501,7 @@ public class RegionMover extends AbstractHBaseTool {
moveRegionsPool.shutdown(); moveRegionsPool.shutdown();
long timeoutInSeconds = long timeoutInSeconds =
regionsToMove.size() regionsToMove.size()
* admin.getConfiguration().getInt(MOVE_WAIT_MAX_KEY, DEFAULT_MOVE_WAIT_MAX); * admin.getConfiguration().getLong(MOVE_WAIT_MAX_KEY, DEFAULT_MOVE_WAIT_MAX);
try { try {
if (!moveRegionsPool.awaitTermination(timeoutInSeconds, TimeUnit.SECONDS)) { if (!moveRegionsPool.awaitTermination(timeoutInSeconds, TimeUnit.SECONDS)) {
moveRegionsPool.shutdownNow(); moveRegionsPool.shutdownNow();

View File

@ -711,7 +711,8 @@ public class WALSplitter {
for (FileStatus status : files) { for (FileStatus status : files) {
String fileName = status.getPath().getName(); String fileName = status.getPath().getName();
try { try {
Long tmpSeqId = Long.parseLong(fileName.substring(0, fileName.length() long tmpSeqId =
Long.parseLong(fileName.substring(0, fileName.length()
- SEQUENCE_ID_FILE_SUFFIX_LENGTH)); - SEQUENCE_ID_FILE_SUFFIX_LENGTH));
maxSeqId = Math.max(tmpSeqId, maxSeqId); maxSeqId = Math.max(tmpSeqId, maxSeqId);
} catch (NumberFormatException ex) { } catch (NumberFormatException ex) {

View File

@ -268,4 +268,12 @@ public class TestBucketCache {
TEST_UTIL.cleanupTestDir(); TEST_UTIL.cleanupTestDir();
} }
@Test
public void testBucketAllocatorLargeBuckets() throws BucketAllocatorException {
long availableSpace = 20 * 1024L * 1024 * 1024;
int[] bucketSizes = new int[] { 1024, 1024 * 1024, 1024 * 1024 * 1024 };
BucketAllocator allocator = new BucketAllocator(availableSpace, bucketSizes);
assertTrue(allocator.getBuckets().length > 0);
}
} }