|
@@ -15,5 +15,361 @@
|
|
|
limitations under the License.
|
|
|
-->
|
|
|
<FindBugsFilter>
|
|
|
+ <Match>
|
|
|
+ <Package name="org.apache.hadoop.security.proto" />
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <Package name="org.apache.hadoop.tools.proto" />
|
|
|
+ </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>
|
|
|
+ <!--
|
|
|
+ Further SaslException should be ignored during cleanup and
|
|
|
+ original exception should be re-thrown.
|
|
|
+ -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.security.SaslRpcClient" />
|
|
|
+ <Bug pattern="DE_MIGHT_IGNORE" />
|
|
|
+ </Match>
|
|
|
+ <!--
|
|
|
+ Ignore Cross Scripting Vulnerabilities
|
|
|
+ -->
|
|
|
+ <Match>
|
|
|
+ <Package name="~org.apache.hadoop.mapred.*" />
|
|
|
+ <Bug code="XSS" />
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.mapred.taskdetails_jsp" />
|
|
|
+ <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>
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.util.ProgramDriver" />
|
|
|
+ <Method name="driver" />
|
|
|
+ <Bug pattern="DM_EXIT" />
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.util.RunJar" />
|
|
|
+ <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>
|
|
|
|
|
|
- </FindBugsFilter>
|
|
|
+ <!--
|
|
|
+ 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.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.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>
|
|
|
+
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.examples.ContextFactory" />
|
|
|
+ <Method name="setAttributes" />
|
|
|
+ <Bug pattern="OBL_UNSATISFIED_OBLIGATION" />
|
|
|
+ </Match>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ TFile
|
|
|
+ -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.io.file.tfile.Chunk$ChunkDecoder" />
|
|
|
+ <Method name="close" />
|
|
|
+ <Bug pattern="SR_NOT_CHECKED" />
|
|
|
+ </Match>
|
|
|
+ <!--
|
|
|
+ The purpose of skip() is to drain remaining bytes of the chunk-encoded
|
|
|
+ stream (one chunk at a time). The termination condition is checked by
|
|
|
+ checkEOF().
|
|
|
+ -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.io.file.tfile.Utils" />
|
|
|
+ <Method name="writeVLong" />
|
|
|
+ <Bug pattern="SF_SWITCH_FALLTHROUGH" />
|
|
|
+ </Match>
|
|
|
+ <!--
|
|
|
+ The switch condition fall through is intentional and for performance
|
|
|
+ purposes.
|
|
|
+ -->
|
|
|
+
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.log.EventCounter"/>
|
|
|
+ <!-- backward compatibility -->
|
|
|
+ <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.metrics.jvm.EventCounter"/>
|
|
|
+ <!-- backward compatibility -->
|
|
|
+ <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ipc\.protobuf\.ProtobufRpcEngineProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ipc\.protobuf\.ProtocolInfoProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ipc\.protobuf\.IpcConnectionContextProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ipc\.protobuf\.RpcHeaderProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ha\.proto\.HAServiceProtocolProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ha\.proto\.ZKFCProtocolProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.security\.proto\.SecurityProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ipc\.protobuf\.TestProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ipc\.proto\.RefreshCallQueueProtocolProtos.*"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <!-- protobuf generated code -->
|
|
|
+ <Class name="~org\.apache\.hadoop\.ipc\.proto\.GenericRefreshProtocolProtos.*"/>
|
|
|
+ </Match>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ Manually checked, misses child thread manually syncing on parent's intrinsic lock.
|
|
|
+ -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.metrics2.lib.MutableQuantiles" />
|
|
|
+ <Field name="previousSnapshot" />
|
|
|
+ <Bug pattern="IS2_INCONSISTENT_SYNC" />
|
|
|
+ </Match>
|
|
|
+ <!--
|
|
|
+ The method uses a generic type T that extends two other types
|
|
|
+ T1 and T2. Findbugs complains of a cast from T1 to T2.
|
|
|
+ -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.fs.DelegationTokenRenewer" />
|
|
|
+ <Method name="removeRenewAction" />
|
|
|
+ <Bug pattern="BC_UNCONFIRMED_CAST" />
|
|
|
+ </Match>
|
|
|
+
|
|
|
+ <!-- Inconsistent synchronization flagged by findbugs is not valid. -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.ipc.Client$Connection" />
|
|
|
+ <Field name="in" />
|
|
|
+ <Bug pattern="IS2_INCONSISTENT_SYNC" />
|
|
|
+ </Match>
|
|
|
+ <!--
|
|
|
+ The switch condition for INITIATE is expected to fallthru to RESPONSE
|
|
|
+ to process initial sasl response token included in the INITIATE
|
|
|
+ -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.ipc.Server$Connection" />
|
|
|
+ <Method name="processSaslMessage" />
|
|
|
+ <Bug pattern="SF_SWITCH_FALLTHROUGH" />
|
|
|
+ </Match>
|
|
|
+
|
|
|
+ <!-- Synchronization performed on util.concurrent instance. -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.service.AbstractService" />
|
|
|
+ <Method name="stop" />
|
|
|
+ <Bug code="JLM" />
|
|
|
+ </Match>
|
|
|
+
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.service.AbstractService" />
|
|
|
+ <Method name="waitForServiceToStop" />
|
|
|
+ <Bug code="JLM" />
|
|
|
+ </Match>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ OpenStack Swift FS module -closes streams in a different method
|
|
|
+ from where they are opened.
|
|
|
+ -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.fs.swift.snative.SwiftNativeOutputStream"/>
|
|
|
+ <Method name="uploadFileAttempt"/>
|
|
|
+ <Bug pattern="OBL_UNSATISFIED_OBLIGATION"/>
|
|
|
+ </Match>
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.fs.swift.snative.SwiftNativeOutputStream"/>
|
|
|
+ <Method name="uploadFilePartAttempt"/>
|
|
|
+ <Bug pattern="OBL_UNSATISFIED_OBLIGATION"/>
|
|
|
+ </Match>
|
|
|
+
|
|
|
+ <!-- code from maven source, null value is checked at callee side. -->
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.util.ComparableVersion$ListItem" />
|
|
|
+ <Method name="compareTo" />
|
|
|
+ <Bug code="NP" />
|
|
|
+ </Match>
|
|
|
+
|
|
|
+ <Match>
|
|
|
+ <Class name="org.apache.hadoop.util.HttpExceptionUtils"/>
|
|
|
+ <Method name="validateResponse"/>
|
|
|
+ <Bug pattern="REC_CATCH_EXCEPTION"/>
|
|
|
+ </Match>
|
|
|
+
|
|
|
+</FindBugsFilter>
|