Index: hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java (working copy) @@ -156,11 +156,7 @@ public BufferedEncodedSeeker(KVComparator comparator, HFileBlockDecodingContext decodingCtx) { this.comparator = comparator; - if (comparator instanceof SamePrefixComparator) { - this.samePrefixComparator = (SamePrefixComparator) comparator; - } else { - this.samePrefixComparator = null; - } + this.samePrefixComparator = comparator; this.decodingCtx = decodingCtx; if (decodingCtx.getHFileContext().isCompressTags()) { try { @@ -468,9 +464,7 @@ HFileBlockDefaultEncodingContext encodingCtx = (HFileBlockDefaultEncodingContext) blkEncodingCtx; encodingCtx.prepareEncoding(); - DataOutputStream dataOut = - ((HFileBlockDefaultEncodingContext) encodingCtx) - .getOutputStreamForEncoder(); + DataOutputStream dataOut = encodingCtx.getOutputStreamForEncoder(); if (encodingCtx.getHFileContext().isCompressTags()) { try { TagCompressionContext tagCompressionContext = new TagCompressionContext(LRUDictionary.class); Index: hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java (working copy) @@ -155,16 +155,10 @@ @Override public HFileContext clone() { - HFileContext clonnedCtx = new HFileContext(); - clonnedCtx.usesHBaseChecksum = this.usesHBaseChecksum; - clonnedCtx.includesMvcc = this.includesMvcc; - clonnedCtx.includesTags = this.includesTags; - clonnedCtx.compressAlgo = this.compressAlgo; - clonnedCtx.compressTags = this.compressTags; - clonnedCtx.checksumType = this.checksumType; - clonnedCtx.bytesPerChecksum = this.bytesPerChecksum; - clonnedCtx.blocksize = this.blocksize; - clonnedCtx.encoding = this.encoding; - return clonnedCtx; + try { + return (HFileContext)(super.clone()); + } catch (CloneNotSupportedException e) { + throw new AssertionError(); // Won't happen + } } } Index: hbase-common/src/main/java/org/apache/hadoop/hbase/util/ChecksumType.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/util/ChecksumType.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/util/ChecksumType.java (working copy) @@ -49,7 +49,7 @@ }, CRC32((byte)1) { - private volatile Constructor ctor; + private transient Constructor ctor; @Override public String getName() { Index: hbase-common/src/main/java/org/apache/hadoop/hbase/util/ConcatenatedLists.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/util/ConcatenatedLists.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/util/ConcatenatedLists.java (working copy) @@ -129,6 +129,9 @@ return new Iterator(); } + @edu.umd.cs.findbugs.annotations.SuppressWarnings( + value="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD", + justification="nextWasCalled is using by StripeStoreFileManager") public class Iterator implements java.util.Iterator { protected int currentComponent = 0; protected int indexWithinComponent = -1; Index: hbase-common/src/main/java/org/apache/hadoop/hbase/util/KeyLocker.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/util/KeyLocker.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/util/KeyLocker.java (working copy) @@ -117,7 +117,7 @@ static class KeyLock> extends ReentrantLock { private static final long serialVersionUID = -12432857283423584L; - private final KeyLocker locker; + private final transient KeyLocker locker; private final K lockId; private KeyLock(KeyLocker locker, K lockId) { Index: hbase-common/src/main/java/org/apache/hadoop/hbase/util/JVM.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/util/JVM.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/util/JVM.java (working copy) @@ -184,6 +184,9 @@ * Workaround to get the current number of process running. Approach is the one described here: * http://stackoverflow.com/questions/54686/how-to-get-a-list-of-current-open-windows-process-with-java */ + @edu.umd.cs.findbugs.annotations.SuppressWarnings( + value="RV_DONT_JUST_NULL_CHECK_READLINE", + justification="used by testing") public int getNumberOfRunningProcess(){ if (!isUnix()){ return 0; Index: hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java (working copy) @@ -190,14 +190,12 @@ /** * Pass this to TreeMaps where byte [] are keys. */ - public static Comparator BYTES_COMPARATOR = - new ByteArrayComparator(); + public final static Comparator BYTES_COMPARATOR = new ByteArrayComparator(); /** * Use comparing byte arrays, byte-by-byte */ - public static RawComparator BYTES_RAWCOMPARATOR = - new ByteArrayComparator(); + public final static RawComparator BYTES_RAWCOMPARATOR = new ByteArrayComparator(); /** * Read byte-array written with a WritableableUtils.vint prefix. Index: hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java (working copy) @@ -82,7 +82,7 @@ if (c != 0) return c; //timestamp: later sorts first - c = -Longs.compare(a.getTimestamp(), b.getTimestamp()); + c = Longs.compare(b.getTimestamp(), a.getTimestamp()); if (c != 0) return c; //type @@ -90,7 +90,7 @@ if (c != 0) return c; //mvccVersion: later sorts first - return -Longs.compare(a.getMvccVersion(), b.getMvccVersion()); + return Longs.compare(b.getMvccVersion(), a.getMvccVersion()); } @@ -197,7 +197,7 @@ if (c != 0) return c; //timestamp: later sorts first - c = -Longs.compare(a.getTimestamp(), b.getTimestamp()); + c = Longs.compare(b.getTimestamp(), a.getTimestamp()); if (c != 0) return c; //type Index: hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java =================================================================== --- hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java (revision 1545173) +++ hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java (working copy) @@ -2055,7 +2055,7 @@ // compare Mvcc Version // Negate this comparison so later edits show up first - return -Longs.compare(left.getMvccVersion(), right.getMvccVersion()); + return Longs.compare(right.getMvccVersion(), left.getMvccVersion()); } public int compareTimestamps(final KeyValue left, final KeyValue right) {