123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365 |
- <FindBugsFilter>
- <Match>
- <Package name="org.apache.hadoop.record.compiler.generated" />
- </Match>
- <Match>
- <Package name="org.apache.hadoop.hdfs.protocol.proto" />
- </Match>
- <Match>
- <Package name="org.apache.hadoop.hdfs.server.namenode.ha.proto" />
- </Match>
- <Match>
- <Package name="org.apache.hadoop.hdfs.qjournal.protocol" />
- </Match>
- <Match>
- <Bug pattern="EI_EXPOSE_REP" />
- </Match>
- <Match>
- <Bug pattern="EI_EXPOSE_REP2" />
- </Match>
- <Match>
- <Bug pattern="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE" />
- </Match>
- <Match>
- <Class name="~.*_jsp" />
- <Bug pattern="DLS_DEAD_LOCAL_STORE" />
- </Match>
- <Match>
- <Field name="_jspx_dependants" />
- <Bug pattern="UWF_UNWRITTEN_FIELD" />
- </Match>
- <!--
- Inconsistent synchronization for Client.Connection.out is
- is intentional to make a connection to be closed instantly.
- -->
- <Match>
- <Class name="org.apache.hadoop.ipc.Client$Connection" />
- <Field name="out" />
- <Bug pattern="IS2_INCONSISTENT_SYNC" />
- </Match>
- <!--
- Ignore Cross Scripting Vulnerabilities
- We have an input quoting filter that protects us.
- -->
- <Match>
- <Bug code="XSS" />
- </Match>
- <Match>
- <Bug code="HRS" />
- </Match>
- <!--
- Ignore warnings where child class has the same name as
- super class. Classes based on Old API shadow names from
- new API. Should go off after HADOOP-1.0
- -->
- <Match>
- <Class name="~org.apache.hadoop.mapred.*" />
- <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS" />
- </Match>
- <!--
- Ignore warnings for usage of System.exit. This is
- required and have been well thought out
- -->
- <Match>
- <Class name="org.apache.hadoop.mapred.Child$2" />
- <Method name="run" />
- <Bug pattern="DM_EXIT" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.mapred.JobTracker" />
- <Method name="addHostToNodeMapping" />
- <Bug pattern="DM_EXIT" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.mapred.Task" />
- <Or>
- <Method name="done" />
- <Method name="commit" />
- <Method name="statusUpdate" />
- </Or>
- <Bug pattern="DM_EXIT" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.mapred.Task$TaskReporter" />
- <Method name="run" />
- <Bug pattern="DM_EXIT" />
- </Match>
- <!--
- We need to cast objects between old and new api objects
- -->
- <Match>
- <Class name="org.apache.hadoop.mapred.OutputCommitter" />
- <Bug pattern="BC_UNCONFIRMED_CAST" />
- </Match>
- <!--
- We intentionally do the get name from the inner class
- -->
- <Match>
- <Class name="org.apache.hadoop.mapred.TaskTracker$MapEventsFetcherThread" />
- <Method name="run" />
- <Bug pattern="IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.mapred.FileOutputCommitter" />
- <Bug pattern="NM_WRONG_PACKAGE_INTENTIONAL" />
- </Match>
- <!--
- Ignoring this warning as resolving this would need a non-trivial change in code
- -->
- <Match>
- <Class name="org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorBaseDescriptor" />
- <Method name="configure" />
- <Field name="maxNumItems" />
- <Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD" />
- </Match>
- <!--
- Comes from org.apache.jasper.runtime.ResourceInjector. Cannot do much.
- -->
- <Match>
- <Class name="org.apache.hadoop.mapred.jobqueue_005fdetails_jsp" />
- <Field name="_jspx_resourceInjector" />
- <Bug pattern="SE_BAD_FIELD" />
- </Match>
- <!--
- Storing textInputFormat and then passing it as a parameter. Safe to ignore.
- -->
- <Match>
- <Class name="org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorJob" />
- <Method name="createValueAggregatorJob" />
- <Bug pattern="DLS_DEAD_STORE_OF_CLASS_LITERAL" />
- </Match>
- <!--
- Can remove this after the upgrade to findbugs1.3.8
- -->
- <Match>
- <Class name="org.apache.hadoop.mapred.lib.db.DBInputFormat" />
- <Method name="getSplits" />
- <Bug pattern="DLS_DEAD_LOCAL_STORE" />
- </Match>
- <!--
- This is a spurious warning. Just ignore
- -->
- <Match>
- <Class name="org.apache.hadoop.mapred.MapTask$MapOutputBuffer" />
- <Field name="kvindex" />
- <Bug pattern="IS2_INCONSISTENT_SYNC" />
- </Match>
- <!--
- core changes
- -->
- <Match>
- <Class name="~org.apache.hadoop.*" />
- <Bug code="MS" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.fs.FileSystem" />
- <Method name="checkPath" />
- <Bug pattern="ES_COMPARING_STRINGS_WITH_EQ" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.fs.kfs.KFSOutputStream" />
- <Field name="path" />
- <Bug pattern="URF_UNREAD_FIELD" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.fs.kfs.KosmosFileSystem" />
- <Method name="initialize" />
- <Bug pattern="DM_EXIT" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.io.Closeable" />
- <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.security.AccessControlException" />
- <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.record.meta.Utils" />
- <Method name="skip" />
- <Bug pattern="BC_UNCONFIRMED_CAST" />
- </Match>
- <!--
- The compareTo method is actually a dummy method that just
- throws excpetions. So, no need to override equals. Ignore
- -->
- <Match>
- <Class name="org.apache.hadoop.record.meta.RecordTypeInfo" />
- <Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.util.ProcfsBasedProcessTree" />
- <Bug pattern="DMI_HARDCODED_ABSOLUTE_FILENAME" />
- </Match>
- <!--
- Streaming, Examples
- -->
- <Match>
- <Class name="org.apache.hadoop.streaming.StreamUtil$TaskId" />
- <Bug pattern="URF_UNREAD_FIELD" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.examples.DBCountPageView" />
- <Method name="verify" />
- <Bug pattern="OBL_UNSATISFIED_OBLIGATION" />
- </Match>
- <!--
- getTmpInputStreams is pretty much like a stream constructor.
- The newly created streams are not supposed to be closed in the constructor. So ignore
- the OBL warning.
- -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl" />
- <Method name="getTmpInputStreams" />
- <Bug pattern="OBL_UNSATISFIED_OBLIGATION" />
- </Match>
- <!--
- ResponseProccessor is thread that is designed to catch RuntimeException.
- -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer$ResponseProcessor" />
- <Method name="run" />
- <Bug pattern="REC_CATCH_EXCEPTION" />
- </Match>
- <!--
- lastAppliedTxid is carefully unsynchronized in the BackupNode in a couple spots.
- See the comments in BackupImage for justification.
- -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.namenode.FSImage" />
- <Field name="lastAppliedTxId" />
- <Bug pattern="IS2_INCONSISTENT_SYNC" />
- </Match>
- <!--
- Findbugs doesn't realize that closing a FilterOutputStream pushes the close down to
- wrapped streams, too.
- -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.namenode.FSImageFormat$Saver" />
- <Method name="save" />
- <Bug pattern="OS_OPEN_STREAM" />
- </Match>
- <!--
- the 'metrics' member is sometimes used from synchronized blocks, sometimes not,
- but it's only reset by test cases, so should be fine
- -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.namenode.FSEditLog" />
- <Field name="metrics" />
- <Bug pattern="IS2_INCONSISTENT_SYNC" />
- </Match>
- <!--
- This method isn't performance-critical and is much clearer to write as it's written.
- -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.datanode.BlockPoolManager" />
- <Method name="doRefreshNamenodes" />
- <Bug category="PERFORMANCE" />
- </Match>
- <!-- Don't complain about System.exit() being called from quit() -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.namenode.MetaRecoveryContext" />
- <Method name="quit" />
- <Bug pattern="DM_EXIT" />
- </Match>
- <!-- Don't complain about recoverBlock equality check -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.datanode.DataNode" />
- <Method name="recoverBlock" />
- <Bug pattern="EC_UNRELATED_TYPES" />
- </Match>
- <!-- More complex cleanup logic confuses findbugs -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.qjournal.server.Journal" />
- <Method name="persistPaxosData" />
- <Bug pattern="OS_OPEN_STREAM" />
- </Match>
- <!-- Don't complain about LocalDatanodeInfo's anonymous class -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.BlockReaderLocal$LocalDatanodeInfo$1" />
- <Bug pattern="SE_BAD_FIELD_INNER_CLASS" />
- </Match>
- <!-- Only one method increments numFailedVolumes and it is synchronized -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeList" />
- <Field name="numFailedVolumes" />
- <Bug pattern="VO_VOLATILE_INCREMENT" />
- </Match>
- <!-- Access to pendingReceivedRequests is synchronized -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.datanode.BPServiceActor" />
- <Method name="notifyNamenodeBlockImmediately" />
- <Field name="pendingReceivedRequests" />
- <Bug pattern="VO_VOLATILE_INCREMENT" />
- </Match>
- <!-- The "LightWeight" classes are explicitly not thread safe -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.util.LightWeightGSet" />
- <Field name="modification" />
- <Bug pattern="VO_VOLATILE_INCREMENT" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.hdfs.util.LightWeightHashSet" />
- <Field name="modification" />
- <Bug pattern="VO_VOLATILE_INCREMENT" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.hdfs.util.LightWeightLinkedSet" />
- <Field name="modification" />
- <Bug pattern="VO_VOLATILE_INCREMENT" />
- </Match>
- <!-- Replace System.exit() call with ExitUtil.terminate() -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.tools.JMXGet"/>
- <Method name="main" />
- <Bug pattern="NP_NULL_ON_SOME_PATH" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.datanode.ReplicaInfo" />
- <Method name="setDirInternal" />
- <Bug pattern="DM_STRING_CTOR" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.hdfs.client.ClientMmapManager" />
- <Method name="create" />
- <Bug pattern="UL_UNRELEASED_LOCK_EXCEPTION_PATH" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.hdfs.client.ClientMmapManager" />
- <Method name="create" />
- <Bug pattern="UL_UNRELEASED_LOCK" />
- </Match>
- <!-- Manually verified to be okay, we want to throw away the top bit here -->
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.namenode.CachedBlock" />
- <Method name="getReplication" />
- <Bug pattern="ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.hdfs.protocol.CacheDirective" />
- <Method name="insertInternal" />
- <Bug pattern="BC_UNCONFIRMED_CAST" />
- </Match>
- <Match>
- <Class name="org.apache.hadoop.hdfs.server.blockmanagement.CacheReplicationMonitor" />
- <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" />
- </Match>
- </FindBugsFilter>
|