rocksdb/java/spotbugs-exclude.xml
Alan Paxton 2296c624fa Perform java static checks in CI (#11221)
Summary:
Integrate pmd on the Java API to catch and report common Java coding problems; fix or suppress a basic set of PMD checks.

Link pmd into java build / CI

Add a pmd dependency to maven
Add a jpmd target to Makefile which runs pmd
Add a workflow to Circle CI which runs pmd
Configure an initial default pmd for CI

Repair lots of very simple PMD reports generated when we apply pmd-rules.xml

Repair or exception for PMD rules in the CloseResource category, which finds unclosed AutoCloseable resources.
We special-case the configuration of CloseResource and use the // NOPMD comment in source the avoid reports where we are the API creating an AutoCloseable, and therefore returning an unclosed resource is correct behaviour.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/11221

Reviewed By: akankshamahajan15

Differential Revision: D50369930

Pulled By: jowlyzhang

fbshipit-source-id: a41c36b44b3bab7644df3e9cc16afbdf33b84f6b
2023-10-17 10:04:35 -07:00

151 lines
4.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
<!-- The set failing checks when spotbugs was set up were added to this file, as a baseline -->
<!-- These exclusions should each be justified or removed and fixed AP (2023-02-09) -->
<Match>
<Class name="org.rocksdb.SstFileWriter"/>
<Bug pattern="UPM_UNCALLED_PRIVATE_METHOD" />
</Match>
<Match>
<Class name="org.rocksdb.AbstractTransactionNotifier"/>
<Bug pattern="UPM_UNCALLED_PRIVATE_METHOD" />
</Match>
<Match>
<Class name="org.rocksdb.Env"/>
<Bug pattern="MS_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.BackupEngineOptions"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.BackupEngineOptions"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.Transaction$WaitingTransactions"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.TransactionDB$KeyLockInfo"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.Options"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.ColumnFamilyDescriptor"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.ColumnFamilyOptions"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.DBOptions"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.EnvOptions"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.LiveFileMetaData"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.SstFileMetaData"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.StatsCollectorInput"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.ThreadStatus"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.ColumnFamilyMetaData"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.TransactionLogIterator$BatchResult"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.WBWIRocksIterator$WriteEntry"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.TableProperties"/>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.rocksdb.WBWIRocksIterator$WriteEntry"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.TransactionDB$DeadlockPath"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.StatisticsCollector"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.ReadOptions"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.Range"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.Options"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.StatsCollectorInput"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.EnvOptions"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.DBOptions"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.ColumnFamilyOptions"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.ColumnFamilyDescriptor"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Class name="org.rocksdb.BackupEngineOptions"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<!-- comment out a single exclusion to test that CI reports the consequent spotbugs [Error]
<Match>
<Class name="org.rocksdb.TransactionDB$KeyLockInfo"/>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
-->
<Match>
<Bug pattern="BIT_IOR_OF_SIGNED_BYTE" />
</Match>
<Match>
<Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD" />
</Match>
<Match>
<Bug pattern="DMI_HARDCODED_ABSOLUTE_FILENAME" />
</Match>
<Match>
<Class name="org.rocksdb.AbstractCompactionFilterFactory" />
</Match>
</FindBugsFilter>