Versions Compared

Key

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

...

  • partitioner: logical correctness.
  • recordsend: functions work correctly (may need MockCallback).
  • bufferpool: logical correct under multi-thread, failure cases.
  • metadata: logical correct under multi-thread, failure cases.
  • recordaccumulator: functional correct for read/drain, etc; logical correct for append under multi-thread.
  • recordbatch: succeed/fail cases of functions (tryAppend, etc)
  • sender: processReadyPartitions function, handleXX functions, and close function correctness.

kafka.server

  • log: log recover and cleaning logical correctness
  • MORE...

Integration Test

For integration tests we will categories the following modules, and for each module we will do integration tests for different scenarios (normal success cases, failure cases with different configs, etc).

" * " indicate tests that we can start in parallel with producer code stabilization.

admin

  • Create topic
  • Adding partitions to topic
  • Alter topic configs (retention, etc)
  • Alter topic replication factorTopic tools
  • Partition reassignment
  • Leader election
  • Start/stop server and zookeeperPreferred leader election

api

Producer: *

  • Sync Blocking and async sendnon-blocking send behavior, with different message size (including too-large message size)
  • Send behavior with Send null key or null value
  • Send to one and multiple partitionsFailed send exception thrown and callbackwith specific partition key(s)
  • New topic auto-creation

Consumer:

  • Offset reset
  • Commit and fetch offset behavior
  • Pool Poll behavior with/wo timeout
  • Callback functions
  • , different fetch size
  • Rebalance behavior
  • Topic change capture behaviorRebalance

config

  • Invalid values

end2end

  • *

replication (with broker hard/soft failures and restart, network partition scenarios)

  • Replica consistency and ISR correctness
  • Controller failover behavior
  • Coordinator failover behavior
  • No message-loss with ack > 1 *

compression *

  • compress/decompress behavior with different batch size
  • decompress/re-compress in mirror-maker (?)
  • New-topic auto creation
  • Compression
  • Replication with/wo broker failure/shutdown
    • Replica consistency
    • Producer recordsend behavior
    • Consumer Coordinator migration
    • ISR correctness
    • Guarantee with ack property
  • Producer message size
  • Consumer fetch size
  • Server (re)startup
  • Log recovery and cleaning
  • Consumer Coordinator migration

logging

  • String encoder
  • Appender property

util (?)