This is an automated email from the ASF dual-hosted git repository.
jianglongtao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new b3bc6f74caa Fix rules for pmd (#25242)
b3bc6f74caa is described below
commit b3bc6f74caa29b7504fef42074dbd0e76a9b18ee
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Apr 19 23:53:14 2023 +0800
Fix rules for pmd (#25242)
* Fix AvoidInstanceofChecksInCatchClause rule for pmd
* Fix UseCollectionIsEmpty rule for pmd
* Fix LogicInversion rule for pmd
* Fix BigIntegerInstantiation rule for pmd
* Fix UnnecessaryAnnotationValueElement rule for pmd
* Adjust pmd config
* Fix rule SimplifiedTernary for pmd
* Fix rule ImplicitSwitchFallThrough for pmd
* Fix rule AvoidUsingHardCodedIP for pmd
* Fix rule UnnecessaryFullyQualifiedName for pmd
* Fix rule IdenticalCatchBranches for pmd
* Fix rule TooManyMethods for pmd
* Fix rule UselessQualifiedThis for pmd
---
.../WeightReadQueryLoadBalanceAlgorithm.java | 2 +-
...tWhereSegmentShadowColumnConditionIterator.java | 2 +-
.../datetime/IntervalShardingAlgorithm.java | 2 +-
.../sharding/mod/ModShardingAlgorithm.java | 2 +-
.../aggregation/AccumulationAggregationUnit.java | 2 +-
.../aggregation/AverageAggregationUnit.java | 4 ++--
.../DistinctAverageAggregationUnit.java | 4 ++--
.../aggregation/DistinctSumAggregationUnit.java | 2 +-
.../database/schema/util/SystemSchemaUtils.java | 2 +-
.../ingest/InventoryDumperConfiguration.java | 2 +-
.../cdc/client/handler/LoginRequestHandler.java | 1 +
.../pipeline/cdc/util/ColumnValueConvertUtils.java | 2 +-
.../AbstractInventoryIncrementalJobAPIImpl.java | 3 +--
.../AbstractDataConsistencyCalculateAlgorithm.java | 4 +---
...DataMatchDataConsistencyCalculateAlgorithm.java | 6 ++---
.../pipeline/core/job/AbstractPipelineJob.java | 22 +++++++++++-------
.../loader/PipelineTableMetaDataUtils.java | 2 +-
.../client/netty/MySQLCommandPacketDecoder.java | 1 +
.../ingest/client/netty/MySQLNegotiateHandler.java | 26 +++++++++++-----------
.../mode/manager/ContextManager.java | 2 +-
.../cluster/zookeeper/ZookeeperRepository.java | 7 +++---
.../proxy/backend/connector/DatabaseConnector.java | 2 +-
.../ConvertYamlConfigurationExecutor.java | 2 +-
.../frontend/netty/CDCChannelInboundHandler.java | 1 +
src/resources/pmd.xml | 9 +++-----
25 files changed, 58 insertions(+), 56 deletions(-)
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java
index 84465422b2d..e9d487e69e0 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java
@@ -71,7 +71,7 @@ public final class WeightReadQueryLoadBalanceAlgorithm
implements ReadQueryLoadB
private double[] initWeight(final List<String> readDataSourceNames) {
double[] result = getWeights(readDataSourceNames);
- Preconditions.checkState(0 == result.length ||
!(Math.abs(result[result.length - 1] - 1.0D) >= ACCURACY_THRESHOLD),
+ Preconditions.checkState(!(0 != result.length &&
Math.abs(result[result.length - 1] - 1.0D) >= ACCURACY_THRESHOLD),
"The cumulative weight is calculated incorrectly, and the sum
of the probabilities is not equal to 1");
return result;
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/dml/AbstractWhereSegmentShadowColumnConditionIterator.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/dml/AbstractWhereSegmentShadowColumnConditionIterator.java
index 3f145c240d0..2326a8e0100 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/dml/AbstractWhereSegmentShadowColumnConditionIterator.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/engine/dml/AbstractWhereSegmentShadowColumnConditionIterator.java
@@ -32,9 +32,9 @@ import java.util.Optional;
* Abstract shadow column condition iterator of where segment.
*/
@RequiredArgsConstructor
-@Getter(value = AccessLevel.PROTECTED)
public abstract class AbstractWhereSegmentShadowColumnConditionIterator
implements Iterator<Optional<ShadowColumnCondition>> {
+ @Getter(AccessLevel.PROTECTED)
private final String shadowColumn;
private final Iterator<ExpressionSegment> iterator;
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java
index afa68cfbeba..044d1dbd89e 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java
@@ -225,7 +225,7 @@ public final class IntervalShardingAlgorithm implements
StandardShardingAlgorith
Month dateTimeUpperAsMonth = dateTimeUpper.query(Month::from);
Month dateTimeLowerAsMonth = dateTimeLower.query(Month::from);
Month calculateTimeAsView = calculateTime.query(Month::from);
- while (!(calculateTimeAsView.getValue() >
dateTimeUpperAsMonth.getValue()) && (calculateTimeAsView.getValue() +
stepAmount) <= Month.DECEMBER.getValue()) {
+ while (calculateTimeAsView.getValue() <=
dateTimeUpperAsMonth.getValue() && (calculateTimeAsView.getValue() +
stepAmount) <= Month.DECEMBER.getValue()) {
if (hasIntersection(Range.closedOpen(calculateTimeAsView,
calculateTimeAsView.plus(stepAmount)), range, dateTimeLowerAsMonth,
dateTimeUpperAsMonth)) {
result.addAll(getMatchedTables(calculateTimeAsView,
availableTargetNames));
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java
index c04a9bbe51d..150b7159d8f 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java
@@ -119,7 +119,7 @@ public final class ModShardingAlgorithm implements
StandardShardingAlgorithm<Com
BigInteger lower = new
BigInteger(shardingValue.getValueRange().lowerEndpoint().toString());
BigInteger upper = new
BigInteger(shardingValue.getValueRange().upperEndpoint().toString());
BigInteger shardingCountBigInter = new
BigInteger(String.valueOf(shardingCount));
- for (BigInteger i = lower; i.compareTo(upper) <= 0; i = i.add(new
BigInteger("1"))) {
+ for (BigInteger i = lower; i.compareTo(upper) <= 0; i =
i.add(BigInteger.ONE)) {
String shardingResultSuffix =
getShardingResultSuffix(String.valueOf(i.mod(shardingCountBigInter)));
ShardingAutoTableAlgorithmUtils.findMatchedTargetName(availableTargetNames,
shardingResultSuffix, shardingValue.getDataNodeInfo()).ifPresent(result::add);
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AccumulationAggregationUnit.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AccumulationAggregationUnit.java
index 25bad0c2f40..fcf2de51b82 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AccumulationAggregationUnit.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AccumulationAggregationUnit.java
@@ -36,7 +36,7 @@ public final class AccumulationAggregationUnit implements
AggregationUnit {
return;
}
if (null == result) {
- result = new BigDecimal("0");
+ result = BigDecimal.ZERO;
}
result = result.add(new BigDecimal(values.get(0).toString()));
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java
index 50c65471ad7..3a3e650808e 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java
@@ -39,10 +39,10 @@ public final class AverageAggregationUnit implements
AggregationUnit {
return;
}
if (null == count) {
- count = new BigDecimal("0");
+ count = BigDecimal.ZERO;
}
if (null == sum) {
- sum = new BigDecimal("0");
+ sum = BigDecimal.ZERO;
}
count = count.add(new BigDecimal(values.get(0).toString()));
sum = sum.add(new BigDecimal(values.get(1).toString()));
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java
index c82c1e1a25c..150884b1e47 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java
@@ -46,10 +46,10 @@ public final class DistinctAverageAggregationUnit
implements AggregationUnit {
}
if (countValues.add(values.get(0)) && sumValues.add(values.get(0))) {
if (null == count) {
- count = new BigDecimal("0");
+ count = BigDecimal.ZERO;
}
if (null == sum) {
- sum = new BigDecimal("0");
+ sum = BigDecimal.ZERO;
}
count = count.add(new BigDecimal(values.get(0).toString()));
sum = sum.add(new BigDecimal(values.get(1).toString()));
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctSumAggregationUnit.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctSumAggregationUnit.java
index 67e97091d44..c8b1a6dca98 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctSumAggregationUnit.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctSumAggregationUnit.java
@@ -41,7 +41,7 @@ public final class DistinctSumAggregationUnit implements
AggregationUnit {
}
if (this.values.add(values.get(0))) {
if (null == result) {
- result = new BigDecimal("0");
+ result = BigDecimal.ZERO;
}
result = result.add(new BigDecimal(values.get(0).toString()));
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SystemSchemaUtils.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SystemSchemaUtils.java
index 7026b7a1c24..45e8132ad4f 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SystemSchemaUtils.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SystemSchemaUtils.java
@@ -48,6 +48,6 @@ public final class SystemSchemaUtils {
return true;
}
}
- return databaseType instanceof SchemaSupportedDatabaseType ? false :
databaseType.getSystemSchemas().contains(database.getName());
+ return !(databaseType instanceof SchemaSupportedDatabaseType) &&
databaseType.getSystemSchemas().contains(database.getName());
}
}
diff --git
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/ingest/InventoryDumperConfiguration.java
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/ingest/InventoryDumperConfiguration.java
index 8e8f88d5a49..b53da97d117 100644
---
a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/ingest/InventoryDumperConfiguration.java
+++
b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/ingest/InventoryDumperConfiguration.java
@@ -66,6 +66,6 @@ public final class InventoryDumperConfiguration extends
DumperConfiguration {
* @return true when there's unique key, else false
*/
public boolean hasUniqueKey() {
- return null != uniqueKeyColumns && uniqueKeyColumns.size() > 0;
+ return null != uniqueKeyColumns && !uniqueKeyColumns.isEmpty();
}
}
diff --git
a/kernel/data-pipeline/cdc/client/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/client/handler/LoginRequestHandler.java
b/kernel/data-pipeline/cdc/client/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/client/handler/LoginRequestHandler.java
index 9d787db68d6..24e4fd8fffe 100644
---
a/kernel/data-pipeline/cdc/client/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/client/handler/LoginRequestHandler.java
+++
b/kernel/data-pipeline/cdc/client/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/client/handler/LoginRequestHandler.java
@@ -72,6 +72,7 @@ public final class LoginRequestHandler extends
ChannelInboundHandlerAdapter {
break;
default:
ctx.fireChannelRead(msg);
+ break;
}
}
diff --git
a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/ColumnValueConvertUtils.java
b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/ColumnValueConvertUtils.java
index c19daa12fb6..902f8bc8a7a 100644
---
a/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/ColumnValueConvertUtils.java
+++
b/kernel/data-pipeline/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/ColumnValueConvertUtils.java
@@ -105,7 +105,7 @@ public final class ColumnValueConvertUtils {
return BytesValue.of(ByteString.copyFrom((byte[]) object));
}
if (object instanceof Time) {
- java.sql.Time time = (java.sql.Time) object;
+ Time time = (Time) object;
long millis = (int) (time.getTime() % MILLISECONDS_PER_SECOND);
int nanosOfSecond = (int) (millis * NANOSECONDS_PER_MILLISECOND);
LocalTime localTime = LocalTime.of(time.getHours(),
time.getMinutes(), time.getSeconds(), nanosOfSecond);
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/AbstractInventoryIncrementalJobAPIImpl.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/AbstractInventoryIncrementalJobAPIImpl.java
index 8ac8fb404a2..e6970343b0f 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/AbstractInventoryIncrementalJobAPIImpl.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/AbstractInventoryIncrementalJobAPIImpl.java
@@ -159,8 +159,7 @@ public abstract class
AbstractInventoryIncrementalJobAPIImpl extends AbstractPip
}
private JobItemIncrementalTasksProgress getIncrementalTasksProgress(final
Collection<IncrementalTask> incrementalTasks) {
- IncrementalTask incrementalTask = incrementalTasks.size() > 0 ?
incrementalTasks.iterator().next() : null;
- return new JobItemIncrementalTasksProgress(null != incrementalTask ?
incrementalTask.getTaskProgress() : null);
+ return new JobItemIncrementalTasksProgress(incrementalTasks.isEmpty()
? null : incrementalTasks.iterator().next().getTaskProgress());
}
private JobItemInventoryTasksProgress getInventoryTasksProgress(final
Collection<InventoryTask> inventoryTasks) {
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/algorithm/AbstractDataConsistencyCalculateAlgorithm.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/algorithm/AbstractDataConsistencyCalculateAlgorithm.java
index 4bb6c51e462..c1bb08dea72 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/algorithm/AbstractDataConsistencyCalculateAlgorithm.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/algorithm/AbstractDataConsistencyCalculateAlgorithm.java
@@ -54,10 +54,8 @@ public abstract class
AbstractDataConsistencyCalculateAlgorithm implements DataC
statement.cancel();
} catch (final SQLFeatureNotSupportedException ex) {
log.info("cancel is not supported: {}", ex.getMessage());
- } catch (final SQLException ex) {
- log.info("cancel failed: {}", ex.getMessage());
// CHECKSTYLE:OFF
- } catch (final RuntimeException ex) {
+ } catch (final SQLException | RuntimeException ex) {
// CHECKSTYLE:ON
log.info("cancel failed: {}", ex.getMessage());
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/algorithm/DataMatchDataConsistencyCalculateAlgorithm.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/algorithm/DataMatchDataConsistencyCalculateAlgorithm.java
index e85b8211b44..0a69307c9d9 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/algorithm/DataMatchDataConsistencyCalculateAlgorithm.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/algorithm/DataMatchDataConsistencyCalculateAlgorithm.java
@@ -114,13 +114,13 @@ public final class
DataMatchDataConsistencyCalculateAlgorithm extends AbstractSt
calculationContext.close();
}
return records.isEmpty() ? Optional.empty() : Optional.of(new
CalculatedResult(maxUniqueKeyValue, records.size(), records));
+ } catch (final PipelineSQLException ex) {
+ calculationContext.close();
+ throw ex;
// CHECKSTYLE:OFF
} catch (final Exception ex) {
// CHECKSTYLE:ON
calculationContext.close();
- if (ex instanceof PipelineSQLException) {
- throw (PipelineSQLException) ex;
- }
throw new
PipelineTableDataConsistencyCheckLoadingFailedException(param.getSchemaName(),
param.getLogicTableName(), ex);
}
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
index 966f32c3138..95e1c7e6368 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
@@ -50,7 +50,7 @@ public abstract class AbstractPipelineJob implements
PipelineJob {
@Getter
private volatile String jobId;
- @Getter(value = AccessLevel.PROTECTED)
+ @Getter(AccessLevel.PROTECTED)
private volatile PipelineJobAPI jobAPI;
@Getter
@@ -70,21 +70,27 @@ public abstract class AbstractPipelineJob implements
PipelineJob {
try {
doPrepare(jobItemContext);
// CHECKSTYLE:OFF
+ } catch (final RuntimeException ex) {
+ // CHECKSTYLE:ON
+ processFailed(jobItemContext, ex);
+ throw ex;
+ // CHECKSTYLE:OFF
} catch (final Exception ex) {
// CHECKSTYLE:ON
- String jobId = jobItemContext.getJobId();
- log.error("job prepare failed, {}-{}", jobId,
jobItemContext.getShardingItem(), ex);
- jobAPI.persistJobItemErrorMessage(jobItemContext.getJobId(),
jobItemContext.getShardingItem(), ex);
- jobAPI.stop(jobId);
- if (ex instanceof RuntimeException) {
- throw (RuntimeException) ex;
- }
+ processFailed(jobItemContext, ex);
throw new RuntimeException(ex);
}
}
protected abstract void doPrepare(PipelineJobItemContext jobItemContext)
throws Exception;
+ private void processFailed(final PipelineJobItemContext jobItemContext,
final Exception ex) {
+ String jobId = jobItemContext.getJobId();
+ log.error("job prepare failed, {}-{}", jobId,
jobItemContext.getShardingItem(), ex);
+ jobAPI.persistJobItemErrorMessage(jobItemContext.getJobId(),
jobItemContext.getShardingItem(), ex);
+ jobAPI.stop(jobId);
+ }
+
@Override
public Optional<PipelineTasksRunner> getTasksRunner(final int
shardingItem) {
return Optional.ofNullable(tasksRunnerMap.get(shardingItem));
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataUtils.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataUtils.java
index c660853399f..234747bf376 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataUtils.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataUtils.java
@@ -49,7 +49,7 @@ public final class PipelineTableMetaDataUtils {
PipelineTableMetaData tableMetaData =
metaDataLoader.getTableMetaData(schemaName, tableName);
ShardingSpherePreconditions.checkNotNull(tableMetaData, () -> new
SplitPipelineJobByRangeException(tableName, "Can not get table meta data"));
List<String> primaryKeys = tableMetaData.getPrimaryKeyColumns();
- if (primaryKeys.size() > 0) {
+ if (!primaryKeys.isEmpty()) {
return
primaryKeys.stream().map(tableMetaData::getColumnMetaData).collect(Collectors.toList());
}
Collection<PipelineIndexMetaData> uniqueIndexes =
tableMetaData.getUniqueIndexes();
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLCommandPacketDecoder.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLCommandPacketDecoder.java
index e11947cd5e8..7d6584d11c9 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLCommandPacketDecoder.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLCommandPacketDecoder.java
@@ -95,6 +95,7 @@ public final class MySQLCommandPacketDecoder extends
ByteToMessageDecoder {
MySQLFieldCountPacket fieldCountPacket = new
MySQLFieldCountPacket(payload);
currentState = States.FieldPacket;
internalResultSet = new InternalResultSet(fieldCountPacket);
+ break;
}
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiateHandler.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiateHandler.java
index 5883f2e0ce4..d657cd2bca1 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiateHandler.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiateHandler.java
@@ -80,19 +80,7 @@ public final class MySQLNegotiateHandler extends
ChannelInboundHandlerAdapter {
}
if (msg instanceof MySQLAuthSwitchRequestPacket) {
MySQLAuthSwitchRequestPacket authSwitchRequest =
(MySQLAuthSwitchRequestPacket) msg;
- byte[] authPluginResponse;
- // TODO not support sha256_password now
- switch
(MySQLAuthenticationPlugin.getPluginByName(authSwitchRequest.getAuthPluginName()))
{
- case NATIVE_PASSWORD_AUTHENTICATION:
- authPluginResponse =
PasswordEncryption.encryptWithMySQL41(password.getBytes(),
authSwitchRequest.getAuthPluginData().getAuthenticationPluginData());
- break;
- case SHA2_AUTHENTICATION:
- authPluginResponse =
PasswordEncryption.encryptWithSha2(password.getBytes(),
authSwitchRequest.getAuthPluginData().getAuthenticationPluginData());
- break;
- default:
- authPluginResponse = password.getBytes();
- }
- ctx.channel().writeAndFlush(new
MySQLAuthSwitchResponsePacket(authPluginResponse));
+ ctx.channel().writeAndFlush(new
MySQLAuthSwitchResponsePacket(getAuthPluginResponse(authSwitchRequest)));
seed =
authSwitchRequest.getAuthPluginData().getAuthenticationPluginData();
return;
}
@@ -111,6 +99,18 @@ public final class MySQLNegotiateHandler extends
ChannelInboundHandlerAdapter {
throw new RuntimeException(error.getErrorMessage());
}
+ private byte[] getAuthPluginResponse(final MySQLAuthSwitchRequestPacket
authSwitchRequest) throws NoSuchAlgorithmException {
+ // TODO not support sha256_password now
+ switch
(MySQLAuthenticationPlugin.getPluginByName(authSwitchRequest.getAuthPluginName()))
{
+ case NATIVE_PASSWORD_AUTHENTICATION:
+ return
PasswordEncryption.encryptWithMySQL41(password.getBytes(),
authSwitchRequest.getAuthPluginData().getAuthenticationPluginData());
+ case SHA2_AUTHENTICATION:
+ return PasswordEncryption.encryptWithSha2(password.getBytes(),
authSwitchRequest.getAuthPluginData().getAuthenticationPluginData());
+ default:
+ return password.getBytes();
+ }
+ }
+
private void handleCachingSha2Auth(final ChannelHandlerContext ctx, final
MySQLAuthMoreDataPacket authMoreData) {
// how caching_sha2_password works:
https://dev.mysql.com/doc/dev/mysql-server/8.0.11/page_caching_sha2_authentication_exchanges.html#sect_caching_sha2_info
if (!publicKeyRequested) {
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 25644ab3af8..e169c26e33e 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -686,7 +686,7 @@ public final class ContextManager implements AutoCloseable {
public void updateClusterState(final String status) {
try {
clusterStateContext.switchState(ClusterState.valueOf(status));
- } catch (IllegalArgumentException ignore) {
+ } catch (final IllegalArgumentException ignore) {
}
}
diff --git
a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
index 298e97cc372..72de244a289 100644
---
a/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
+++
b/mode/type/cluster/repository/provider/zookeeper/src/main/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepository.java
@@ -207,13 +207,12 @@ public final class ZookeeperRepository implements
ClusterPersistRepository, Inst
public void persistExclusiveEphemeral(final String key, final String
value) {
try {
client.create().creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL).forPath(key,
value.getBytes(StandardCharsets.UTF_8));
+ } catch (final NodeExistsException ex) {
+ throw new ClusterPersistRepositoryException(ex);
// CHECKSTYLE:OFF
} catch (final Exception ex) {
- // CHECKSTYLE:ON
- if (ex instanceof NodeExistsException) {
- throw new ClusterPersistRepositoryException(ex);
- }
ZookeeperExceptionHandler.handleException(ex);
+ // CHECKSTYLE:ON
}
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
index 01fa803bea7..ae7508e168c 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
@@ -132,7 +132,7 @@ public final class DatabaseConnector implements
DatabaseBackendHandler {
this.queryContext = queryContext;
this.backendConnection = backendConnection;
if (sqlStatementContext instanceof CursorAvailable) {
-
DatabaseConnector.this.prepareCursorStatementContext((CursorAvailable)
sqlStatementContext, backendConnection.getConnectionSession());
+ prepareCursorStatementContext((CursorAvailable)
sqlStatementContext, backendConnection.getConnectionSession());
}
proxySQLExecutor = new ProxySQLExecutor(driverType, backendConnection,
this);
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
index 9456e769ec6..45e68256bcc 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
@@ -433,7 +433,7 @@ public final class ConvertYamlConfigurationExecutor
implements QueryableRALExecu
Iterator<EncryptTableRuleConfiguration> iterator =
ruleConfig.getTables().iterator();
while (iterator.hasNext()) {
EncryptTableRuleConfiguration tableRuleConfig = iterator.next();
- boolean queryWithCipher = null !=
tableRuleConfig.getQueryWithCipherColumn() ?
tableRuleConfig.getQueryWithCipherColumn() : true;
+ boolean queryWithCipher = null ==
tableRuleConfig.getQueryWithCipherColumn() ||
tableRuleConfig.getQueryWithCipherColumn();
result.append(String.format(DistSQLScriptConstants.ENCRYPT,
tableRuleConfig.getName(),
getEncryptColumns(tableRuleConfig.getColumns(),
ruleConfig.getEncryptors(), ruleConfig.getLikeEncryptors()), queryWithCipher));
if (iterator.hasNext()) {
diff --git
a/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/CDCChannelInboundHandler.java
b/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/CDCChannelInboundHandler.java
index f48f2bfd42d..8e9abbbcfbb 100644
---
a/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/CDCChannelInboundHandler.java
+++
b/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/CDCChannelInboundHandler.java
@@ -133,6 +133,7 @@ public final class CDCChannelInboundHandler extends
ChannelInboundHandlerAdapter
break;
default:
log.warn("can't handle this type of request {}", request);
+ break;
}
}
diff --git a/src/resources/pmd.xml b/src/resources/pmd.xml
index 43b825120e7..613a28987c6 100644
--- a/src/resources/pmd.xml
+++ b/src/resources/pmd.xml
@@ -23,11 +23,14 @@
<rule ref="rulesets/java/quickstart.xml">
<exclude name="AbstractClassWithoutAnyMethod" />
<exclude name="AvoidAccessibilityAlteration" />
+ <exclude name="AvoidBranchingStatementAsLastInLoop" />
<exclude name="AvoidCatchingThrowable" />
+ <exclude name="AvoidUsingHardCodedIP" />
<exclude name="AvoidUsingVolatile" />
<exclude name="CloseResource" />
<exclude name="FinalFieldCouldBeStatic" />
<exclude name="GuardLogStatement" />
+ <exclude name="OverrideBothEqualsAndHashcode" />
<exclude name="PreserveStackTrace" />
<exclude name="SingularField" />
<exclude name="UncommentedEmptyMethodBody" />
@@ -42,11 +45,6 @@
<property name="maxLineLength" value="200" />
</properties>
</rule>
- <rule ref="category/java/design.xml/TooManyMethods">
- <properties>
- <property name="maxmethods" value="30" />
- </properties>
- </rule>
<rule ref="category/java/design.xml/UseUtilityClass">
<properties>
<property name="ignoredAnnotations"
value="lombok.NoArgsConstructor |
org.springframework.boot.autoconfigure.SpringBootApplication" />
@@ -57,7 +55,6 @@
<property name="allowIf" value="true" />
<property name="allowFor" value="true" />
<property name="allowWhile" value="true" />
- <property name="allowIncrementDecrement" value="true" />
</properties>
</rule>
</ruleset>