SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.7.3

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
43 26 0 0

Files

Class Bugs
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.MySQLBinlogContext 2
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.data.unsigned.impl.MySQLBinlogUnsignedMediumintHandler 1
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLDeleteRowsBinlogEvent 2
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLUpdateRowsBinlogEvent 4
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLWriteRowsBinlogEvent 2
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.InternalResultSet 4
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.MySQLBinlogClient 2
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.MySQLBinlogClient$MySQLCommandResponseHandler 1
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.PasswordEncryption 2
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.netty.MySQLNegotiateHandler 4
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.dumper.MySQLIncrementalDumper 1
org.apache.shardingsphere.data.pipeline.mysql.query.MySQLJDBCStreamQueryBuilder 1

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.MySQLBinlogContext

Bug Category Details Line Priority
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.MySQLBinlogContext.getTableMap() may expose internal representation by returning MySQLBinlogContext.tableMap MALICIOUS_CODE EI_EXPOSE_REP 37 Medium
new org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.MySQLBinlogContext(int, Map) may expose internal representation by storing an externally mutable object into MySQLBinlogContext.tableMap MALICIOUS_CODE EI_EXPOSE_REP2 30 Medium

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.data.unsigned.impl.MySQLBinlogUnsignedMediumintHandler

Bug Category Details Line Priority
Boxed value is unboxed and then immediately reboxed in org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.data.unsigned.impl.MySQLBinlogUnsignedMediumintHandler.handle(Integer) PERFORMANCE BX_UNBOXING_IMMEDIATELY_REBOXED 31 Medium

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLDeleteRowsBinlogEvent

Bug Category Details Line Priority
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLDeleteRowsBinlogEvent.getBeforeRows() may expose internal representation by returning MySQLDeleteRowsBinlogEvent.beforeRows MALICIOUS_CODE EI_EXPOSE_REP 31 Medium
new org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLDeleteRowsBinlogEvent(String, long, long, String, String, List) may expose internal representation by storing an externally mutable object into MySQLDeleteRowsBinlogEvent.beforeRows MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLUpdateRowsBinlogEvent

Bug Category Details Line Priority
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLUpdateRowsBinlogEvent.getAfterRows() may expose internal representation by returning MySQLUpdateRowsBinlogEvent.afterRows MALICIOUS_CODE EI_EXPOSE_REP 33 Medium
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLUpdateRowsBinlogEvent.getBeforeRows() may expose internal representation by returning MySQLUpdateRowsBinlogEvent.beforeRows MALICIOUS_CODE EI_EXPOSE_REP 31 Medium
new org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLUpdateRowsBinlogEvent(String, long, long, String, String, List, List) may expose internal representation by storing an externally mutable object into MySQLUpdateRowsBinlogEvent.afterRows MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium
new org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLUpdateRowsBinlogEvent(String, long, long, String, String, List, List) may expose internal representation by storing an externally mutable object into MySQLUpdateRowsBinlogEvent.beforeRows MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLWriteRowsBinlogEvent

Bug Category Details Line Priority
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLWriteRowsBinlogEvent.getAfterRows() may expose internal representation by returning MySQLWriteRowsBinlogEvent.afterRows MALICIOUS_CODE EI_EXPOSE_REP 31 Medium
new org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog.event.rows.MySQLWriteRowsBinlogEvent(String, long, long, String, String, List) may expose internal representation by storing an externally mutable object into MySQLWriteRowsBinlogEvent.afterRows MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.InternalResultSet

Bug Category Details Line Priority
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.InternalResultSet.getFieldDescriptors() may expose internal representation by returning InternalResultSet.fieldDescriptors MALICIOUS_CODE EI_EXPOSE_REP 38 Medium
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.InternalResultSet.getFieldValues() may expose internal representation by returning InternalResultSet.fieldValues MALICIOUS_CODE EI_EXPOSE_REP 40 Medium
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.InternalResultSet.getHeader() may expose internal representation by returning InternalResultSet.header MALICIOUS_CODE EI_EXPOSE_REP 36 Medium
new org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.InternalResultSet(MySQLFieldCountPacket) may expose internal representation by storing an externally mutable object into InternalResultSet.header MALICIOUS_CODE EI_EXPOSE_REP2 32 Medium

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.MySQLBinlogClient

Bug Category Details Line Priority
Inconsistent synchronization of org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.MySQLBinlogClient.channel; locked 80% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 293 Medium
Inconsistent synchronization of org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.MySQLBinlogClient.eventLoopGroup; locked 77% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 297 Medium
Inconsistent synchronization of org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.MySQLBinlogClient.responseCallback; locked 63% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 314 Medium

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.MySQLBinlogClient$MySQLCommandResponseHandler

Bug Category Details Line Priority

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.PasswordEncryption

Bug Category Details Line Priority
Found reliance on default encoding in org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.PasswordEncryption.encryptWithRSAPublicKey(String, byte[], String, String): String.getBytes() I18N DM_DEFAULT_ENCODING 90 High
Found reliance on default encoding in org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.PasswordEncryption.formatKey(String): String.getBytes() I18N DM_DEFAULT_ENCODING 108 High

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.netty.MySQLNegotiateHandler

Bug Category Details Line Priority
Found reliance on default encoding in org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.netty.MySQLNegotiateHandler.generateAuthResponse(byte[]): String.getBytes() I18N DM_DEFAULT_ENCODING 133 High
Found reliance on default encoding in org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.netty.MySQLNegotiateHandler.getAuthPluginResponse(MySQLAuthSwitchRequestPacket): String.getBytes() I18N DM_DEFAULT_ENCODING 105 High
Found reliance on default encoding in org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.netty.MySQLNegotiateHandler.handleCachingSha2Auth(ChannelHandlerContext, MySQLAuthMoreDataPacket): new String(byte[]) I18N DM_DEFAULT_ENCODING 116 High
new org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.client.netty.MySQLNegotiateHandler(String, String, Promise) may expose internal representation by storing an externally mutable object into MySQLNegotiateHandler.authResultCallback MALICIOUS_CODE EI_EXPOSE_REP2 44 Medium

org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.dumper.MySQLIncrementalDumper

Bug Category Details Line Priority
new org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.dumper.MySQLIncrementalDumper(IncrementalDumperContext, IngestPosition, PipelineChannel, PipelineTableMetaDataLoader) may expose internal representation by storing an externally mutable object into MySQLIncrementalDumper.channel MALICIOUS_CODE EI_EXPOSE_REP2 79 Medium

org.apache.shardingsphere.data.pipeline.mysql.query.MySQLJDBCStreamQueryBuilder

Bug Category Details Line Priority
org.apache.shardingsphere.data.pipeline.mysql.query.MySQLJDBCStreamQueryBuilder.build(Connection, String, int) may fail to clean up java.sql.Statement on checked exception EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE 34 Medium