showuon commented on code in PR #15719:
URL: https://github.com/apache/kafka/pull/15719#discussion_r1567254740
##########
core/src/main/scala/kafka/server/KafkaConfig.scala:
##########
@@ -835,6 +836,7 @@ object KafkaConfig {
.define(CreateTopicPolicyClassNameProp, CLASS, null, LOW,
CreateTopicPolicyClassNameDoc)
.define(AlterConfigPolicyClassNameProp, CLASS, null, LOW,
AlterConfigPolicyClassNameDoc)
.define(LogMessageDownConversionEnableProp, BOOLEAN,
LogConfig.DEFAULT_MESSAGE_DOWNCONVERSION_ENABLE, LOW,
LogMessageDownConversionEnableDoc)
+ .defineInternal(LogInitialTaskDelayMsProp, LONG,
LogConfig.DEFAULT_INITIAL_TASK_DELAY_MS, LOW)
Review Comment:
Also, we can set `atLeast(0)` in the defineInternal method. So that we don't
need additional validator below.
##########
core/src/main/scala/kafka/server/KafkaConfig.scala:
##########
@@ -835,6 +836,7 @@ object KafkaConfig {
.define(CreateTopicPolicyClassNameProp, CLASS, null, LOW,
CreateTopicPolicyClassNameDoc)
.define(AlterConfigPolicyClassNameProp, CLASS, null, LOW,
AlterConfigPolicyClassNameDoc)
.define(LogMessageDownConversionEnableProp, BOOLEAN,
LogConfig.DEFAULT_MESSAGE_DOWNCONVERSION_ENABLE, LOW,
LogMessageDownConversionEnableDoc)
+ .defineInternal(LogInitialTaskDelayMsProp, LONG,
LogConfig.DEFAULT_INITIAL_TASK_DELAY_MS, LOW)
Review Comment:
Could we add a doc at the last parameter for other developers know what this
config is doing for?
Ex:
The initial task delay in millisecond when initializing tasks in LogManager.
This should be used for testing only.
##########
core/src/main/java/kafka/server/builders/LogManagerBuilder.java:
##########
@@ -179,6 +179,7 @@ public LogManager build() {
logDirFailureChannel,
time,
keepPartitionMetadataFile,
- remoteStorageSystemEnable);
+ remoteStorageSystemEnable,
+ LogConfig.DEFAULT_INITIAL_TASK_DELAY_MS);
Review Comment:
I know currently we don't use LogManagerBuilder in the tests, but I still
think we should add a `initialTaskDelayMs` setting and set default value to
`LogConfig.DEFAULT_INITIAL_TASK_DELAY_MS`.
##########
core/src/test/scala/unit/kafka/log/LogManagerTest.scala:
##########
@@ -413,7 +413,7 @@ class LogManagerTest {
assertEquals(numMessages * setSize / segmentBytes, log.numberOfSegments,
"Check we have the expected number of segments.")
// this cleanup shouldn't find any expired segments but should delete some
to reduce size
- time.sleep(logManager.InitialTaskDelayMs)
+ time.sleep(logManager.initialTaskDelayMs)
assertEquals(6, log.numberOfSegments, "Now there should be exactly 6
segments")
time.sleep(log.config.fileDeleteDelayMs + 1)
Review Comment:
Could we create a test in LogManagerTest to verify the logManager will start
these tasks after customized `initialTaskDelayMs`? Adding a simple test like
what we see here, or maybe we can directly add verification inside these tests?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]