je crée un sujet de kafka propriétés ci-dessousKafka clé ne pas supprimer avec la pierre tombale
min.cleanable.dirty.ratio = 0,01, delete.retention.ms = 100, segment.ms = 100, cleanup.policy = compact
Disons que j'insérer des paires de kv pour 1111: 1, 1111: 2, 1111: null, 2222: 1 Qu'est-ce qui se passe maintenant sauf le dernier message, le compactage du journal fonctionne sur le repos des messages et efface deux premiers mais conserve 1111: null
Acc à la documentation,
Kafka log compaction also allows for deletes. A message with a key and a null payload acts like a tombstone, a delete marker for that key. Tombstones get cleared after a period.
Alors, j'espère quand delete.retention.ms est atteint, le marqueur nul ne doit supprimer le message avec la clé
J'ai deux questions - Pourquoi le marqueur de pierre tombale ne fonctionne-t-il pas? Pourquoi le dernier message est-il ignoré du compactage?
C'est ce que server.properties fichier a -
log.retention.ms=100
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=100
log.cleaner.delete.retention.ms=100
log.cleaner.enable=true
log.cleaner.min.cleanable.ratio=0.01
je l'ai décrit dans mon post que le sujet a été créé avec delete.retention.ms = 100 ce qui signifie que la clé de marqueur de pierre tombale aurait été nettoyé après 100 ms après avoir été envoyé. Une question: peut-elle être liée au paramètre compact.policy? J'ai lu quelque part que nous devons le mettre à compacter, supprimer pour activer les suppressions aussi bien. – Sam
Si vous activez l'option « compact, supprimer », vous obtenez essentiellement un TTL sur le dessus et les enregistrements antérieurs alors le temps de rétention sera supprimé (même s'il n'y a pas la pierre tombale). Cf. https://cwiki.apache.org/confluence/display/KAFKA/KIP-71%3A+Enable+log+compaction+and+deletion+to+co-exist Pouvez-vous vérifier deux fois config sujet, qu'il est vraiment configuré avec delete.retention.ms = 100? Je –
couru --describe sur le sujet et la sortie est Configs: min.cleanable.dirty.ratio = 0,01, delete.retention.ms = 100, cleanup.policy = compact, segment.ms = 100 – Sam