mimaison commented on code in PR #18201:
URL: https://github.com/apache/kafka/pull/18201#discussion_r1940016513


##########
core/src/main/scala/kafka/coordinator/transaction/TransactionStateManager.scala:
##########
@@ -37,14 +38,17 @@ import org.apache.kafka.common.{KafkaException, 
TopicPartition}
 import org.apache.kafka.coordinator.transaction.{TransactionLogConfig, 
TransactionStateManagerConfig}
 import org.apache.kafka.server.common.{RequestLocal, TransactionVersion}
 import org.apache.kafka.server.config.ServerConfigs
-import org.apache.kafka.server.record.BrokerCompressionType
 import org.apache.kafka.server.storage.log.FetchIsolation
 import org.apache.kafka.server.util.Scheduler
 import org.apache.kafka.storage.internals.log.AppendOrigin
 
 import scala.jdk.CollectionConverters._
 import scala.collection.mutable
 
+object TransactionStateManager {
+  val EnforcedCompression: Compression = Compression.NONE
+  private val EnforcedRequiredAcks: Short = -1.toShort

Review Comment:
   Should we also use this field in `KafkaApis.handleWriteTxnMarkersRequest()`?



##########
core/src/main/scala/kafka/coordinator/transaction/TransactionStateManager.scala:
##########
@@ -400,12 +404,20 @@ class TransactionStateManager(brokerId: Int,
   def validateTransactionTimeoutMs(txnTimeoutMs: Int): Boolean =
     txnTimeoutMs <= config.transactionMaxTimeoutMs && txnTimeoutMs > 0
 
+  /**
+   * Enforce always using:
+   * <br>1. cleanup policy = compact
+   * <br>2. compression = none
+   * <br>3. unclean leader election = disabled
+   * <br>4. required acks = -1 when writing

Review Comment:
   Not sure why mention `acks` here since it's not related to the topic 
configurations.
   Also _if we really need a list_, we can use an HTML list instead of line 
returns



##########
core/src/main/scala/kafka/coordinator/transaction/TransactionStateManager.scala:
##########
@@ -45,6 +46,15 @@ import org.apache.kafka.storage.internals.log.AppendOrigin
 import scala.jdk.CollectionConverters._
 import scala.collection.mutable
 
+object TransactionStateManager {
+  // enforce always using
+  //  1. cleanup policy = compact
+  //  2. compression = none
+  //  3. unclean leader election = disabled
+  //  4. required acks = -1 when writing
+  val EnforcedCompression: Compression = Compression.NONE

Review Comment:
   I'm not sure this is the best place to store these values. Have you 
considered `TransactionCoordinator`? I'm not saying it should go there, just 
asking.



-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to