[GitHub] [kafka] satishd commented on a change in pull request #10478: KAFKA-12553: Refactor recovery logic to introduce LogLoader
satishd commented on a change in pull request #10478: URL: https://github.com/apache/kafka/pull/10478#discussion_r616265276 ## File path: core/src/main/scala/kafka/log/Log.scala ## @@ -255,19 +261,21 @@ case object SnapshotGenerated extends LogStartOffsetIncrementReason { @threadsafe class Log(@volatile private var _dir: File, @volatile var config: LogConfig, + val segments: LogSegments, Review comment: Sure, that looks reasonable to me. -- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [kafka] satishd commented on a change in pull request #10478: KAFKA-12553: Refactor recovery logic to introduce LogLoader
satishd commented on a change in pull request #10478: URL: https://github.com/apache/kafka/pull/10478#discussion_r611789255 ## File path: core/src/main/scala/kafka/log/Log.scala ## @@ -255,19 +261,21 @@ case object SnapshotGenerated extends LogStartOffsetIncrementReason { @threadsafe class Log(@volatile private var _dir: File, @volatile var config: LogConfig, + val segments: LogSegments, Review comment: What I meant was we can have `Log` takes the argument as immutable `LogComponents` and it can initialize the vars inside `Log` with the respective fields from `LogComponents`. This will also set the right access of these vars by not giving write access by default. ``` class Log(@volatile private var _dir: File, @volatile var config: LogConfig, val segments: LogSegments, val logComponents: LogComponents, scheduler: Scheduler, brokerTopicStats: BrokerTopicStats, val time: Time, val maxProducerIdExpirationMs: Int, val producerIdExpirationCheckIntervalMs: Int, val topicPartition: TopicPartition, logDirFailureChannel: LogDirFailureChannel, @volatile var topicId: Option[Uuid], val keepPartitionMetadataFile: Boolean = true) extends Logging with KafkaMetricsGroup { @volatile private var logStartOffset: Long = logComponents.logStartOffset @volatile private var recoveryPoint: Long = logComponents.recoveryPoint @volatile private var nextOffsetMetadata: LogOffsetMetadata = logComponents.nextOffsetMetadata @volatile var leaderEpochCache: Option[LeaderEpochFileCache] = logComponents.leaderEpochCache private val producerStateManager: ProducerStateManager = logComponents.producerStateManager ``` -- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [kafka] satishd commented on a change in pull request #10478: KAFKA-12553: Refactor recovery logic to introduce LogLoader
satishd commented on a change in pull request #10478: URL: https://github.com/apache/kafka/pull/10478#discussion_r611288890 ## File path: core/src/main/scala/kafka/log/Log.scala ## @@ -255,19 +261,21 @@ case object SnapshotGenerated extends LogStartOffsetIncrementReason { @threadsafe class Log(@volatile private var _dir: File, @volatile var config: LogConfig, + val segments: LogSegments, Review comment: Can we pass `LogComponents` as a single field instead of initializing with the respective fields? This makes the code easy to read, constructor simpler with less vars. -- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org