Merge branch '1.6' into 1.7 Conflicts: core/src/main/java/org/apache/accumulo/core/file/blockfile/impl/CachableBlockFile.java
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/2e4f3209 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/2e4f3209 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/2e4f3209 Branch: refs/heads/ACCUMULO-4173 Commit: 2e4f32095f4da604ab1aa9ada0c679ce8997b024 Parents: f181cf6 2afc3dc Author: Keith Turner <ktur...@apache.org> Authored: Fri Apr 1 12:59:46 2016 -0400 Committer: Keith Turner <ktur...@apache.org> Committed: Fri Apr 1 12:59:46 2016 -0400 ---------------------------------------------------------------------- core/src/main/findbugs/exclude-filter.xml | 5 + .../core/file/blockfile/ABlockReader.java | 2 + .../file/blockfile/impl/CachableBlockFile.java | 31 ++- .../impl/SeekableByteArrayInputStream.java | 141 ++++++++++++ .../core/file/rfile/MultiLevelIndex.java | 219 +++++++++++++------ 5 files changed, 308 insertions(+), 90 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e4f3209/core/src/main/findbugs/exclude-filter.xml ---------------------------------------------------------------------- diff --cc core/src/main/findbugs/exclude-filter.xml index aa854f0,88b7922..f5b84d9 --- a/core/src/main/findbugs/exclude-filter.xml +++ b/core/src/main/findbugs/exclude-filter.xml @@@ -15,88 -15,22 +15,93 @@@ limitations under the License. --> <FindBugsFilter> - <Match> - <Class name="~org\.apache\.accumulo\.core\.client\.impl\.thrift\..*" /> - </Match> - <Match> - <Class name="~org\.apache\.accumulo\.core\.data\.thrift\..*" /> - </Match> - <Match> - <Class name="~org\.apache\.accumulo\.core\.gc\.thrift\..*" /> - </Match> - <Match> - <Class name="~org\.apache\.accumulo\.core\.master\.thrift\..*" /> - </Match> - <Match> - <Class name="~org\.apache\.accumulo\.core\.security\.thrift\..*" /> - </Match> - <Match> - <Class name="~org\.apache\.accumulo\.core\.tabletserver\.thrift\..*" /> - </Match> + <Match> + <!-- ignore thrift-generated files --> + <Or> + <Package name="org.apache.accumulo.core.client.impl.thrift" /> + <Package name="org.apache.accumulo.core.data.thrift" /> + <Package name="org.apache.accumulo.core.gc.thrift" /> + <Package name="org.apache.accumulo.core.master.thrift" /> + <Package name="org.apache.accumulo.core.replication.thrift" /> + <Package name="org.apache.accumulo.core.security.thrift" /> + <Package name="org.apache.accumulo.core.tabletserver.thrift" /> + <Package name="org.apache.accumulo.core.trace.thrift" /> + </Or> + </Match> + <Match> + <!-- ignore Writable false positives about closing wrapped DataInput stream --> + <Or> + <Class name="org.apache.accumulo.core.bloomfilter.BloomFilter" /> + </Or> + <Method name="readFields" params="java.io.DataInput" returns="void" /> + <Bug code="OS" pattern="OS_OPEN_STREAM" /> + </Match> + <Match> ++ <Class name="org.apache.accumulo.core.file.blockfile.impl.SeekableByteArrayInputStream" /> ++ <Field name="buffer" /> ++ <Bug code="VO" pattern="VO_VOLATILE_REFERENCE_TO_ARRAY" /> ++ </Match> ++ <Match> + <!-- locking is confusing, but probably correct --> + <Class name="org.apache.accumulo.core.client.impl.TabletLocatorImpl" /> + <Method name="processInvalidated" params="org.apache.accumulo.core.client.impl.ClientContext,org.apache.accumulo.core.client.impl.TabletLocatorImpl$LockCheckerSession" returns="void" /> + <Bug code="UL" pattern="UL_UNRELEASED_LOCK" /> + </Match> + <Match> + <!-- ignore intentional name shadowing --> + <Or> + <Package name="org.apache.accumulo.core.iterators.user" /> + <Package name="org.apache.accumulo.core.iterators" /> + <Package name="org.apache.accumulo.core.trace" /> + <Class name="org.apache.accumulo.core.client.mapred.RangeInputSplit" /> + <Class name="org.apache.accumulo.core.client.mapred.impl.BatchInputSplit" /> + <Class name="org.apache.accumulo.core.util.AddressUtil" /> + <Class name="org.apache.accumulo.core.zookeeper.ZooUtil" /> + <Class name="org.apache.accumulo.core.security.VisibilityConstraint" /> + </Or> + <Or> + <Bug code="NM" pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS" /> + <Bug code="NM" pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE" /> + </Or> + </Match> + <Match> + <!-- bad practice to start a thread in constructor; we should be careful using this class --> + <Class name="org.apache.accumulo.core.file.blockfile.cache.LruBlockCache" /> + <Bug code="SC" pattern="SC_START_IN_CTOR" /> + </Match> + <Match> + <!-- locking is confusing, but probably correct --> + <Class name="org.apache.accumulo.core.file.blockfile.cache.LruBlockCache$EvictionThread" /> + <Or> + <Bug code="NN" pattern="NN_NAKED_NOTIFY" /> + <Bug code="UW" pattern="UW_UNCOND_WAIT" /> + </Or> + </Match> + <Match> + <!-- allowed only for backwards compatibility, but this is generally a pretty bad practice --> + <Class name="org.apache.accumulo.core.data.Value" /> + <Method name="equals" params="java.lang.Object" returns="boolean" /> + <Bug code="EQ" pattern="EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS" /> + </Match> + <Match> + <!-- CryptoTest shouldn't close the given I/O streams, because they are just wrapping them --> + <Or> + <Class name="org.apache.accumulo.core.security.crypto.CryptoTest" /> + <Class name="org.apache.accumulo.core.security.crypto.DefaultCryptoModule" /> + </Or> + <Bug code="OS" pattern="OS_OPEN_STREAM" /> + </Match> + <Match> + <!-- admin classes can call System.exit --> + <Or> + <Class name="org.apache.accumulo.core.util.Jar" /> + <Class name="org.apache.accumulo.core.file.rfile.PrintInfo" /> + </Or> + <Bug code="DM" pattern="DM_EXIT" /> + </Match> + <Match> + <!-- The purpose of the method is to test a null argument --> + <Class name="org.apache.accumulo.core.client.impl.ScannerOptionsTest" /> + <Bug code="NP" pattern="NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS" /> + </Match> </FindBugsFilter> http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e4f3209/core/src/main/java/org/apache/accumulo/core/file/blockfile/ABlockReader.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e4f3209/core/src/main/java/org/apache/accumulo/core/file/blockfile/impl/CachableBlockFile.java ----------------------------------------------------------------------