Fix ant eclipse-warnings in trunk Patch by Sam Tunnicliffe; reviewed by Tyler Hobbs for CASSANDRA-12528
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/05660a5a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/05660a5a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/05660a5a Branch: refs/heads/trunk Commit: 05660a5ababc766ffe87cc748dbfc8640b2023cd Parents: b834aed Author: Sam Tunnicliffe <[email protected]> Authored: Wed Aug 24 17:54:23 2016 +0100 Committer: Sam Tunnicliffe <[email protected]> Committed: Fri Aug 26 10:51:53 2016 +0100 ---------------------------------------------------------------------- .../org/apache/cassandra/db/SystemKeyspace.java | 7 +---- .../cassandra/db/commitlog/CommitLog.java | 7 +---- .../db/commitlog/CommitLogSegmentReader.java | 2 ++ .../compaction/LeveledCompactionStrategy.java | 5 ++-- .../cassandra/db/rows/UnfilteredSerializer.java | 7 +---- .../org/apache/cassandra/hints/HintsWriter.java | 7 +---- .../index/sasi/disk/PerSSTableIndexWriter.java | 2 ++ .../index/sasi/disk/StaticTokenTreeBuilder.java | 1 + .../index/sasi/plan/QueryController.java | 1 + .../io/sstable/IndexSummaryBuilder.java | 2 +- .../cassandra/io/sstable/SSTableTxnWriter.java | 5 ++-- .../io/util/ChecksummedRandomAccessReader.java | 2 +- .../io/util/ChecksummedRebufferer.java | 1 + .../cassandra/io/util/DataOutputBuffer.java | 27 ++++++++++---------- .../apache/cassandra/metrics/TableMetrics.java | 12 ++++----- .../org/apache/cassandra/net/MessageOut.java | 7 +---- .../cassandra/security/EncryptionUtils.java | 2 ++ 17 files changed, 42 insertions(+), 55 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/db/SystemKeyspace.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java b/src/java/org/apache/cassandra/db/SystemKeyspace.java index b23729e..598914a 100644 --- a/src/java/org/apache/cassandra/db/SystemKeyspace.java +++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java @@ -665,8 +665,7 @@ public final class SystemKeyspace private static Map<UUID, ByteBuffer> truncationAsMapEntry(ColumnFamilyStore cfs, long truncatedAt, CommitLogPosition position) { - DataOutputBuffer out = null; - try (DataOutputBuffer ignored = out = DataOutputBuffer.scratchBuffer.get()) + try (DataOutputBuffer out = DataOutputBuffer.scratchBuffer.get()) { CommitLogPosition.serializer.serialize(position, out); out.writeLong(truncatedAt); @@ -676,10 +675,6 @@ public final class SystemKeyspace { throw new RuntimeException(e); } - finally - { - out.recycle(); - } } public static CommitLogPosition getTruncatedPosition(UUID cfId) http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java index cf0368b..750fabc 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java @@ -244,8 +244,7 @@ public class CommitLog implements CommitLogMBean { assert mutation != null; - DataOutputBuffer dob = DataOutputBuffer.scratchBuffer.get(); - try + try (DataOutputBuffer dob = DataOutputBuffer.scratchBuffer.get()) { Mutation.serializer.serialize(mutation, dob, MessagingService.current_version); int size = dob.getLength(); @@ -290,10 +289,6 @@ public class CommitLog implements CommitLogMBean { throw new FSWriteError(e, segmentManager.allocatingFrom().getPath()); } - finally - { - dob.recycle(); - } } /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentReader.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentReader.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentReader.java index b547131..e23a915 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentReader.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentReader.java @@ -273,6 +273,7 @@ public class CommitLogSegmentReader implements Iterable<CommitLogSegmentReader.S nextLogicalStart = reader.getFilePointer(); } + @SuppressWarnings("resource") public SyncSegment nextSegment(final int startPosition, final int nextSectionStartPosition) throws IOException { reader.seek(startPosition); @@ -352,6 +353,7 @@ public class CommitLogSegmentReader implements Iterable<CommitLogSegmentReader.S }; } + @SuppressWarnings("resource") public SyncSegment nextSegment(int startPosition, int nextSectionStartPosition) throws IOException { int totalPlainTextLength = reader.readInt(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index 96d89c2..88f9b37 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@ -98,7 +98,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy * the only difference between background and maximal in LCS is that maximal is still allowed * (by explicit user request) even when compaction is disabled. */ - @SuppressWarnings("resource") + @SuppressWarnings("resource") // transaction is closed by AbstractCompactionTask::execute public AbstractCompactionTask getNextBackgroundTask(int gcBefore) { while (true) @@ -134,7 +134,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy } } - @SuppressWarnings("resource") + @SuppressWarnings("resource") // transaction is closed by AbstractCompactionTask::execute public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput) { Iterable<SSTableReader> sstables = manifest.getAllSSTables(); @@ -150,6 +150,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy } @Override + @SuppressWarnings("resource") // transaction is closed by AbstractCompactionTask::execute public AbstractCompactionTask getUserDefinedTask(Collection<SSTableReader> sstables, int gcBefore) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java b/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java index db18859..c79cc8c 100644 --- a/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java +++ b/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java @@ -184,8 +184,7 @@ public class UnfilteredSerializer if (header.isForSSTable()) { - DataOutputBuffer dob = DataOutputBuffer.scratchBuffer.get(); - try + try (DataOutputBuffer dob = DataOutputBuffer.scratchBuffer.get()) { serializeRowBody(row, flags, header, dob); @@ -195,10 +194,6 @@ public class UnfilteredSerializer out.writeUnsignedVInt(previousUnfilteredSize); out.write(dob.getData(), 0, dob.getLength()); } - finally - { - dob.recycle(); - } } else { http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/hints/HintsWriter.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/hints/HintsWriter.java b/src/java/org/apache/cassandra/hints/HintsWriter.java index a081451..dca915a 100644 --- a/src/java/org/apache/cassandra/hints/HintsWriter.java +++ b/src/java/org/apache/cassandra/hints/HintsWriter.java @@ -74,8 +74,7 @@ class HintsWriter implements AutoCloseable CRC32 crc = new CRC32(); - DataOutputBuffer dob = null; - try (DataOutputBuffer ignored = dob = DataOutputBuffer.scratchBuffer.get()) + try (DataOutputBuffer dob = DataOutputBuffer.scratchBuffer.get()) { // write the descriptor descriptor.serialize(dob); @@ -88,10 +87,6 @@ class HintsWriter implements AutoCloseable channel.close(); throw e; } - finally - { - dob.recycle(); - } if (descriptor.isEncrypted()) return new EncryptedHintsWriter(directory, descriptor, file, channel, fd, crc); http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/index/sasi/disk/PerSSTableIndexWriter.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/index/sasi/disk/PerSSTableIndexWriter.java b/src/java/org/apache/cassandra/index/sasi/disk/PerSSTableIndexWriter.java index 6a46338..9fa4e87 100644 --- a/src/java/org/apache/cassandra/index/sasi/disk/PerSSTableIndexWriter.java +++ b/src/java/org/apache/cassandra/index/sasi/disk/PerSSTableIndexWriter.java @@ -305,6 +305,7 @@ public class PerSSTableIndexWriter implements SSTableFlushObserver for (Future<OnDiskIndex> f : segments) { + @SuppressWarnings("resource") OnDiskIndex part = f.get(); if (part == null) continue; @@ -330,6 +331,7 @@ public class PerSSTableIndexWriter implements SSTableFlushObserver for (int segment = 0; segment < segmentNumber; segment++) { + @SuppressWarnings("resource") OnDiskIndex part = parts[segment]; if (part != null) http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/index/sasi/disk/StaticTokenTreeBuilder.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/index/sasi/disk/StaticTokenTreeBuilder.java b/src/java/org/apache/cassandra/index/sasi/disk/StaticTokenTreeBuilder.java index 7a41b38..6e64c56 100644 --- a/src/java/org/apache/cassandra/index/sasi/disk/StaticTokenTreeBuilder.java +++ b/src/java/org/apache/cassandra/index/sasi/disk/StaticTokenTreeBuilder.java @@ -53,6 +53,7 @@ import com.google.common.collect.Iterators; * * See https://issues.apache.org/jira/browse/CASSANDRA-11383 for more details. */ +@SuppressWarnings("resource") public class StaticTokenTreeBuilder extends AbstractTokenTreeBuilder { private final CombinedTerm combinedTerm; http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java b/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java index c8ae0d8..fa1181f 100644 --- a/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java +++ b/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java @@ -141,6 +141,7 @@ public class QueryController for (Map.Entry<Expression, Set<SSTableIndex>> e : getView(op, expressions).entrySet()) { + @SuppressWarnings("resource") // RangeIterators are closed by releaseIndexes RangeIterator<Long, Token> index = TermIterator.build(e.getKey(), e.getValue()); if (index == null) http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/io/sstable/IndexSummaryBuilder.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/io/sstable/IndexSummaryBuilder.java b/src/java/org/apache/cassandra/io/sstable/IndexSummaryBuilder.java index 1f4fdc2..6110afe 100644 --- a/src/java/org/apache/cassandra/io/sstable/IndexSummaryBuilder.java +++ b/src/java/org/apache/cassandra/io/sstable/IndexSummaryBuilder.java @@ -85,7 +85,6 @@ public class IndexSummaryBuilder implements AutoCloseable } } - @SuppressWarnings("resource") public IndexSummaryBuilder(long expectedKeys, int minIndexInterval, int samplingLevel) { this.samplingLevel = samplingLevel; @@ -282,6 +281,7 @@ public class IndexSummaryBuilder implements AutoCloseable * @param partitioner the partitioner used for the index summary * @return a new IndexSummary */ + @SuppressWarnings("resource") public static IndexSummary downsample(IndexSummary existing, int newSamplingLevel, int minIndexInterval, IPartitioner partitioner) { // To downsample the old index summary, we'll go through (potentially) several rounds of downsampling. http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/io/sstable/SSTableTxnWriter.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableTxnWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableTxnWriter.java index 5ffde15..28ca4c4 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableTxnWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableTxnWriter.java @@ -96,7 +96,7 @@ public class SSTableTxnWriter extends Transactional.AbstractTransactional implem return writer.finished(); } - @SuppressWarnings("resource") // log and writer closed during postCleanup + @SuppressWarnings("resource") // log and writer closed during doPostCleanup public static SSTableTxnWriter create(ColumnFamilyStore cfs, Descriptor descriptor, long keyCount, long repairedAt, int sstableLevel, SerializationHeader header) { LifecycleTransaction txn = LifecycleTransaction.offline(OperationType.WRITE); @@ -105,6 +105,7 @@ public class SSTableTxnWriter extends Transactional.AbstractTransactional implem } + @SuppressWarnings("resource") // log and writer closed during doPostCleanup public static SSTableTxnWriter createRangeAware(ColumnFamilyStore cfs, long keyCount, long repairedAt, SSTableFormat.Type type, int sstableLevel, SerializationHeader header) { LifecycleTransaction txn = LifecycleTransaction.offline(OperationType.WRITE); @@ -123,7 +124,7 @@ public class SSTableTxnWriter extends Transactional.AbstractTransactional implem return new SSTableTxnWriter(txn, writer); } - @SuppressWarnings("resource") // log and writer closed during postCleanup + @SuppressWarnings("resource") // log and writer closed during doPostCleanup public static SSTableTxnWriter create(CFMetaData cfm, Descriptor descriptor, long keyCount, http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/io/util/ChecksummedRandomAccessReader.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/io/util/ChecksummedRandomAccessReader.java b/src/java/org/apache/cassandra/io/util/ChecksummedRandomAccessReader.java index e1f795a..2e59e3b 100644 --- a/src/java/org/apache/cassandra/io/util/ChecksummedRandomAccessReader.java +++ b/src/java/org/apache/cassandra/io/util/ChecksummedRandomAccessReader.java @@ -24,6 +24,7 @@ import org.apache.cassandra.utils.ChecksumType; public final class ChecksummedRandomAccessReader { + @SuppressWarnings("resource") // The Rebufferer owns both the channel and the validator and handles closing both. public static RandomAccessReader open(File file, File crcFile) throws IOException { ChannelProxy channel = new ChannelProxy(file); @@ -33,7 +34,6 @@ public final class ChecksummedRandomAccessReader RandomAccessReader.open(crcFile), file.getPath()); Rebufferer rebufferer = new ChecksummedRebufferer(channel, validator); - // Always own and close the channel. return new RandomAccessReader.RandomAccessReaderWithOwnChannel(rebufferer); } catch (Throwable t) http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/io/util/ChecksummedRebufferer.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/io/util/ChecksummedRebufferer.java b/src/java/org/apache/cassandra/io/util/ChecksummedRebufferer.java index bc8695f..99091d9 100644 --- a/src/java/org/apache/cassandra/io/util/ChecksummedRebufferer.java +++ b/src/java/org/apache/cassandra/io/util/ChecksummedRebufferer.java @@ -27,6 +27,7 @@ class ChecksummedRebufferer extends BufferManagingRebufferer { private final DataIntegrityMetadata.ChecksumValidator validator; + @SuppressWarnings("resource") // chunk reader is closed by super::close() ChecksummedRebufferer(ChannelProxy channel, DataIntegrityMetadata.ChecksumValidator validator) { super(new SimpleChunkReader(channel, channel.size(), BufferType.ON_HEAP, validator.chunkSize)); http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java index 0d2423c..63f87ea 100644 --- a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java +++ b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java @@ -55,7 +55,20 @@ public class DataOutputBuffer extends BufferedDataOutputStreamPlus { protected DataOutputBuffer initialValue() throws Exception { - return new DataOutputBuffer(); + return new DataOutputBuffer() + { + public void close() + { + if (buffer.capacity() <= MAX_RECYCLE_BUFFER_SIZE) + { + buffer.clear(); + } + else + { + buffer = ByteBuffer.allocate(DEFAULT_INITIAL_BUFFER_SIZE); + } + } + }; } }; @@ -74,18 +87,6 @@ public class DataOutputBuffer extends BufferedDataOutputStreamPlus super(buffer); } - public void recycle() - { - if (buffer.capacity() <= MAX_RECYCLE_BUFFER_SIZE) - { - buffer.clear(); - } - else - { - buffer = ByteBuffer.allocate(DEFAULT_INITIAL_BUFFER_SIZE); - } - } - @Override public void flush() throws IOException { http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/metrics/TableMetrics.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/metrics/TableMetrics.java b/src/java/org/apache/cassandra/metrics/TableMetrics.java index f811873..c57f240 100644 --- a/src/java/org/apache/cassandra/metrics/TableMetrics.java +++ b/src/java/org/apache/cassandra/metrics/TableMetrics.java @@ -19,15 +19,14 @@ package org.apache.cassandra.metrics; import java.nio.ByteBuffer; import java.util.*; -import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; -import com.codahale.metrics.*; -import com.codahale.metrics.Timer; -import com.google.common.collect.Iterables; import com.google.common.collect.Maps; +import com.codahale.metrics.*; +import com.codahale.metrics.Timer; import org.apache.cassandra.config.Schema; import org.apache.cassandra.config.SchemaConstants; import org.apache.cassandra.db.ColumnFamilyStore; @@ -381,8 +380,9 @@ public class TableMetrics { public Double getValue() { - return computeCompressionRatio(Iterables.concat(Iterables.transform(Keyspace.all(), - p -> p.getAllSSTables(SSTableSet.CANONICAL)))); + List<SSTableReader> sstables = new ArrayList<>(); + Keyspace.all().forEach(ks -> sstables.addAll(ks.getAllSSTables(SSTableSet.CANONICAL))); + return computeCompressionRatio(sstables); } }); percentRepaired = createTableGauge("PercentRepaired", new Gauge<Double>() http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/net/MessageOut.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/net/MessageOut.java b/src/java/org/apache/cassandra/net/MessageOut.java index a088335..4f41ee5 100644 --- a/src/java/org/apache/cassandra/net/MessageOut.java +++ b/src/java/org/apache/cassandra/net/MessageOut.java @@ -115,8 +115,7 @@ public class MessageOut<T> if (payload != null) { - DataOutputBuffer dob = DataOutputBuffer.scratchBuffer.get(); - try + try(DataOutputBuffer dob = DataOutputBuffer.scratchBuffer.get()) { serializer.serialize(payload, dob, version); @@ -124,10 +123,6 @@ public class MessageOut<T> out.writeInt(size); out.write(dob.getData(), 0, size); } - finally - { - dob.recycle(); - } } else { http://git-wip-us.apache.org/repos/asf/cassandra/blob/05660a5a/src/java/org/apache/cassandra/security/EncryptionUtils.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/security/EncryptionUtils.java b/src/java/org/apache/cassandra/security/EncryptionUtils.java index b262259..bb61260 100644 --- a/src/java/org/apache/cassandra/security/EncryptionUtils.java +++ b/src/java/org/apache/cassandra/security/EncryptionUtils.java @@ -114,6 +114,7 @@ public class EncryptionUtils return outputBuffer; } + @SuppressWarnings("resource") public static ByteBuffer encrypt(ByteBuffer inputBuffer, ByteBuffer outputBuffer, boolean allowBufferResize, Cipher cipher) throws IOException { Preconditions.checkNotNull(outputBuffer, "output buffer may not be null"); @@ -165,6 +166,7 @@ public class EncryptionUtils } // path used when decrypting commit log files + @SuppressWarnings("resource") public static ByteBuffer decrypt(FileDataInput fileDataInput, ByteBuffer outputBuffer, boolean allowBufferResize, Cipher cipher) throws IOException { return decrypt(new DataInputReadChannel(fileDataInput), outputBuffer, allowBufferResize, cipher);
