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 |
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 |