THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- 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 (?)