You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
533 lines
22 KiB
533 lines
22 KiB
<!-- |
|
Licensed to the Apache Software Foundation (ASF) under one or more |
|
contributor license agreements. See the NOTICE file distributed with |
|
this work for additional information regarding copyright ownership. |
|
The ASF licenses this file to You under the Apache License, Version 2.0 |
|
(the "License"); you may not use this file except in compliance with |
|
the License. You may obtain a copy of the License at |
|
|
|
http://www.apache.org/licenses/LICENSE-2.0 |
|
|
|
Unless required by applicable law or agreed to in writing, software |
|
distributed under the License is distributed on an "AS IS" BASIS, |
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
See the License for the specific language governing permissions and |
|
limitations under the License. |
|
--> |
|
|
|
<!-- Spotbugs filtering. |
|
|
|
Spotbugs is a static code analysis tool run as part of the "check" phase of the build. |
|
This file dictates which categories of bugs and individual false positives that we suppress. |
|
|
|
For a detailed description of spotbugs bug categories, see https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html |
|
--> |
|
<FindBugsFilter> |
|
|
|
<Match> |
|
<!-- Disable warnings about mutable objects and the use of public fields. |
|
EI_EXPOSE_REP: May expose internal representation by returning reference to mutable object |
|
EI_EXPOSE_REP2: May expose internal representation by incorporating reference to mutable object |
|
MS_PKGPROTECT: Field should be package protected |
|
MS_EXPOSE_REP: Public static method may expose internal representation by returning array |
|
EI_EXPOSE_STATIC_REP2: May expose internal static state by storing a mutable object into a static field --> |
|
<Bug pattern="EI_EXPOSE_REP,EI_EXPOSE_REP2,MS_PKGPROTECT,EI_EXPOSE_STATIC_REP2,MS_EXPOSE_REP"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Disable warnings about System.exit, until we decide to stop using it. |
|
DM_EXIT: Method invokes System.exit --> |
|
<Bug pattern="DM_EXIT"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Disable warnings about the lack of equals() when compareTo() is implemented. |
|
EQ_COMPARETO_USE_OBJECT_EQUALS: This class defines a compareTo method but no equals() method --> |
|
<Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Spotbugs tends to work a little bit better with Java than with Scala. We suppress |
|
some categories of bug reports when using Scala, since spotbugs generates huge |
|
numbers of false positives in some of these categories when examining Scala code. |
|
|
|
NP_LOAD_OF_KNOWN_NULL_VALUE: The variable referenced at this point is known to be null |
|
due to an earlier check against null. |
|
NP_NULL_PARAM_DEREF: Method call passes null for non-null parameter. |
|
NP_NULL_ON_SOME_PATH: Possible null pointer dereference |
|
SE_BAD_FIELD: Non-transient non-serializable instance field in serializable class. |
|
DM_STRING_CTOR: Method invokes inefficient new String(String) constructor. |
|
DM_NEW_FOR_GETCLASS: Method allocates an object, only to get the class object. |
|
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD: Write to static field from instance method. |
|
DM_NUMBER_CTOR: Method invokes inefficient Number constructor; use static valueOf instead. |
|
RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE: Nullcheck of value previously dereferenced. |
|
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: Redundant nullcheck of value known to be non-null. |
|
RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE: Redundant nullcheck of value known to be null. |
|
RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT: Return value of method without side effect is ignored. |
|
NM_CLASS_NAMING_CONVENTION: Class names should start with an upper case letter. |
|
NM_METHOD_NAMING_CONVENTION: Method names should start with a lower case letter. |
|
EC_NULL_ARG: Call to equals(null) |
|
NP_ALWAYS_NULL: Null pointer dereference |
|
MS_CANNOT_BE_FINAL: Field isn't final and can't be protected from malicious code |
|
IC_INIT_CIRCULARITY: Initialization circularity |
|
SE_NO_SUITABLE_CONSTRUCTOR: Class is Serializable but its superclass doesn't define a void constructor --> |
|
<Source name="~.*\.scala" /> |
|
<Or> |
|
<Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE"/> |
|
<Bug pattern="NP_NULL_ON_SOME_PATH"/> |
|
<Bug pattern="NP_NULL_PARAM_DEREF"/> |
|
<Bug pattern="SE_BAD_FIELD"/> |
|
<Bug pattern="DM_STRING_CTOR"/> |
|
<Bug pattern="DM_NEW_FOR_GETCLASS"/> |
|
<Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD"/> |
|
<Bug pattern="DM_NUMBER_CTOR"/> |
|
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/> |
|
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/> |
|
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"/> |
|
<Bug pattern="RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT"/> |
|
<Bug pattern="NM_CLASS_NAMING_CONVENTION"/> |
|
<Bug pattern="NM_METHOD_NAMING_CONVENTION"/> |
|
<Bug pattern="EC_NULL_ARG"/> |
|
<Bug pattern="NP_ALWAYS_NULL"/> |
|
<Bug pattern="MS_CANNOT_BE_FINAL"/> |
|
<Bug pattern="IC_INIT_CIRCULARITY"/> |
|
<Bug pattern="SE_NO_SUITABLE_CONSTRUCTOR"/> |
|
<Bug pattern="DMI_RANDOM_USED_ONLY_ONCE"/> |
|
<Bug pattern="SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA"/> |
|
</Or> |
|
</Match> |
|
|
|
<!-- false positive in Java 11, related to https://github.com/spotbugs/spotbugs/issues/756 but more complex --> |
|
<Match> |
|
<Class name="org.apache.kafka.common.compress.KafkaLZ4BlockOutputStream"/> |
|
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/> |
|
</Match> |
|
|
|
<!-- false positive, see https://github.com/spotbugs/spotbugs/issues/1001 --> |
|
<Match> |
|
<Class name="org.apache.kafka.common.internals.KafkaFutureImpl"/> |
|
<Bug pattern="NP_NONNULL_PARAM_VIOLATION"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppression for the equals() for extension methods. --> |
|
<Class name="kafka.api.package$ElectLeadersRequestOps"/> |
|
<Bug pattern="EQ_UNUSUAL"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppression for the equals() for extension methods. --> |
|
<Class name="kafka.utils.Implicits$MapExtensionMethods"/> |
|
<Bug pattern="EQ_UNUSUAL"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Add a suppression for auto-generated calls to instanceof in kafka.utils.Json --> |
|
<Source name="Json.scala"/> |
|
<Package name="kafka.utils"/> |
|
<Bug pattern="BC_VACUOUS_INSTANCEOF"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- A spurious null check after inlining by the scalac optimizer confuses spotBugs --> |
|
<Class name="kafka.log.Log"/> |
|
<Bug pattern="NP_NULL_ON_SOME_PATH_EXCEPTION"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Scala doesn't have checked exceptions so one cannot catch RuntimeException and rely |
|
on the compiler to fail if the code is changed to call a method that throws Exception. |
|
Given that, this bug pattern doesn't make sense for Scala code. --> |
|
<Class name="kafka.log.Log"/> |
|
<Bug pattern="REC_CATCH_EXCEPTION"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- A spurious null check after inlining by the scalac optimizer confuses spotBugs --> |
|
<Class name="kafka.tools.StateChangeLogMerger$"/> |
|
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"/> |
|
</Match> |
|
|
|
<Match> |
|
<Or> |
|
<!-- Unboxing to Int to make scalac happy makes spotBugs unhappy --> |
|
<Class name="kafka.tools.ConsoleConsumer$ConsumerConfig"/> |
|
<!-- Java's own Map#compute forces this pattern on us --> |
|
<Class name="org.apache.kafka.streams.query.Position"/> |
|
</Or> |
|
<Bug pattern="BX_UNBOXING_IMMEDIATELY_REBOXED"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Uncallable anonymous methods are left behind after inlining by scalac 2.12, fixed in 2.13 --> |
|
<Source name="AdminUtils.scala"/> |
|
<Package name="kafka.admin"/> |
|
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Uncallable anonymous methods are left behind after inlining by scalac 2.12, fixed in 2.13 --> |
|
<Source name="ControllerContext.scala"/> |
|
<Package name="kafka.controller"/> |
|
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- offsets is a lazy val and it confuses spotBugs with its locking scheme --> |
|
<Class name="kafka.server.checkpoints.LazyOffsetCheckpointMap"/> |
|
<Bug pattern="IS2_INCONSISTENT_SYNC"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Uncallable anonymous methods are left behind after inlining by scalac 2.12, fixed in 2.13 --> |
|
<Source name="ReplicaManager.scala"/> |
|
<Package name="kafka.server"/> |
|
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Uncallable anonymous methods are left behind after inlining by scalac 2.12, fixed in 2.13 --> |
|
<Source name="LogManager.scala"/> |
|
<Package name="kafka.log"/> |
|
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Uncallable anonymous methods are left behind after inlining by scalac 2.12, fixed in 2.13 --> |
|
<Source name="DelayedElectLeader.scala"/> |
|
<Package name="kafka.server"/> |
|
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Uncallable anonymous methods are left behind after inlining by scalac 2.12, fixed in 2.13 --> |
|
<Source name="AdminZkClient.scala"/> |
|
<Package name="kafka.zk"/> |
|
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Uncallable anonymous methods are left behind after inlining by scalac 2.12, fixed in 2.13 --> |
|
<Source name="AuthHelper.scala"/> |
|
<Package name="kafka.server"/> |
|
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Uncallable anonymous methods are left behind after inlining by scalac 2.12, fixed in 2.13 --> |
|
<Source name="KafkaApis.scala"/> |
|
<Package name="kafka.server"/> |
|
<Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Keeping this class for compatibility. It's deprecated and will be removed in the next major release --> |
|
<Source name="MessageFormatter.scala"/> |
|
<Package name="kafka.common"/> |
|
<Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a warning about some static initializers in Schema using instances of a |
|
subclass. --> |
|
<Or> |
|
<Class name="org.apache.kafka.connect.data.Schema"/> |
|
<Class name="org.apache.kafka.connect.data.SchemaBuilder"/> |
|
</Or> |
|
<Bug pattern="IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warnings about unread protected fields in some public classes. |
|
Although these are not read in Kafka Connect code, they are part of the API. --> |
|
<Or> |
|
<Class name="org.apache.kafka.connect.connector.Connector"/> |
|
<Class name="org.apache.kafka.connect.sink.SinkTask"/> |
|
<Class name="org.apache.kafka.connect.source.SourceTask"/> |
|
</Or> |
|
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warnings about converting an integer number of |
|
milliseconds to a java.util.Date object. We do this intentionally in |
|
org.apache.kafka.connect.data.Time. --> |
|
<Class name="org.apache.kafka.connect.data.Time"/> |
|
<Method name="toLogical"/> |
|
<Bug pattern="ICAST_INT_2_LONG_AS_INSTANT"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warning about missing reflexive and symmetric properties of equal. |
|
This equals method is used as a value filter for Jackson. --> |
|
<Class name="org.apache.kafka.connect.runtime.rest.entities.PluginInfo$NoVersionFilter"/> |
|
<Method name="equals"/> |
|
<Bug pattern="EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress some minor warnings about machine-generated code for benchmarking. --> |
|
<Package name="~org\.apache\.kafka\.jmh\..*\.jmh_generated"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warnings about generated schema arrays. --> |
|
<Or> |
|
<Package name="org.apache.kafka.common.message"/> |
|
<Package name="org.apache.kafka.streams.internals.generated"/> |
|
<Package name="kafka.internals.generated"/> |
|
</Or> |
|
<Bug pattern="MS_MUTABLE_ARRAY"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warnings about ignoring the return value of await. |
|
This is done intentionally because we use other clues to determine |
|
if the wait was cut short. --> |
|
<Class name="org.apache.kafka.connect.runtime.AbstractWorkerSourceTask"/> |
|
<Method name="execute"/> |
|
<Bug pattern="RV_RETURN_VALUE_IGNORED"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a warning about ignoring the return value of await. |
|
This is done intentionally because we use other clues to determine |
|
if the wait was cut short. --> |
|
<Package name="kafka.log"/> |
|
<Source name="LogCleanerManager.scala"/> |
|
<Bug pattern="RV_RETURN_VALUE_IGNORED,RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress some warnings about intentional switch statement fallthrough. --> |
|
<Class name="org.apache.kafka.connect.runtime.WorkerConnector"/> |
|
<Or> |
|
<Method name="doStart"/> |
|
</Or> |
|
<Bug pattern="SF_SWITCH_FALLTHROUGH"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a warning about intentional switch statement fallthrough. --> |
|
<Class name="org.apache.kafka.common.security.authenticator.SaslClientAuthenticator"/> |
|
<Method name="authenticate"/> |
|
<Bug pattern="SF_SWITCH_FALLTHROUGH"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- False positive - the volatile read is guarded by a lock. --> |
|
<Class name="org.apache.kafka.storage.internals.log.AbstractIndex"/> |
|
<Method name="incrementEntries"/> |
|
<Bug pattern="VO_VOLATILE_INCREMENT"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- False positive - `ScheduledThreadPoolExecutor.getQueue()` specifies via its javadoc that its elements are of type `ScheduledFuture` --> |
|
<Class name="org.apache.kafka.server.util.KafkaScheduler"/> |
|
<Method name="taskRunning"/> |
|
<Bug pattern="GC_UNRELATED_TYPES"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a spurious warning about a missing default case. --> |
|
<Or> |
|
<Class name="org.apache.kafka.common.utils.Crc32"/> |
|
<Class name="org.apache.kafka.common.utils.PureJavaCrc32C"/> |
|
</Or> |
|
<Method name="update"/> |
|
<Bug pattern="SF_SWITCH_NO_DEFAULT"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a warning about intentional missing default cases and fallthroughs. --> |
|
<Class name="org.apache.kafka.common.utils.Utils"/> |
|
<Method name="murmur2"/> |
|
<Or> |
|
<Bug pattern="SF_SWITCH_NO_DEFAULT"/> |
|
<Bug pattern="SF_SWITCH_FALLTHROUGH"/> |
|
</Or> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a warning about intentional missing default cases and fallthroughs. --> |
|
<Class name="org.apache.kafka.streams.state.internals.Murmur3"/> |
|
<Or> |
|
<Bug pattern="SF_SWITCH_NO_DEFAULT"/> |
|
<Bug pattern="SF_SWITCH_FALLTHROUGH"/> |
|
</Or> |
|
</Match> |
|
|
|
|
|
<Match> |
|
<!-- Suppress a warning about intentional missing default cases and fallthroughs. --> |
|
<Class name="org.apache.kafka.streams.state.internals.Murmur3$IncrementalHash32"/> |
|
<Or> |
|
<Bug pattern="SF_SWITCH_NO_DEFAULT"/> |
|
<Bug pattern="SF_SWITCH_FALLTHROUGH"/> |
|
</Or> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a spurious warning about locks not being released on all paths. |
|
This happens because there is an 'if' statement that checks if we have the lock before |
|
releasing it. --> |
|
<Class name="org.apache.kafka.clients.producer.internals.BufferPool"/> |
|
<Method name="allocate"/> |
|
<Bug pattern="UL_UNRELEASED_LOCK"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warnings about synchronizing on the UnsentRequests |
|
ConcurrentHashMap. This is done deliberately. --> |
|
<Package name="org.apache.kafka.clients.consumer.internals"/> |
|
<Source name="ConsumerNetworkClient.java"/> |
|
<Bug pattern="JLM_JSR166_UTILCONCURRENT_MONITORENTER"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress inconsistent synchronization warnings about |
|
AbstractCoordinator#coordinator. See KAFKA-4992 for details.--> |
|
<Class name="org.apache.kafka.clients.consumer.internals.AbstractCoordinator"/> |
|
<Bug pattern="IS2_INCONSISTENT_SYNC"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a warning about ignoring the return value of await. |
|
This is done intentionally because we use other clues to determine |
|
if the wait was cut short. --> |
|
<Package name="org.apache.kafka.queue"/> |
|
<Source name="KafkaEventQueue.java"/> |
|
<Bug pattern="RV_RETURN_VALUE_IGNORED,RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warnings about implementing compareTo but not equals. --> |
|
<Class name="org.apache.kafka.streams.processor.internals.Stamped"/> |
|
<Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warning about applicationID that gets initialized before |
|
any other threads are created, but is used in synchronized and |
|
unsynchronized methods because it comes from the configs, |
|
passed through rewriteTopology. --> |
|
<Package name="org.apache.kafka.streams.processor.internals"/> |
|
<Source name="InternalTopologyBuilder.java"/> |
|
<Bug pattern="IS2_INCONSISTENT_SYNC"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Ignore a warning about synchronizing on an AtomicBoolean --> |
|
<Package name="kafka.metrics"/> |
|
<Source name="KafkaMetricsReporter.scala"/> |
|
<Method name="startReporters"/> |
|
<Bug pattern="JLM_JSR166_UTILCONCURRENT_MONITORENTER"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Ignore spurious warning about imbalanced synchronization on a cached Exception. Some accesses of the |
|
variable must occur in synchronized blocks, while some need not, because of the nature of the producer. |
|
This seems to throw the static checker off. --> |
|
<Package name="org.apache.kafka.clients.producer" /> |
|
<Source name="TransactionState.java" /> |
|
<Bug pattern="IS2_INCONSISTENT_SYNC" /> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a spurious warning about an unreleased lock. --> |
|
<Class name="kafka.utils.timer.SystemTimer"/> |
|
<Method name="add"/> |
|
<Bug pattern="UL_UNRELEASED_LOCK_EXCEPTION_PATH"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a warning about an intentional infinite loop. --> |
|
<Package name="kafka.utils"/> |
|
<Source name="Throttler.scala"/> |
|
<Method name="main"/> |
|
<Bug pattern="IL_INFINITE_LOOP"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a spurious warning about calling notify without modifying |
|
other state under the monitor. --> |
|
<Package name="org.apache.kafka.trogdor.workload"/> |
|
<Source name="RoundTripWorker.java"/> |
|
<Bug pattern="NN_NAKED_NOTIFY"/> |
|
</Match> |
|
|
|
<Match> |
|
<Package name="org.apache.kafka.streams.scala"/> |
|
<Source name="FunctionsCompatConversions.scala"/> |
|
<Bug pattern="EQ_UNUSUAL"/> |
|
</Match> |
|
|
|
- <Match> |
|
<Package name="org.apache.kafka.streams.scala"/> |
|
<Or> |
|
<Class name="org.apache.kafka.streams.scala.Serializer" /> |
|
<Class name="org.apache.kafka.streams.scala.Deserializer" /> |
|
</Or> |
|
<Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/> |
|
</Match> |
|
|
|
<!-- Suppress warnings for unused members that are undetectably used by Jackson --> |
|
<Match> |
|
<Package name="org.apache.kafka.streams.examples.pageview"/> |
|
<Bug pattern="NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD"/> |
|
</Match> |
|
<Match> |
|
<Package name="org.apache.kafka.streams.examples.pageview"/> |
|
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/> |
|
</Match> |
|
<Match> |
|
<Package name="org.apache.kafka.streams.examples.pageview"/> |
|
<Bug pattern="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD"/> |
|
</Match> |
|
|
|
<!-- END Suppress warnings for unused members that are undetectably used by Jackson --> |
|
|
|
<Match> |
|
<!-- Boolean deserializer intentionally returns null on null input. --> |
|
<Class name="org.apache.kafka.common.serialization.BooleanDeserializer"/> |
|
<Method name="deserialize"/> |
|
<Bug pattern="NP_BOOLEAN_RETURN_NULL"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress a warning about ignoring return value because this is intentional. --> |
|
<Class name="org.apache.kafka.common.config.AbstractConfig$ResolvingMap"/> |
|
<Method name="get"/> |
|
<Bug pattern="RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- False positive - the field is used in other modules and its unit test --> |
|
<Class name="org.apache.kafka.common.utils.PrimitiveRef$LongRef"/> |
|
<Field name="value"/> |
|
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warnings related to jmh generated code --> |
|
<Package name="org.apache.kafka.jmh.acl.generated"/> |
|
</Match> |
|
|
|
<Match> |
|
<!-- Suppress warnings related to jmh generated code --> |
|
<Package name="org.apache.kafka.jmh.metadata.generated"/> |
|
</Match> |
|
|
|
<Match> |
|
<Package name="org.apache.kafka.common.security.oauthbearer.secured" /> |
|
<Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/> |
|
</Match> |
|
|
|
<Match> |
|
<Class name="org.apache.kafka.jmh.util.ByteUtilsBenchmark$BaseBenchmarkState" /> |
|
<!-- Suppress warning because JMH code is used to instantiate Random() once per Trial. This is done to ensure |
|
that all benchmarks run with same seed for Random. --> |
|
<Bug pattern="DMI_RANDOM_USED_ONLY_ONCE"/> |
|
</Match> |
|
|
|
</FindBugsFilter>
|
|
|