confluent-kafka-python icon indicating copy to clipboard operation
confluent-kafka-python copied to clipboard

Documentation: default value for isolation.level should be updated to read_committed

Open AlexLitvino opened this issue 1 year ago • 0 comments

Description

Section for isolation.level states that default value isolation.level should be read_uncommitted. But in kafka-client-configuration section of confluent-kafka-python it is stated refer to librdkafka’s documentation that specifies default value for isolation.level read_committed.

Section isolation.level should be updated with default value read_committed.

How to reproduce

  • Publish 'Message_not_in_transaction' message using non-transactional Producer.
  • Publish messages 'Message1', 'Message2' using transactional Producer but NOT commit transaction.
  • Consume messages from topic using Consumer not specifying isolation.level parameter.
  • Observe that [b'Message_not_in_transaction'] message is consumed.
  • Commit transaction.
  • Consume messages from topic using Consumer not specifying isolation.level parameter.
  • Observe that [b'Message1', b'Message2'] messages are consumed.

It proves that Consumer with default isolation.level reads messages published in transaction only after transaction is committed, that means default value for isolation.level is read_committed.

AlexLitvino avatar Jul 21 '22 08:07 AlexLitvino