This is an automated email from the ASF dual-hosted git repository.
chia7712 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/trunk by this push:
new 524ef3b42e7 MINOR: Narrow remote copy lag validator props to
Map<String, ?> and update the upgrade doc for KIP-1241 (#22363)
524ef3b42e7 is described below
commit 524ef3b42e70a60ce3934f424c6858168491cb54
Author: Jian <[email protected]>
AuthorDate: Tue Jul 21 11:52:07 2026 +0800
MINOR: Narrow remote copy lag validator props to Map<String, ?> and update
the upgrade doc for KIP-1241 (#22363)
This is one followup PR for the review:
https://github.com/apache/kafka/pull/20913#discussion_r3289589447 thanks
Reviewers: Chia-Ping Tsai <[email protected]>
---
docs/getting-started/upgrade.md | 1 +
.../main/java/org/apache/kafka/storage/internals/log/LogConfig.java | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/getting-started/upgrade.md b/docs/getting-started/upgrade.md
index 81b81e57c34..657b165b6da 100644
--- a/docs/getting-started/upgrade.md
+++ b/docs/getting-started/upgrade.md
@@ -33,6 +33,7 @@ type: docs
### Notable changes in 4.4.0
* The `ClientQuotaCallback#updateClusterMetadata` method is deprecated and
will be removed in Kafka 5.0. Custom implementations of `ClientQuotaCallback`
no longer need to override this method, as a default no-op implementation is
now provided. For further details, please refer to
[KIP-1200](https://cwiki.apache.org/confluence/x/axBJFg).
+ * New configs have been introduced: remote.copy.lag.bytes,
remote.copy.lag.ms and their corresponding broker-level configurations. They
allow tiered storage redundancy reduced with delayed upload. For further
details, please refer to
[KIP-1241](https://cwiki.apache.org/confluence/x/A4LMFw).
* The in-memory keystores (used for PEM certificates) now use the default
type provided by `KeyStore.getDefaultType()` instead of the hardcoded PKCS12
type.
* Storage directories formatted by the `kafka-storage` tool are no longer
forward-compatible. A Kafka broker must be the same version as, or newer than,
the `kafka-storage` tool that formatted its directory, regardless of the
`--release-version` chosen at format time. For further details, please refer to
[KIP-1170](https://cwiki.apache.org/confluence/x/ZYoEFQ).
* The Linux I/O metrics collector now exposes all 7 fields from
/proc/self/io via JMX, adding linux-disk-rchar, linux-disk-wchar,
linux-disk-syscr, linux-disk-syscw, and linux-disk-cancelled-write-bytes
alongside the existing linux-disk-read-bytes and linux-disk-write-bytes. These
additional metrics let operators calculate page-cache hit ratios, detect write
amplification from filesystem overhead, identify inefficient syscall patterns,
and monitor log-compaction I/O activity. For furth [...]
diff --git
a/storage/src/main/java/org/apache/kafka/storage/internals/log/LogConfig.java
b/storage/src/main/java/org/apache/kafka/storage/internals/log/LogConfig.java
index 661df953071..10da86e05fb 100644
---
a/storage/src/main/java/org/apache/kafka/storage/internals/log/LogConfig.java
+++
b/storage/src/main/java/org/apache/kafka/storage/internals/log/LogConfig.java
@@ -627,7 +627,7 @@ public class LogConfig extends AbstractConfig {
}
}
- private static void validateRemoteCopyLagTime(Map<?, ?> props) {
+ private static void validateRemoteCopyLagTime(Map<String, ?> props) {
Long retentionMs = (Long) props.get(TopicConfig.RETENTION_MS_CONFIG);
Long localRetentionMs = (Long)
props.get(TopicConfig.LOCAL_LOG_RETENTION_MS_CONFIG);
Long remoteCopyLagMs = (Long)
props.get(TopicConfig.REMOTE_COPY_LAG_MS_CONFIG);
@@ -640,7 +640,7 @@ public class LogConfig extends AbstractConfig {
}
}
- private static void validateRemoteCopyLagSize(Map<?, ?> props) {
+ private static void validateRemoteCopyLagSize(Map<String, ?> props) {
Long retentionBytes = (Long)
props.get(TopicConfig.RETENTION_BYTES_CONFIG);
Long localRetentionBytes = (Long)
props.get(TopicConfig.LOCAL_LOG_RETENTION_BYTES_CONFIG);
Long remoteCopyLagBytes = (Long)
props.get(TopicConfig.REMOTE_COPY_LAG_BYTES_CONFIG);