Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

There are no official tools available to measure the performance of aborted transactions. The ProducerPerformance tool currently Currently, the `ProducerPerformance` tool supports transactional producers but lacks the ability to cannot randomly abort transactions during testing. This limitation prevents users developers from properly evaluating how transactional producers behave when transactions are aborted, which is important for production systems where transaction failures can occur.

The ability to test aborted transactions is crucial for:

under failure scenarios.

This proposal targets four critical areas:

  1. Measuring the overhead costs of aborting transactions;
  2. Assessing how failed transactions affect
  3. Understanding the overhead associated with transaction abortion;
  4. Evaluating the performance impact of failed transactions on producer throughput;
  5. Validating transaction recovery mechanismsprocesses;
  6. Benchmarking transactional producers under realistic failure scenariosfault conditions.

Public Interfaces

New Configuration Option:
  A single new command-line option is introduced: --transaction-abort-ratio: Ratio of transactions to abort (

Property
Description
Type
`Double`
Range
0.0 to 1.0

...

 
Default
0.0 (no transactions aborted)
Dependency
Only valid when transactions are enabled
  • At `1.0`: all transactions are aborted;
  • At `0.5`: approximately
  • ;
  • When set to 1.0, all transactions will be aborted;
  • When set to 0.5, half of the transactions will be are aborted;
  • At `0.0` (default): behavior is identical to the current version.

Proposed Changes

1. Argument parsing (`argParser()`)

Add the `--transaction-abort-ratio` argument after the existing `--transaction-duration-ms` argument:


This feature will add a new configuration option to the ProducerPerformance tool that allows users to specify a ratio of transactions to abort during testing. This will enable users to simulate transaction failure scenarios while measuring performance metrics.

...