Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-17584

Fix incorrect synonym handling for dynamic log configurations

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 3.9.0
    • 3.9.0, 3.8.1
    • None
    • None

    Description

      Updating certain dynamic configurations (for example `message.max.bytes`) causes retention based on time to reset to the default value (source code) for log.retention.ms. This poses a durability issue if users have set their retention by using log.retention.hours or log.retention.minutes. In other words, if a user has set log.retention.hours=-1 (infinite retention) and they dynamically change `message.max.bytes` their retention will immediately change back to the default of 604800000 ms (7 days) and data before this will be scheduled for deletion immediately.

      Steps to reproduce:

      1. Add log.retention.minutes=1,log.retention.check.interval.ms=1000 to server.properties
      2. Start a single ZK or KRaft instance + a single Kafka instance
      3. Create a topic using

      bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic A --replication-factor 1 --partitions 1 --config min.insync.replicas=1 --config segment.bytes=512

      4. Create a few segments with the console producer
      5. Observe that they are deleted after 1 minute
      6. Use the following command

      bin/kafka-configs.sh --bootstrap-server loclahost:9092 --entity-type brokers --entity-default --alter --add-config message.max.bytes=1048609

      (the value of `message.max.bytes` is irrelevant)
      7. Create a few more segments with the console producer
      8. Observe that segments are no longer deleted after 1 minute

      Attachments

        Issue Links

          Activity

            People

              christo_lolov Christo Lolov
              christo_lolov Christo Lolov
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: