This is an automated email from the ASF dual-hosted git repository.
nastra pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/main by this push:
new 2f05390e07 Build: Ban Preconditions.checkState with %d placeholder
(#16407)
2f05390e07 is described below
commit 2f05390e0730200866f52a7e8585480bd6c4596e
Author: Yuya Ebihara <[email protected]>
AuthorDate: Thu May 21 16:34:00 2026 +0900
Build: Ban Preconditions.checkState with %d placeholder (#16407)
---
.baseline/checkstyle/checkstyle.xml | 6 ++++++
api/src/main/java/org/apache/iceberg/PartitionStatistics.java | 2 +-
core/src/main/java/org/apache/iceberg/PartitionStatsHandler.java | 2 +-
.../main/java/org/apache/iceberg/encryption/AesGcmInputFile.java | 2 +-
.../main/java/org/apache/iceberg/encryption/AesGcmInputStream.java | 2 +-
.../apache/iceberg/flink/maintenance/operator/BaseCoordinator.java | 2 +-
.../iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java | 4 ++--
.../apache/iceberg/flink/maintenance/operator/BaseCoordinator.java | 2 +-
.../iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java | 4 ++--
.../apache/iceberg/flink/maintenance/operator/BaseCoordinator.java | 2 +-
.../iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java | 4 ++--
11 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/.baseline/checkstyle/checkstyle.xml
b/.baseline/checkstyle/checkstyle.xml
index f94848450a..5760ef6363 100644
--- a/.baseline/checkstyle/checkstyle.xml
+++ b/.baseline/checkstyle/checkstyle.xml
@@ -88,6 +88,12 @@
<property name="format"
value="Preconditions\.checkArgument\([^;]+%d[^;]+\);"/>
<property name="message" value="Preconditions.checkArgument does not
support %d. use %s instead"/>
</module>
+ <module name="RegexpMultiline">
+ <property name="fileExtensions" value="java"/>
+ <property name="matchAcrossLines" value="true"/>
+ <property name="format"
value="Preconditions\.checkState\([^;]+%d[^;]+\);"/>
+ <property name="message" value="Preconditions.checkState does not
support %d. use %s instead"/>
+ </module>
<module name="RegexpMultiline">
<property name="format"
value="^\s*import\s+static\s+(?!\Qorg.assertj.core.api.Assertions.\E).*\.assertThatThrownBy;"/>
<property name="message" value="assertThatThrownBy() should be
statically imported from org.assertj.core.api.Assertions"/>
diff --git a/api/src/main/java/org/apache/iceberg/PartitionStatistics.java
b/api/src/main/java/org/apache/iceberg/PartitionStatistics.java
index b965f32161..bfff812e39 100644
--- a/api/src/main/java/org/apache/iceberg/PartitionStatistics.java
+++ b/api/src/main/java/org/apache/iceberg/PartitionStatistics.java
@@ -58,7 +58,7 @@ public interface PartitionStatistics extends StructLike {
static Schema schema(Types.StructType unifiedPartitionType, int
formatVersion) {
Preconditions.checkState(!unifiedPartitionType.fields().isEmpty(), "Table
must be partitioned");
- Preconditions.checkState(formatVersion > 0, "Invalid format version: %d",
formatVersion);
+ Preconditions.checkState(formatVersion > 0, "Invalid format version: %s",
formatVersion);
if (formatVersion <= 2) {
return v2Schema(unifiedPartitionType);
diff --git a/core/src/main/java/org/apache/iceberg/PartitionStatsHandler.java
b/core/src/main/java/org/apache/iceberg/PartitionStatsHandler.java
index 9420095f94..a3e298d72b 100644
--- a/core/src/main/java/org/apache/iceberg/PartitionStatsHandler.java
+++ b/core/src/main/java/org/apache/iceberg/PartitionStatsHandler.java
@@ -186,7 +186,7 @@ public class PartitionStatsHandler {
Preconditions.checkState(!unifiedPartitionType.fields().isEmpty(), "Table
must be partitioned");
Preconditions.checkState(
formatVersion > 0 && formatVersion <=
TableMetadata.SUPPORTED_TABLE_FORMAT_VERSION,
- "Invalid format version: %d",
+ "Invalid format version: %s",
formatVersion);
if (formatVersion <= 2) {
diff --git
a/core/src/main/java/org/apache/iceberg/encryption/AesGcmInputFile.java
b/core/src/main/java/org/apache/iceberg/encryption/AesGcmInputFile.java
index 8678a6e336..f2d8a02a30 100644
--- a/core/src/main/java/org/apache/iceberg/encryption/AesGcmInputFile.java
+++ b/core/src/main/java/org/apache/iceberg/encryption/AesGcmInputFile.java
@@ -69,7 +69,7 @@ public class AesGcmInputFile implements InputFile {
long ciphertextLength = encryptedLength();
Preconditions.checkState(
ciphertextLength >= Ciphers.MIN_STREAM_LENGTH,
- "Invalid encrypted stream: %d is shorter than the minimum possible
stream length",
+ "Invalid encrypted stream: %s is shorter than the minimum possible
stream length",
ciphertextLength);
return new AesGcmInputStream(sourceFile.newStream(), ciphertextLength,
dataKey, fileAADPrefix);
}
diff --git
a/core/src/main/java/org/apache/iceberg/encryption/AesGcmInputStream.java
b/core/src/main/java/org/apache/iceberg/encryption/AesGcmInputStream.java
index 1f52ab3682..e5917a2fc5 100644
--- a/core/src/main/java/org/apache/iceberg/encryption/AesGcmInputStream.java
+++ b/core/src/main/java/org/apache/iceberg/encryption/AesGcmInputStream.java
@@ -79,7 +79,7 @@ public class AesGcmInputStream extends SeekableInputStream {
int plainBlockSize = ByteBuffer.wrap(headerBytes, 4,
4).order(ByteOrder.LITTLE_ENDIAN).getInt();
Preconditions.checkState(
plainBlockSize == Ciphers.PLAIN_BLOCK_SIZE,
- "Invalid GCM stream: block size %d != %d",
+ "Invalid GCM stream: block size %s != %s",
plainBlockSize,
Ciphers.PLAIN_BLOCK_SIZE);
}
diff --git
a/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
b/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
index 21e9ca43f3..0ea8eb3c5b 100644
---
a/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
+++
b/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
@@ -226,7 +226,7 @@ abstract class BaseCoordinator implements
OperatorCoordinator {
int attemptNumber = gateway.getExecution().getAttemptNumber();
Preconditions.checkState(
!gateways.containsKey(attemptNumber),
- "Coordinator of %s already has a subtask gateway for (#%d)",
+ "Coordinator of %s already has a subtask gateway for (#%s)",
operatorName,
attemptNumber);
LOG.debug("Coordinator of {} registers gateway for attempt {}",
operatorName, attemptNumber);
diff --git
a/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
b/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
index 2dcc75b7f6..3c33fe7674 100644
---
a/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
+++
b/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
@@ -457,7 +457,7 @@ class DataStatisticsCoordinator implements
OperatorCoordinator {
int attemptNumber = gateway.getExecution().getAttemptNumber();
Preconditions.checkState(
!gateways[subtaskIndex].containsKey(attemptNumber),
- "Coordinator of %s already has a subtask gateway for %d (#%d)",
+ "Coordinator of %s already has a subtask gateway for %s (#%s)",
operatorName,
subtaskIndex,
attemptNumber);
@@ -481,7 +481,7 @@ class DataStatisticsCoordinator implements
OperatorCoordinator {
private OperatorCoordinator.SubtaskGateway getSubtaskGateway(int
subtaskIndex) {
Preconditions.checkState(
!gateways[subtaskIndex].isEmpty(),
- "Coordinator of %s subtask %d is not ready yet to receive events",
+ "Coordinator of %s subtask %s is not ready yet to receive events",
operatorName,
subtaskIndex);
return Iterables.getOnlyElement(gateways[subtaskIndex].values());
diff --git
a/flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
b/flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
index 21e9ca43f3..0ea8eb3c5b 100644
---
a/flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
+++
b/flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
@@ -226,7 +226,7 @@ abstract class BaseCoordinator implements
OperatorCoordinator {
int attemptNumber = gateway.getExecution().getAttemptNumber();
Preconditions.checkState(
!gateways.containsKey(attemptNumber),
- "Coordinator of %s already has a subtask gateway for (#%d)",
+ "Coordinator of %s already has a subtask gateway for (#%s)",
operatorName,
attemptNumber);
LOG.debug("Coordinator of {} registers gateway for attempt {}",
operatorName, attemptNumber);
diff --git
a/flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
b/flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
index 2dcc75b7f6..3c33fe7674 100644
---
a/flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
+++
b/flink/v2.0/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
@@ -457,7 +457,7 @@ class DataStatisticsCoordinator implements
OperatorCoordinator {
int attemptNumber = gateway.getExecution().getAttemptNumber();
Preconditions.checkState(
!gateways[subtaskIndex].containsKey(attemptNumber),
- "Coordinator of %s already has a subtask gateway for %d (#%d)",
+ "Coordinator of %s already has a subtask gateway for %s (#%s)",
operatorName,
subtaskIndex,
attemptNumber);
@@ -481,7 +481,7 @@ class DataStatisticsCoordinator implements
OperatorCoordinator {
private OperatorCoordinator.SubtaskGateway getSubtaskGateway(int
subtaskIndex) {
Preconditions.checkState(
!gateways[subtaskIndex].isEmpty(),
- "Coordinator of %s subtask %d is not ready yet to receive events",
+ "Coordinator of %s subtask %s is not ready yet to receive events",
operatorName,
subtaskIndex);
return Iterables.getOnlyElement(gateways[subtaskIndex].values());
diff --git
a/flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
b/flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
index 21e9ca43f3..0ea8eb3c5b 100644
---
a/flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
+++
b/flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/BaseCoordinator.java
@@ -226,7 +226,7 @@ abstract class BaseCoordinator implements
OperatorCoordinator {
int attemptNumber = gateway.getExecution().getAttemptNumber();
Preconditions.checkState(
!gateways.containsKey(attemptNumber),
- "Coordinator of %s already has a subtask gateway for (#%d)",
+ "Coordinator of %s already has a subtask gateway for (#%s)",
operatorName,
attemptNumber);
LOG.debug("Coordinator of {} registers gateway for attempt {}",
operatorName, attemptNumber);
diff --git
a/flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
b/flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
index 2dcc75b7f6..3c33fe7674 100644
---
a/flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
+++
b/flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/DataStatisticsCoordinator.java
@@ -457,7 +457,7 @@ class DataStatisticsCoordinator implements
OperatorCoordinator {
int attemptNumber = gateway.getExecution().getAttemptNumber();
Preconditions.checkState(
!gateways[subtaskIndex].containsKey(attemptNumber),
- "Coordinator of %s already has a subtask gateway for %d (#%d)",
+ "Coordinator of %s already has a subtask gateway for %s (#%s)",
operatorName,
subtaskIndex,
attemptNumber);
@@ -481,7 +481,7 @@ class DataStatisticsCoordinator implements
OperatorCoordinator {
private OperatorCoordinator.SubtaskGateway getSubtaskGateway(int
subtaskIndex) {
Preconditions.checkState(
!gateways[subtaskIndex].isEmpty(),
- "Coordinator of %s subtask %d is not ready yet to receive events",
+ "Coordinator of %s subtask %s is not ready yet to receive events",
operatorName,
subtaskIndex);
return Iterables.getOnlyElement(gateways[subtaskIndex].values());