Author: slebresne Date: Thu Dec 22 21:56:00 2011 New Revision: 1222476 URL: http://svn.apache.org/viewvc?rev=1222476&view=rev Log: Fix minor issues reported by FindBugs patch by slebresne; reviewed by jbellis for CASSANDRA-3658
Removed: cassandra/trunk/src/java/org/apache/cassandra/config/ReplicationStrategy.java cassandra/trunk/src/java/org/apache/cassandra/net/ProtocolHeader.java Modified: cassandra/trunk/CHANGES.txt cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java cassandra/trunk/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java cassandra/trunk/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java cassandra/trunk/src/java/org/apache/cassandra/db/filter/QueryFilter.java cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java cassandra/trunk/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java cassandra/trunk/src/java/org/apache/cassandra/db/marshal/ReversedType.java cassandra/trunk/src/java/org/apache/cassandra/dht/LocalToken.java cassandra/trunk/src/java/org/apache/cassandra/dht/Token.java cassandra/trunk/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java cassandra/trunk/src/java/org/apache/cassandra/locator/PropertyFileSnitch.java cassandra/trunk/src/java/org/apache/cassandra/service/AntiEntropyService.java cassandra/trunk/src/java/org/apache/cassandra/streaming/FileStreamTask.java cassandra/trunk/src/java/org/apache/cassandra/utils/EstimatedHistogram.java cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java Modified: cassandra/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/CHANGES.txt (original) +++ cassandra/trunk/CHANGES.txt Thu Dec 22 21:56:00 2011 @@ -27,6 +27,7 @@ * more efficient allocation of small bloom filters (CASSANDRA-3618) * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619) * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250) + * fix minor issues reported by FindBugs (CASSANDRA-3658) 1.0.7 Modified: cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java Thu Dec 22 21:56:00 2011 @@ -913,8 +913,6 @@ public class CliClient String columnFamily = CliCompiler.getColumnFamily(columnFamilySpec, keyspacesMap.get(keySpace).cf_defs); ByteBuffer key = getKeyAsBytes(columnFamily, columnFamilySpec.getChild(1)); int columnSpecCnt = CliCompiler.numColumnSpecifiers(columnFamilySpec); - CfDef cfDef = getCfDef(columnFamily); - boolean isSuper = cfDef.column_type.equals("Super"); byte[] superColumnName = null; ByteBuffer columnName; Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java Thu Dec 22 21:56:00 2011 @@ -181,7 +181,7 @@ public class ArrayBackedSortedColumns ex while (low <= high) { mid = (low + high) >> 1; - if ((result = -compare(get(mid).name(), name)) > 0) + if ((result = compare(name, get(mid).name())) > 0) { low = mid + 1; } Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java Thu Dec 22 21:56:00 2011 @@ -258,16 +258,19 @@ public class ColumnFamily extends Abstra return maxTimestamp; } + @Override public int hashCode() { throw new RuntimeException("Not implemented."); } + @Override public boolean equals(Object o) { throw new RuntimeException("Not implemented."); } + @Override public String toString() { StringBuilder sb = new StringBuilder("ColumnFamily("); Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java Thu Dec 22 21:56:00 2011 @@ -170,4 +170,22 @@ public class ExpiringColumn extends Colu if (localExpirationTime < 0) throw new MarshalException("The local expiration time should not be negative"); } + + @Override + public boolean equals(Object o) + { + // super.equals() returns false if o is not a CounterColumn + return super.equals(o) + && localExpirationTime == ((ExpiringColumn)o).localExpirationTime + && timeToLive == ((ExpiringColumn)o).timeToLive; + } + + @Override + public int hashCode() + { + int result = super.hashCode(); + result = 31 * result + localExpirationTime; + result = 31 * result + timeToLive; + return result; + } } Modified: cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java Thu Dec 22 21:56:00 2011 @@ -90,7 +90,6 @@ public class RowIteratorFactory iterators.add(scanner); } - final Memtable firstMemtable = memtables.iterator().next(); // reduce rows from all sources into a single row return MergeIterator.get(iterators, COMPARE_BY_KEY, new MergeIterator.Reducer<IColumnIterator, Row>() { Modified: cassandra/trunk/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java Thu Dec 22 21:56:00 2011 @@ -35,7 +35,7 @@ public class SizeTieredCompactionStrateg private static final Logger logger = LoggerFactory.getLogger(SizeTieredCompactionStrategy.class); protected static final long DEFAULT_MIN_SSTABLE_SIZE = 50L * 1024L * 1024L; protected static final String MIN_SSTABLE_SIZE_KEY = "min_sstable_size"; - protected static long minSSTableSize; + protected long minSSTableSize; protected volatile int estimatedRemainingTasks; public SizeTieredCompactionStrategy(ColumnFamilyStore cfs, Map<String, String> options) Modified: cassandra/trunk/src/java/org/apache/cassandra/db/filter/QueryFilter.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/filter/QueryFilter.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/filter/QueryFilter.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/filter/QueryFilter.java Thu Dec 22 21:56:00 2011 @@ -97,11 +97,6 @@ public class QueryFilter { ColumnFamily curCF = returnCF.cloneMeShallow(); - protected boolean isEqual(IColumn o1, IColumn o2) - { - return o1.name().equals(o2.name()); - } - public void reduce(IColumn current) { if (curCF.isSuper() && curCF.isEmpty()) Modified: cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java Thu Dec 22 21:56:00 2011 @@ -89,7 +89,7 @@ public abstract class AbstractType<T> im return 1; } - return -AbstractType.this.compare(o1, o2); + return AbstractType.this.compare(o2, o1); } }; } Modified: cassandra/trunk/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/DynamicCompositeType.java Thu Dec 22 21:56:00 2011 @@ -248,7 +248,7 @@ public class DynamicCompositeType extend { int header = 0; if (isAlias) - header = 0x8000 | ((byte)comparatorName.charAt(0)); + header = 0x8000 | (((byte)comparatorName.charAt(0)) & 0xFF); else header = comparatorName.length(); putShortLength(bb, header); Modified: cassandra/trunk/src/java/org/apache/cassandra/db/marshal/ReversedType.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/ReversedType.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/ReversedType.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/ReversedType.java Thu Dec 22 21:56:00 2011 @@ -69,7 +69,7 @@ public class ReversedType<T> extends Abs return 1; } - return -baseType.compare(o1, o2); + return baseType.compare(o2, o1); } public String getString(ByteBuffer bytes) Modified: cassandra/trunk/src/java/org/apache/cassandra/dht/LocalToken.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/dht/LocalToken.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/dht/LocalToken.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/dht/LocalToken.java Thu Dec 22 21:56:00 2011 @@ -24,8 +24,6 @@ import org.apache.cassandra.db.marshal.A public class LocalToken extends Token<ByteBuffer> { - static final long serialVersionUID = 8437543776403014875L; - private final AbstractType comparator; public LocalToken(AbstractType comparator, ByteBuffer token) Modified: cassandra/trunk/src/java/org/apache/cassandra/dht/Token.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/dht/Token.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/dht/Token.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/dht/Token.java Thu Dec 22 21:56:00 2011 @@ -30,7 +30,7 @@ import org.apache.cassandra.io.ISerializ import org.apache.cassandra.service.StorageService; import org.apache.cassandra.utils.ByteBufferUtil; -public abstract class Token<T> implements RingPosition<Token<T>>, Serializable +public abstract class Token<T> implements RingPosition<Token<T>> { private static final long serialVersionUID = 1L; Modified: cassandra/trunk/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java Thu Dec 22 21:56:00 2011 @@ -258,7 +258,7 @@ public class CompressionMetadata /** * Holds offset and length of the file chunk */ - public class Chunk + public static class Chunk { public final long offset; public final int length; Modified: cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java Thu Dec 22 21:56:00 2011 @@ -26,6 +26,7 @@ import java.util.*; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import org.apache.cassandra.config.ConfigurationException; import org.apache.cassandra.dht.IPartitioner; @@ -165,10 +166,12 @@ public class SSTableLoader return null; } - public Void get(long timeout, TimeUnit unit) throws InterruptedException + public Void get(long timeout, TimeUnit unit) throws InterruptedException, TimeoutException { - latch.await(timeout, unit); - return null; + if (latch.await(timeout, unit)) + return null; + else + throw new TimeoutException(); } public boolean isCancelled() Modified: cassandra/trunk/src/java/org/apache/cassandra/locator/PropertyFileSnitch.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/locator/PropertyFileSnitch.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/locator/PropertyFileSnitch.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/locator/PropertyFileSnitch.java Thu Dec 22 21:56:00 2011 @@ -142,9 +142,10 @@ public class PropertyFileSnitch extends if (key.equals("default")) { - defaultDCRack = value.split(":"); - if (defaultDCRack.length < 2) - defaultDCRack = new String[] { "default", "default" }; + String[] newDefault = value.split(":"); + if (newDefault.length < 2) + newDefault = new String[] { "default", "default" }; + defaultDCRack = newDefault; } else { Modified: cassandra/trunk/src/java/org/apache/cassandra/service/AntiEntropyService.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/AntiEntropyService.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/service/AntiEntropyService.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/service/AntiEntropyService.java Thu Dec 22 21:56:00 2011 @@ -595,7 +595,7 @@ public class AntiEntropyService * Triggers repairs with all neighbors for the given table, cfs and range. * Typical lifecycle is: start() then join(). Executed in client threads. */ - class RepairSession extends WrappedRunnable implements IEndpointStateChangeSubscriber, IFailureDetectionEventListener + static class RepairSession extends WrappedRunnable implements IEndpointStateChangeSubscriber, IFailureDetectionEventListener { private final String sessionName; private final String tablename; Modified: cassandra/trunk/src/java/org/apache/cassandra/streaming/FileStreamTask.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/streaming/FileStreamTask.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/streaming/FileStreamTask.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/streaming/FileStreamTask.java Thu Dec 22 21:56:00 2011 @@ -185,7 +185,7 @@ public class FileStreamTask extends Wrap assert MessagingService.getBits(msheader, 3, 1) == 0 : "Stream received before stream reply"; int version = MessagingService.getBits(msheader, 15, 8); - int totalSize = input.readInt(); + input.readInt(); // Read total size String id = input.readUTF(); Header header = Header.serializer().deserialize(input, version); Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/EstimatedHistogram.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/EstimatedHistogram.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/utils/EstimatedHistogram.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/utils/EstimatedHistogram.java Thu Dec 22 21:56:00 2011 @@ -24,6 +24,8 @@ import java.io.IOException; import java.util.Arrays; import java.util.concurrent.atomic.AtomicLongArray; +import com.google.common.base.Objects; + import org.apache.cassandra.io.ISerializer; public class EstimatedHistogram @@ -202,6 +204,12 @@ public class EstimatedHistogram Arrays.equals(getBuckets(false), that.getBuckets(false)); } + @Override + public int hashCode() + { + return Objects.hashCode(getBucketOffsets(), getBuckets(false)); + } + public static class EstimatedHistogramSerializer implements ISerializer<EstimatedHistogram> { public void serialize(EstimatedHistogram eh, DataOutput dos) throws IOException Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java Thu Dec 22 21:56:00 2011 @@ -414,7 +414,7 @@ public class FBUtilities // both tokens are on the same side of the wrap point return o1.compareTo(o2); } - return -o1.compareTo(o2); + return o2.compareTo(o1); } }; Collections.sort(keys, comparator); Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java?rev=1222476&r1=1222475&r2=1222476&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/utils/NodeId.java Thu Dec 22 21:56:00 2011 @@ -25,6 +25,7 @@ import java.util.concurrent.CopyOnWriteA import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.base.Objects; import org.apache.cassandra.db.CounterColumn; import org.apache.cassandra.db.SystemTable; @@ -242,6 +243,12 @@ public class NodeId implements Comparabl return id.equals(otherRecord.id) && timestamp == otherRecord.timestamp; } + @Override + public int hashCode() + { + return Objects.hashCode(id, timestamp); + } + public String toString() { return String.format("(%s, %d)", id.toString(), timestamp);