v20
Changelog
- 176afb7 Merge pull request #17 from codecrafters-io/partition-metadata-extension
- 338c461 test: remove stages test for Fetch extension for the time being
- 1a0b23a refactor: update MESSAGES regex to match new format
- 4d163cc Merge branch 'main' into partition-metadata-extension
- 748b8ba Merge pull request #18 from codecrafters-io/refactor-assertions
- a14e2e5 ci: update Python version to 3.9
- 6590fc1 test: update fixtures & remove unused stage slug
- 81f4806 refactor: add
Contains
function to assertions package - 5e41e06 refactor: use assertions in code instead of custom checks
- 5b869b4 feat: add ResponseHeaderAssertion
- 336dcfa feat: add ApiVersionsAssertion file
- d314c12 refactor: update header version used in ApiVersionsRequest It's always v2 for commonly used APIs
- ca945de feat: remove stage 4 of DescribeTopicPartitions extension
- 13df4f6 chore: update fixtures & regexes to skip random values
- 45917ef test: update fixtures
- 279b011 chore: update placeholder slugs with unique values
- 3f6dc3a feat: use randomized values for topic names, ids and messages
- 0dcb0dc refactor: update encoding method signatures to use realencoder package
- 1185f93 refactor: stages to use shared constants
- 27d182a refactor: replace all
✔️
in logs with-
- 699d2a2 chore: fix typo
- a982203 refactor: improve error handling in decoding of describeTopicPartition
- 967b3c4 fix: remove unnecessary castings
- bd20c22 fix: remove names colliding with imported package names
- 68e6cbf fix: remove variable names colliding with imported package names
- 9e67c45 chore: fix comment lint issues
- 69ebc93 chore: add indentation to logs
- dcb5ed0 refactor: add error handling to generate log dirs function
- c7da48c refactor: add eror handling to all serializer methods
- 1451cac refactor: replace all print statements with logs across serializers
- b25c207 chore: add todo
- 274321d refactor: update fetch request parameters
- e7d11c9 refactor: update fetch request parameters
- 7fae46d test: update fixtures and add more regex replacements
- 5cc40e6 chore: update kafka-server-start.sh to redirect output to /dev/null
- de7863e test: update fixtures
- 304a9f4 feat: generate log directory before each stage execution
- 2def304 ci: show all kafka logs
- c6d6291 chore: add new tasks
- 654cb02 chore: add new stage to tester prerequisites
- a72a5df test: update fixtures
- affdc87 feat: Add test for stage DescribeTopicPartition for multi topics
- 2039a97 refactor: remove entire log base directory
- 48b9c50 test: add fixtures
- a31266d refactor: add fixture based tests for concurrent stages, describe topic partitions, and fetch extension
- c28d6cb chore: fix lint
- 78a69f5 chore: add tester prerequisites
- 13d29c6 feat: Add test for stage DescribeTopicPartition for topic w multi partition (ResponsePartitionLimit:2)
- 04586b4 feat: Add test for stage DescribeTopicPartition for topic w multi partition (ResponsePartitionLimit:1)
- f8f290c refactor: update topic name and topic ID values from constants
- 1cdc447 chore: update kafka-server-start.sh to redirect output to /dev/null
- e9ab3a7 refactor: break generate_cluster_metadata file into individual files for each serializer type
- 3e3ac6d refactor: update writeMetaProperties, writePartitionMetadata function signature to match other functions
- ac554b6 refactor: generate directories for all topics and partitions in single call
- 116af99 refactor: rename topic + partition paths to better reflect their nature
- ed3d64d refactor: update GenerateLogDirs to use common.LOG_DIR for log directory path
- 8227489 refactor: update GenerateLogDirs to create more topic dirs along with all required files
- eda99cf refactor: update writeClusterMetadata function to support multiple topics and partitions
- f1fd3b2 refactor: add serialize method for multiple topic messages
- 3529c21 refactor: refactor writeKraftServerProperties function
- 1662b25 feat: add more topics and messages to constants
- af970f0 chore: remove all unused config values
- 057e830 refactor: replace embed with hardcoded data
- c6ed50b feat: generate kraft.server.properties file from embed
- 9eb0dfb feat: use default path for writing logs to
- 20d4caf feat: add default argument to all kafka_executable runs
- 1b71078 chore: update your_program.sh
- ed597f4 chore: update go deps
- 4f87e4d test: use shared util function in tests
- 4ee5e5f refactor: use shared values from constants file
- 66420d0 feat: add tests for P1 and P2 of Describe_topic_partition extension
- acb6383 chore: setup tester prerequisites
- 07b03c4 feat: add constants file
- ecc5a39 refactor: remove unused code and clean up file
- a117d3e feat: add serializer for all log directory required by kafka for booting
- 1590a43 fix: fix compact_records_length decoding
- 99a26bb feat: add encoding methods to put bytes at given offset
- e9ca2db refactor: minor update to how we encode null keys
- d32cea1 feat: fix length encoding in record
- 4d6f877 fix: fix decoding bug in record length :(
- 0f2b12e feat: generate record elements that are computed based on the data
- ad8e749 feat: generate recordBatch elements that are computed based on the data
- 361648b fix: fix encoding for record.
- 83708df fix: fix encoding of record batch
- 77fce9f fix: fix encoding of cluster metadata payloads
- a5a8600 feat: add tests for encoding cluster metadata payload values
- 5cc0bf1 refactor: use compact string encoding for record names in ClusterMetadataPayload
- 9db5d7a refactor: rename payload struct to ClusterMetadataPayload
- 16a6529 feat: add 2nd log.dir to use with self generated records
- 6b29623 feat: add encoders for all payload types
- dcf5c18 chore: update .gitignore file
- 6d1fdf0 feat: add decoders for all payload types (those required for our use case)
- 0751960 feat: add decoders for more payload types
- 79434d3 feat: add proper decoders for 2 payload types
- 2617499 chore: rename file
- 5290f2e fix: minor fix to hexdump output in test
- 0cebf25 test: add unit tests for all cluster_metadata_payload decoding
- adf2d2f refactor: add unit tests for cluster_metadata_payload decoding
- 7c0e759 feat: add encoding methods for RecordBatch, Record, and RecordHeader
- cfa448c refactor: move record_batch into its own file
- 344a0ec refactor: remove non-essential recordBatches from cluster_metadata log file.
- eb0155c chore: add new stage xy3 to course_definition
- ba51227 refactor: remove files from inside
__cluster_metadata-0
- 4fa27c4 refactor: remove files from inside
foo-0
- 136fc1e feat: add stage F4 to test how FETCH is affected while messing with
logs.dir
- 8d1ba4e refactor: remove checkpoint files from inside
log.dirs
- 07c3bdd chore: update gitignore
- a36af35 chore: add tester prerequisites
- 7abec08 feat: add test for stage3 of DescribeTopicPartition ext
- 582d5d8 fix: decoding of describe_topic_partition, add decoded elements into array
- 244f218 feat: Add DescribeTopicPartition API
- 45de6af feat: add DescribeTopicPartitions Request to docs
- 8b2363b feat: add decoder for DescribePartitionMetadata response.
- eeb2ab1 chore: remove unsued decoding logic
- 2c3552a refactor: fix encoding of describe_topic_partitions request.
- fe7bd92 feat: add request encoder + request decoder for DescribeTopicPartition