Details
Description
Spotbugs can bring additional value to static code analysis of ignite:
- Remove modernizer plugin and migrate its rules with Spotbugs rule DM_DEFAULT_ENCODING
- Escape analysis for unclosed Closable instances (OS_OPEN_STREAM, OS_OPEN_STREAM_EXCEPTION_PATH)
- Checks for misusages of InputStream.read and skip (RR_NOT_CHECKED, SR_NOT_CHECKED)
There are other reasonable rules Ignite could also benefit from.
Attachments
Issue Links
- blocks
-
IGNITE-21687 Modify TC jobs to run Spotbugs checks
- Open
- relates to
-
IGNITE-21467 Improve PMD and Checkstyle rulesets
- Resolved
-
IGNITE-21752 Generated CLI code is reported by SpotBugs
- Resolved
- split to
-
IGNITE-21690 ConfigurationNode has inconsistent synchronized access to fields `invalid` and `val`
- Open
-
IGNITE-21691 BasicMetricExporter has inconsistent synchronized access to field `configuration`
- Open
-
IGNITE-21694 HeapLockManager/HeapUnboundedLockManager makes inefficient use of keySet iterator instead of entrySet iterator
- Open
-
IGNITE-21701 Sql. IgniteSender compares unrelated types
- Open
-
IGNITE-21695 PageHandler: useless control flow
- Open
-
IGNITE-21699 Sql. DistributionFunction compares strings by reference
- Open
-
IGNITE-21702 AbstractNode field `inBufSize` is unused
- Open
-
IGNITE-21703 Sql. IgniteSqlFunctions.octetLength relies on default encoding
- Open
-
IGNITE-21704 ConfigurationListenerHolder uses weird equals implementation
- Open
-
IGNITE-21705 CheckpointWorkflow uses weird equals implementation
- Open
-
IGNITE-21706 RandomLruPageReplacementPolicy has dead conditions
- Open
-
IGNITE-21693 TxManagerImpl increments/decrements volatile field `inflights`
- Resolved
-
IGNITE-21700 IgniteSort: result of RelOptCost.plus is ignored but it doesn't have side-effects
- Resolved
-
IGNITE-21696 LazyStripedExecutor performs synchronization on AtomicReferenceArray
- Resolved
-
IGNITE-21692 AbstractFreeList has unused private method `initReusedPage`
- Open
-
IGNITE-21698 LocalConfigurationStorage reboxes unboxed value
- Open
-
IGNITE-21697 ConnectionManager ignores exceptional return value of ExecutorService.submit
- Resolved
- links to