Skip to content

Conversation

fangnx
Copy link
Member

@fangnx fangnx commented Sep 29, 2025

What

Key Changes

AIOProducer Transaction Fixes

  • Fixed commit_transaction(): add call await self.flush() before committing to ensure both Python-layer buffer and librdkafka queue are flushed. Previously the Python-layer batch_processor buffer was not flushed
  • Fixed abort_transaction(): similarly, add call await self.purge() to cancel pending futures and clear Python-layer buffer

Producer Strategy Transaction Support

  • Update to support produce with transaction

Transaction Performance Testing

  • Added test_basic_produce_with_transaction benchmark test (per-message transaction) for sync vs async
  • Created transaction-specific performance bounds in transaction_benchmark_bounds.json

File Organization

  • Renamed benchmark_metrics.pyproducer_benchmark_metrics.py, benchmark_bounds.jsonproducer_benchmark_bounds.json for consistency
  • Clean up ducktape README

Checklist

  • Contains customer facing changes? Including API/behavior changes
  • Did you add sufficient unit test and/or integration test coverage for this PR?
    • If not, please explain why it is not required

References

JIRA:

Test & Review

Open questions / Follow-ups

@fangnx fangnx requested review from MSeal and a team as code owners September 29, 2025 22:12
@confluent-cla-assistant
Copy link

🎉 All Contributor License Agreements have been signed. Ready to merge.
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

@fangnx fangnx merged commit 0f76fed into async Sep 30, 2025
1 of 2 checks passed
@fangnx fangnx deleted the txn-fix-perf branch September 30, 2025 02:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants