From a7950fa9b66bf7b5c33787a6276323d27405442d Mon Sep 17 00:00:00 2001 From: Ryan Gang Date: Thu, 17 Oct 2024 14:16:27 +0530 Subject: [PATCH] tests: add tests and update fixtures --- Makefile | 9 +- internal/stages_test.go | 4 +- internal/test_helpers/fixtures/fetch/pass | 1080 +++++++++++++-------- 3 files changed, 665 insertions(+), 428 deletions(-) diff --git a/Makefile b/Makefile index dc5a088..95e7fee 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ test_concurrent_requests_with_kafka: build dist/main.out -test_current: +test_all: make test_base_with_kafka make test_concurrent_requests_with_kafka make test_describe_topic_partitions_with_kafka @@ -34,12 +34,7 @@ test_current: test_fetch_with_kafka: build CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/pass_all \ - CODECRAFTERS_TEST_CASES_JSON="[{\"slug\":\"gs0\",\"tester_log_prefix\":\"stage-F1\",\"title\":\"Stage #F1: API Version with Fetch Key\"}, {\"slug\":\"dh6\",\"tester_log_prefix\":\"stage-F2\",\"title\":\"Stage #F2: Fetch with no topics\"}, {\"slug\":\"hn6\",\"tester_log_prefix\":\"stage-F3\",\"title\":\"Stage #F3: Fetch with unknown topic\"}, {\"slug\":\"cm4\",\"tester_log_prefix\":\"stage-F4\",\"title\":\"Stage #F4: Fetch with empty topic\"}, {\"slug\":\"eg2\",\"tester_log_prefix\":\"stage-F5\",\"title\":\"Stage #F5: Single Fetch from Disk\"}, {\"slug\":\"fd8\",\"tester_log_prefix\":\"stage-F6\",\"title\":\"Stage #F6: Multi Fetch from Disk\"}]" \ - dist/main.out - -test_75_with_kafka: build - CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/pass_all \ - CODECRAFTERS_TEST_CASES_JSON="[{\"slug\":\"fd8\",\"tester_log_prefix\":\"stage-F6\",\"title\":\"Stage #F6: Multi Fetch from Disk\"}]" \ + CODECRAFTERS_TEST_CASES_JSON="[{\"slug\":\"gs0\",\"tester_log_prefix\":\"stage-F1\",\"title\":\"Stage #F1: API Version with Fetch Key\"}, {\"slug\":\"dh6\",\"tester_log_prefix\":\"stage-F2\",\"title\":\"Stage #F2: Fetch with no topics\"}, {\"slug\":\"hn6\",\"tester_log_prefix\":\"stage-F3\",\"title\":\"Stage #F3: Fetch with unknown topic\"}, {\"slug\":\"cm4\",\"tester_log_prefix\":\"stage-F4\",\"title\":\"Stage #F4: Fetch with empty topic\"}, {\"slug\":\"eg2\",\"tester_log_prefix\":\"stage-F5\",\"title\":\"Stage #F5: Single Fetch from Disk\"}, {\"slug\":\"fd8\",\"tester_log_prefix\":\"stage-F6\",\"title\":\"Stage #F6: Multi Fetch from Disk\"}, ]" \ dist/main.out test: diff --git a/internal/stages_test.go b/internal/stages_test.go index 4a5469d..b365f65 100644 --- a/internal/stages_test.go +++ b/internal/stages_test.go @@ -34,7 +34,7 @@ func TestStages(t *testing.T) { NormalizeOutputFunc: normalizeTesterOutput, }, "fetch_pass": { - StageSlugs: []string{"gs0", "dh6", "hn6", "cm4"}, + StageSlugs: []string{"gs0", "dh6", "hn6", "cm4", "eg2", "fd8"}, CodePath: "./test_helpers/pass_all", ExpectedExitCode: 0, StdoutFixturePath: "./test_helpers/fixtures/fetch/pass", @@ -60,7 +60,7 @@ func normalizeTesterOutput(testerOutput []byte) []byte { "Name": {regexp.MustCompile(`✓ Topic Name: [0-9A-Za-z]{3}`)}, "UUID": {regexp.MustCompile(`✓ Topic UUID: [0-9]{8}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{12}`)}, "value_length": {regexp.MustCompile(`- .value_length \([0-9]{1,}\)`)}, - "value": {regexp.MustCompile(`- .value \("[A-Za-z0-9 !]{1,}"\)`)}, + "value": {regexp.MustCompile(`- .[vV]alue \("[A-Za-z0-9 !]{1,}"\)`)}, "name": {regexp.MustCompile(`- .name \([A-Za-z -]{1,}\)`)}, "topic_name": {regexp.MustCompile(`- .topic_name \([A-Za-z0-9 ]{1,}\)`)}, "next_cursor": {regexp.MustCompile(`- .next_cursor \(\{[A-Za-z0-9 ]{1,}\}\)`)}, diff --git a/internal/test_helpers/fixtures/fetch/pass b/internal/test_helpers/fixtures/fetch/pass index 6431d53..0cee0aa 100644 --- a/internal/test_helpers/fixtures/fetch/pass +++ b/internal/test_helpers/fixtures/fetch/pass @@ -1,379 +1,504 @@ Debug = true -[stage-4] Running tests for Stage #4: gs0 +[stage-6] Running tests for Stage #6: gs0 +[stage-6] $ ./your_program.sh /tmp/server.properties +[stage-6] Connecting to broker at: localhost:9092 +[stage-6] Connection to broker at localhost:9092 successful +[stage-6] Sending "ApiVersions" (version: 4) request (Correlation id: 177586623) +[stage-6] Hexdump of sent "ApiVersions" request:  +[stage-6] Idx | Hex | ASCII +[stage-6] -----+-------------------------------------------------+----------------- +[stage-6] 0000 | 00 00 00 23 00 12 00 04 0a 95 c1 bf 00 09 6b 61 | ...#..........ka +[stage-6] 0010 | 66 6b 61 2d 63 6c 69 00 0a 6b 61 66 6b 61 2d 63 | fka-cli..kafka-c +[stage-6] 0020 | 6c 69 04 30 2e 31 00 | li.0.1. +[stage-6]  +[stage-6] Hexdump of received "ApiVersions" response:  +[stage-6] Idx | Hex | ASCII +[stage-6] -----+-------------------------------------------------+----------------- +[stage-6] 0000 | 0a 95 c1 bf 00 00 3e 00 00 00 00 00 0b 00 00 01 | ......>......... +[stage-6] 0010 | 00 00 00 11 00 00 02 00 00 00 09 00 00 03 00 00 | ................ +[stage-6] 0020 | 00 0c 00 00 08 00 00 00 09 00 00 09 00 00 00 09 | ................ +[stage-6] 0030 | 00 00 0a 00 00 00 06 00 00 0b 00 00 00 09 00 00 | ................ +[stage-6] 0040 | 0c 00 00 00 04 00 00 0d 00 00 00 05 00 00 0e 00 | ................ +[stage-6] 0050 | 00 00 05 00 00 0f 00 00 00 05 00 00 10 00 00 00 | ................ +[stage-6] 0060 | 05 00 00 11 00 00 00 01 00 00 12 00 00 00 04 00 | ................ +[stage-6] 0070 | 00 13 00 00 00 07 00 00 14 00 00 00 06 00 00 15 | ................ +[stage-6] 0080 | 00 00 00 02 00 00 16 00 00 00 05 00 00 17 00 00 | ................ +[stage-6] 0090 | 00 04 00 00 18 00 00 00 05 00 00 19 00 00 00 04 | ................ +[stage-6] 00a0 | 00 00 1a 00 00 00 04 00 00 1b 00 00 00 01 00 00 | ................ +[stage-6] 00b0 | 1c 00 00 00 04 00 00 1d 00 00 00 03 00 00 1e 00 | ................ +[stage-6] 00c0 | 00 00 03 00 00 1f 00 00 00 03 00 00 20 00 00 00 | ............ ... +[stage-6] 00d0 | 04 00 00 21 00 00 00 02 00 00 22 00 00 00 02 00 | ...!......"..... +[stage-6] 00e0 | 00 23 00 00 00 04 00 00 24 00 00 00 02 00 00 25 | .#......$......% +[stage-6] 00f0 | 00 00 00 03 00 00 26 00 00 00 03 00 00 27 00 00 | ......&......'.. +[stage-6] 0100 | 00 02 00 00 28 00 00 00 02 00 00 29 00 00 00 03 | ....(......).... +[stage-6] 0110 | 00 00 2a 00 00 00 02 00 00 2b 00 00 00 02 00 00 | ..*......+...... +[stage-6] 0120 | 2c 00 00 00 01 00 00 2d 00 00 00 00 00 00 2e 00 | ,......-........ +[stage-6] 0130 | 00 00 00 00 00 2f 00 00 00 00 00 00 30 00 00 00 | ...../......0... +[stage-6] 0140 | 01 00 00 31 00 00 00 01 00 00 32 00 00 00 00 00 | ...1......2..... +[stage-6] 0150 | 00 33 00 00 00 00 00 00 37 00 00 00 02 00 00 39 | .3......7......9 +[stage-6] 0160 | 00 00 00 01 00 00 3c 00 00 00 01 00 00 3d 00 00 | ......<......=.. +[stage-6] 0170 | 00 00 00 00 40 00 00 00 00 00 00 41 00 00 00 00 | ....@......A.... +[stage-6] 0180 | 00 00 42 00 00 00 01 00 00 44 00 00 00 00 00 00 | ..B......D...... +[stage-6] 0190 | 45 00 00 00 00 00 00 4a 00 00 00 00 00 00 4b 00 | E......J......K. +[stage-6] 01a0 | 00 00 00 00 00 50 00 00 00 00 00 00 51 00 00 00 | .....P......Q... +[stage-6] 01b0 | 00 00 00 00 00 00 03 00 3d 04 0e 67 72 6f 75 70 | ........=..group +[stage-6] 01c0 | 2e 76 65 72 73 69 6f 6e 00 00 00 01 00 0e 6b 72 | .version......kr +[stage-6] 01d0 | 61 66 74 2e 76 65 72 73 69 6f 6e 00 00 00 01 00 | aft.version..... +[stage-6] 01e0 | 11 6d 65 74 61 64 61 74 61 2e 76 65 72 73 69 6f | .metadata.versio +[stage-6] 01f0 | 6e 00 01 00 16 00 01 08 00 00 00 00 00 00 00 0d | n............... +[stage-6] 0200 | 02 17 02 11 6d 65 74 61 64 61 74 61 2e 76 65 72 | ....metadata.ver +[stage-6] 0210 | 73 69 6f 6e 00 14 00 14 00 | sion..... +[stage-6]  +[stage-6] [Decoder] - .ResponseHeader +[stage-6] [Decoder]  - .correlation_id (177586623) +[stage-6] [Decoder] - .ResponseBody +[stage-6] [Decoder]  - .error_code (0) +[stage-6] [Decoder]  - .num_api_keys (61) +[stage-6] [Decoder]  - .ApiKeys[0] +[stage-6] [Decoder]  - .api_key (0) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (11) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[1] +[stage-6] [Decoder]  - .api_key (1) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (17) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[2] +[stage-6] [Decoder]  - .api_key (2) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (9) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[3] +[stage-6] [Decoder]  - .api_key (3) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (12) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[4] +[stage-6] [Decoder]  - .api_key (8) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (9) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[5] +[stage-6] [Decoder]  - .api_key (9) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (9) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[6] +[stage-6] [Decoder]  - .api_key (10) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (6) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[7] +[stage-6] [Decoder]  - .api_key (11) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (9) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[8] +[stage-6] [Decoder]  - .api_key (12) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (4) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[9] +[stage-6] [Decoder]  - .api_key (13) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (5) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[10] +[stage-6] [Decoder]  - .api_key (14) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (5) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[11] +[stage-6] [Decoder]  - .api_key (15) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (5) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[12] +[stage-6] [Decoder]  - .api_key (16) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (5) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[13] +[stage-6] [Decoder]  - .api_key (17) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (1) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[14] +[stage-6] [Decoder]  - .api_key (18) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (4) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[15] +[stage-6] [Decoder]  - .api_key (19) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (7) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[16] +[stage-6] [Decoder]  - .api_key (20) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (6) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[17] +[stage-6] [Decoder]  - .api_key (21) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[18] +[stage-6] [Decoder]  - .api_key (22) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (5) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[19] +[stage-6] [Decoder]  - .api_key (23) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (4) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[20] +[stage-6] [Decoder]  - .api_key (24) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (5) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[21] +[stage-6] [Decoder]  - .api_key (25) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (4) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[22] +[stage-6] [Decoder]  - .api_key (26) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (4) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[23] +[stage-6] [Decoder]  - .api_key (27) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (1) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[24] +[stage-6] [Decoder]  - .api_key (28) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (4) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[25] +[stage-6] [Decoder]  - .api_key (29) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (3) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[26] +[stage-6] [Decoder]  - .api_key (30) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (3) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[27] +[stage-6] [Decoder]  - .api_key (31) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (3) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[28] +[stage-6] [Decoder]  - .api_key (32) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (4) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[29] +[stage-6] [Decoder]  - .api_key (33) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[30] +[stage-6] [Decoder]  - .api_key (34) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[31] +[stage-6] [Decoder]  - .api_key (35) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (4) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[32] +[stage-6] [Decoder]  - .api_key (36) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[33] +[stage-6] [Decoder]  - .api_key (37) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (3) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[34] +[stage-6] [Decoder]  - .api_key (38) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (3) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[35] +[stage-6] [Decoder]  - .api_key (39) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[36] +[stage-6] [Decoder]  - .api_key (40) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[37] +[stage-6] [Decoder]  - .api_key (41) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (3) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[38] +[stage-6] [Decoder]  - .api_key (42) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[39] +[stage-6] [Decoder]  - .api_key (43) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[40] +[stage-6] [Decoder]  - .api_key (44) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (1) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[41] +[stage-6] [Decoder]  - .api_key (45) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[42] +[stage-6] [Decoder]  - .api_key (46) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[43] +[stage-6] [Decoder]  - .api_key (47) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[44] +[stage-6] [Decoder]  - .api_key (48) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (1) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[45] +[stage-6] [Decoder]  - .api_key (49) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (1) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[46] +[stage-6] [Decoder]  - .api_key (50) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[47] +[stage-6] [Decoder]  - .api_key (51) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[48] +[stage-6] [Decoder]  - .api_key (55) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (2) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[49] +[stage-6] [Decoder]  - .api_key (57) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (1) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[50] +[stage-6] [Decoder]  - .api_key (60) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (1) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[51] +[stage-6] [Decoder]  - .api_key (61) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[52] +[stage-6] [Decoder]  - .api_key (64) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[53] +[stage-6] [Decoder]  - .api_key (65) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[54] +[stage-6] [Decoder]  - .api_key (66) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (1) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[55] +[stage-6] [Decoder]  - .api_key (68) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[56] +[stage-6] [Decoder]  - .api_key (69) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[57] +[stage-6] [Decoder]  - .api_key (74) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[58] +[stage-6] [Decoder]  - .api_key (75) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[59] +[stage-6] [Decoder]  - .api_key (80) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .ApiKeys[60] +[stage-6] [Decoder]  - .api_key (81) +[stage-6] [Decoder]  - .min_version (0) +[stage-6] [Decoder]  - .max_version (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] [Decoder]  - .throttle_time_ms (0) +[stage-6] [Decoder]  - .TAG_BUFFER +[stage-6] ✓ Correlation ID: 177586623 +[stage-6] ✓ Error code: 0 (NO_ERROR) +[stage-6] ✓ API keys array length: 61 +[stage-6] ✓ MinVersion for FETCH is <= 16 & >= 0 +[stage-6] ✓ MaxVersion for FETCH is >= 16 +[stage-6] ✓ MinVersion for API_VERSIONS is <= 4 & >= 0 +[stage-6] ✓ MaxVersion for API_VERSIONS is >= 4 +[stage-6] Test passed. +[stage-6] Terminating program +[stage-6] Program terminated successfully + +[stage-5] Running tests for Stage #5: dh6 +[stage-5] $ ./your_program.sh /tmp/server.properties +[stage-5] [Serializer] Writing log files to: /tmp/kraft-combined-logs +[stage-5] [Serializer]  - Wrote file to: /tmp/server.properties +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/meta.properties +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/.kafka_cleanshutdown +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/partition.metadata +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/partition.metadata +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/partition.metadata +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/partition.metadata +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/partition.metadata +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/00000000000000000000.log +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/00000000000000000000.log +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/00000000000000000000.log +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/00000000000000000000.log +[stage-5] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/00000000000000000000.log +[stage-5] [Serializer] Finished writing log files to: /tmp/kraft-combined-logs +[stage-5] Connecting to broker at: localhost:9092 +[stage-5] Connection to broker at localhost:9092 successful +[stage-5] Sending "Fetch" (version: 16) request (Correlation id: 1616512461) +[stage-5] Hexdump of sent "Fetch" request:  +[stage-5] Idx | Hex | ASCII +[stage-5] -----+-------------------------------------------------+----------------- +[stage-5] 0000 | 00 00 00 30 00 01 00 10 60 5a 05 cd 00 0c 6b 61 | ...0....`Z....ka +[stage-5] 0010 | 66 6b 61 2d 74 65 73 74 65 72 00 00 00 01 f4 00 | fka-tester...... +[stage-5] 0020 | 00 00 01 03 20 00 00 00 00 00 00 00 00 00 00 00 | .... ........... +[stage-5] 0030 | 01 01 01 00 | .... +[stage-5]  +[stage-5] Hexdump of received "Fetch" response:  +[stage-5] Idx | Hex | ASCII +[stage-5] -----+-------------------------------------------------+----------------- +[stage-5] 0000 | 60 5a 05 cd 00 00 00 00 00 00 00 0f 32 04 12 01 | `Z..........2... +[stage-5] 0010 | 00 | . +[stage-5]  +[stage-5] [Decoder] - .ResponseHeader +[stage-5] [Decoder]  - .correlation_id (1616512461) +[stage-5] [Decoder]  - .TAG_BUFFER +[stage-5] [Decoder] - .ResponseBody +[stage-5] [Decoder]  - .throttle_time_ms (0) +[stage-5] [Decoder]  - .error_code (0) +[stage-5] [Decoder]  - .session_id (254936082) +[stage-5] [Decoder]  - .num_responses (0) +[stage-5] [Decoder]  - .TAG_BUFFER +[stage-5] ✓ Correlation ID: 1616512461 +[stage-5] ✓ Throttle Time: 0 +[stage-5] ✓ Error Code: 0 (NO_ERROR) +[stage-5]  ✓ TopicResponses: [] +[stage-5] Test passed. +[stage-5] Terminating program +[stage-5] Program terminated successfully + +[stage-4] Running tests for Stage #4: hn6 [stage-4] $ ./your_program.sh /tmp/server.properties +[stage-4] [Serializer] Writing log files to: /tmp/kraft-combined-logs +[stage-4] [Serializer]  - Wrote file to: /tmp/server.properties +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/meta.properties +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/.kafka_cleanshutdown +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/partition.metadata +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/partition.metadata +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/partition.metadata +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/partition.metadata +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/partition.metadata +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/00000000000000000000.log +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/00000000000000000000.log +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/00000000000000000000.log +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/00000000000000000000.log +[stage-4] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/00000000000000000000.log +[stage-4] [Serializer] Finished writing log files to: /tmp/kraft-combined-logs [stage-4] Connecting to broker at: localhost:9092 [stage-4] Connection to broker at localhost:9092 successful -[stage-4] Sending "ApiVersions" (version: 4) request (Correlation id: 177586623) -[stage-4] Hexdump of sent "ApiVersions" request:  +[stage-4] Sending "Fetch" (version: 16) request (Correlation id: 96710698) +[stage-4] Hexdump of sent "Fetch" request:  [stage-4] Idx | Hex | ASCII [stage-4] -----+-------------------------------------------------+----------------- -[stage-4] 0000 | 00 00 00 23 00 12 00 04 0a 95 c1 bf 00 09 6b 61 | ...#..........ka -[stage-4] 0010 | 66 6b 61 2d 63 6c 69 00 0a 6b 61 66 6b 61 2d 63 | fka-cli..kafka-c -[stage-4] 0020 | 6c 69 04 30 2e 31 00 | li.0.1. +[stage-4] 0000 | 00 00 00 60 00 01 00 10 05 c3 b0 2a 00 09 6b 61 | ...`.......*..ka +[stage-4] 0010 | 66 6b 61 2d 63 6c 69 00 00 00 01 f4 00 00 00 01 | fka-cli......... +[stage-4] 0020 | 03 20 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | . .............. +[stage-4] 0030 | 00 00 00 00 00 00 00 00 00 00 00 00 11 09 02 00 | ................ +[stage-4] 0040 | 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 ff | ................ +[stage-4] 0050 | ff ff ff ff ff ff ff ff ff ff ff 00 10 00 00 00 | ................ +[stage-4] 0060 | 00 01 01 00 | .... [stage-4]  -[stage-4] Hexdump of received "ApiVersions" response:  +[stage-4] Hexdump of received "Fetch" response:  [stage-4] Idx | Hex | ASCII [stage-4] -----+-------------------------------------------------+----------------- -[stage-4] 0000 | 0a 95 c1 bf 00 00 3e 00 00 00 00 00 0b 00 00 01 | ......>......... -[stage-4] 0010 | 00 00 00 11 00 00 02 00 00 00 09 00 00 03 00 00 | ................ -[stage-4] 0020 | 00 0c 00 00 08 00 00 00 09 00 00 09 00 00 00 09 | ................ -[stage-4] 0030 | 00 00 0a 00 00 00 06 00 00 0b 00 00 00 09 00 00 | ................ -[stage-4] 0040 | 0c 00 00 00 04 00 00 0d 00 00 00 05 00 00 0e 00 | ................ -[stage-4] 0050 | 00 00 05 00 00 0f 00 00 00 05 00 00 10 00 00 00 | ................ -[stage-4] 0060 | 05 00 00 11 00 00 00 01 00 00 12 00 00 00 04 00 | ................ -[stage-4] 0070 | 00 13 00 00 00 07 00 00 14 00 00 00 06 00 00 15 | ................ -[stage-4] 0080 | 00 00 00 02 00 00 16 00 00 00 05 00 00 17 00 00 | ................ -[stage-4] 0090 | 00 04 00 00 18 00 00 00 05 00 00 19 00 00 00 04 | ................ -[stage-4] 00a0 | 00 00 1a 00 00 00 04 00 00 1b 00 00 00 01 00 00 | ................ -[stage-4] 00b0 | 1c 00 00 00 04 00 00 1d 00 00 00 03 00 00 1e 00 | ................ -[stage-4] 00c0 | 00 00 03 00 00 1f 00 00 00 03 00 00 20 00 00 00 | ............ ... -[stage-4] 00d0 | 04 00 00 21 00 00 00 02 00 00 22 00 00 00 02 00 | ...!......"..... -[stage-4] 00e0 | 00 23 00 00 00 04 00 00 24 00 00 00 02 00 00 25 | .#......$......% -[stage-4] 00f0 | 00 00 00 03 00 00 26 00 00 00 03 00 00 27 00 00 | ......&......'.. -[stage-4] 0100 | 00 02 00 00 28 00 00 00 02 00 00 29 00 00 00 03 | ....(......).... -[stage-4] 0110 | 00 00 2a 00 00 00 02 00 00 2b 00 00 00 02 00 00 | ..*......+...... -[stage-4] 0120 | 2c 00 00 00 01 00 00 2d 00 00 00 00 00 00 2e 00 | ,......-........ -[stage-4] 0130 | 00 00 00 00 00 2f 00 00 00 00 00 00 30 00 00 00 | ...../......0... -[stage-4] 0140 | 01 00 00 31 00 00 00 01 00 00 32 00 00 00 00 00 | ...1......2..... -[stage-4] 0150 | 00 33 00 00 00 00 00 00 37 00 00 00 02 00 00 39 | .3......7......9 -[stage-4] 0160 | 00 00 00 01 00 00 3c 00 00 00 01 00 00 3d 00 00 | ......<......=.. -[stage-4] 0170 | 00 00 00 00 40 00 00 00 00 00 00 41 00 00 00 00 | ....@......A.... -[stage-4] 0180 | 00 00 42 00 00 00 01 00 00 44 00 00 00 00 00 00 | ..B......D...... -[stage-4] 0190 | 45 00 00 00 00 00 00 4a 00 00 00 00 00 00 4b 00 | E......J......K. -[stage-4] 01a0 | 00 00 00 00 00 50 00 00 00 00 00 00 51 00 00 00 | .....P......Q... -[stage-4] 01b0 | 00 00 00 00 00 00 03 00 3d 04 0e 67 72 6f 75 70 | ........=..group -[stage-4] 01c0 | 2e 76 65 72 73 69 6f 6e 00 00 00 01 00 0e 6b 72 | .version......kr -[stage-4] 01d0 | 61 66 74 2e 76 65 72 73 69 6f 6e 00 00 00 01 00 | aft.version..... -[stage-4] 01e0 | 11 6d 65 74 61 64 61 74 61 2e 76 65 72 73 69 6f | .metadata.versio -[stage-4] 01f0 | 6e 00 01 00 16 00 01 08 00 00 00 00 00 00 00 0c | n............... -[stage-4] 0200 | 02 17 02 11 6d 65 74 61 64 61 74 61 2e 76 65 72 | ....metadata.ver -[stage-4] 0210 | 73 69 6f 6e 00 14 00 14 00 | sion..... +[stage-4] 0000 | 05 c3 b0 2a 00 00 00 00 00 00 00 08 61 5f ef 02 | ...*........a_.. +[stage-4] 0010 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 09 | ................ +[stage-4] 0020 | 02 00 00 00 00 00 64 ff ff ff ff ff ff ff ff ff | ......d......... +[stage-4] 0030 | ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01 | ................ +[stage-4] 0040 | ff ff ff ff 01 00 00 00 | ........ [stage-4]  [stage-4] [Decoder] - .ResponseHeader -[stage-4] [Decoder]  - .correlation_id (177586623) +[stage-4] [Decoder]  - .correlation_id (96710698) +[stage-4] [Decoder]  - .TAG_BUFFER [stage-4] [Decoder] - .ResponseBody +[stage-4] [Decoder]  - .throttle_time_ms (0) [stage-4] [Decoder]  - .error_code (0) -[stage-4] [Decoder]  - .num_api_keys (61) -[stage-4] [Decoder]  - .ApiKeys[0] -[stage-4] [Decoder]  - .api_key (0) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (11) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[1] -[stage-4] [Decoder]  - .api_key (1) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (17) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[2] -[stage-4] [Decoder]  - .api_key (2) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (9) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[3] -[stage-4] [Decoder]  - .api_key (3) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (12) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[4] -[stage-4] [Decoder]  - .api_key (8) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (9) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[5] -[stage-4] [Decoder]  - .api_key (9) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (9) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[6] -[stage-4] [Decoder]  - .api_key (10) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (6) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[7] -[stage-4] [Decoder]  - .api_key (11) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (9) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[8] -[stage-4] [Decoder]  - .api_key (12) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (4) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[9] -[stage-4] [Decoder]  - .api_key (13) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (5) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[10] -[stage-4] [Decoder]  - .api_key (14) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (5) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[11] -[stage-4] [Decoder]  - .api_key (15) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (5) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[12] -[stage-4] [Decoder]  - .api_key (16) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (5) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[13] -[stage-4] [Decoder]  - .api_key (17) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (1) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[14] -[stage-4] [Decoder]  - .api_key (18) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (4) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[15] -[stage-4] [Decoder]  - .api_key (19) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (7) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[16] -[stage-4] [Decoder]  - .api_key (20) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (6) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[17] -[stage-4] [Decoder]  - .api_key (21) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[18] -[stage-4] [Decoder]  - .api_key (22) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (5) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[19] -[stage-4] [Decoder]  - .api_key (23) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (4) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[20] -[stage-4] [Decoder]  - .api_key (24) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (5) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[21] -[stage-4] [Decoder]  - .api_key (25) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (4) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[22] -[stage-4] [Decoder]  - .api_key (26) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (4) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[23] -[stage-4] [Decoder]  - .api_key (27) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (1) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[24] -[stage-4] [Decoder]  - .api_key (28) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (4) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[25] -[stage-4] [Decoder]  - .api_key (29) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (3) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[26] -[stage-4] [Decoder]  - .api_key (30) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (3) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[27] -[stage-4] [Decoder]  - .api_key (31) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (3) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[28] -[stage-4] [Decoder]  - .api_key (32) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (4) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[29] -[stage-4] [Decoder]  - .api_key (33) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) +[stage-4] [Decoder]  - .session_id (140599279) +[stage-4] [Decoder]  - .num_responses (1) +[stage-4] [Decoder]  - .TopicResponse[0] +[stage-4] [Decoder]  - .topic_id (00000000-0000-0000-0000-000000001109) +[stage-4] [Decoder]  - .num_partitions (1) +[stage-4] [Decoder]  - .PartitionResponse[0] +[stage-4] [Decoder]  - .partition_index (0) +[stage-4] [Decoder]  - .error_code (100) +[stage-4] [Decoder]  - .high_watermark (-1) +[stage-4] [Decoder]  - .last_stable_offset (-1) +[stage-4] [Decoder]  - .log_start_offset (-1) +[stage-4] [Decoder]  - .num_aborted_transactions (0) +[stage-4] [Decoder]  - .preferred_read_replica (-1) +[stage-4] [Decoder]  - .compact_records_length (0) +[stage-4] [Decoder]  - .TAG_BUFFER [stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[30] -[stage-4] [Decoder]  - .api_key (34) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[31] -[stage-4] [Decoder]  - .api_key (35) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (4) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[32] -[stage-4] [Decoder]  - .api_key (36) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[33] -[stage-4] [Decoder]  - .api_key (37) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (3) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[34] -[stage-4] [Decoder]  - .api_key (38) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (3) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[35] -[stage-4] [Decoder]  - .api_key (39) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[36] -[stage-4] [Decoder]  - .api_key (40) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[37] -[stage-4] [Decoder]  - .api_key (41) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (3) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[38] -[stage-4] [Decoder]  - .api_key (42) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[39] -[stage-4] [Decoder]  - .api_key (43) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[40] -[stage-4] [Decoder]  - .api_key (44) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (1) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[41] -[stage-4] [Decoder]  - .api_key (45) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[42] -[stage-4] [Decoder]  - .api_key (46) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[43] -[stage-4] [Decoder]  - .api_key (47) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[44] -[stage-4] [Decoder]  - .api_key (48) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (1) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[45] -[stage-4] [Decoder]  - .api_key (49) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (1) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[46] -[stage-4] [Decoder]  - .api_key (50) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[47] -[stage-4] [Decoder]  - .api_key (51) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[48] -[stage-4] [Decoder]  - .api_key (55) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (2) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[49] -[stage-4] [Decoder]  - .api_key (57) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (1) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[50] -[stage-4] [Decoder]  - .api_key (60) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (1) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[51] -[stage-4] [Decoder]  - .api_key (61) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[52] -[stage-4] [Decoder]  - .api_key (64) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[53] -[stage-4] [Decoder]  - .api_key (65) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[54] -[stage-4] [Decoder]  - .api_key (66) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (1) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[55] -[stage-4] [Decoder]  - .api_key (68) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[56] -[stage-4] [Decoder]  - .api_key (69) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[57] -[stage-4] [Decoder]  - .api_key (74) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[58] -[stage-4] [Decoder]  - .api_key (75) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[59] -[stage-4] [Decoder]  - .api_key (80) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .ApiKeys[60] -[stage-4] [Decoder]  - .api_key (81) -[stage-4] [Decoder]  - .min_version (0) -[stage-4] [Decoder]  - .max_version (0) -[stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] [Decoder]  - .throttle_time_ms (0) [stage-4] [Decoder]  - .TAG_BUFFER -[stage-4] ✓ Correlation ID: 177586623 -[stage-4] ✓ Error code: 0 (NO_ERROR) -[stage-4] ✓ API keys array length: 61 -[stage-4] ✓ MinVersion for FETCH is <= 16 & >= 0 -[stage-4] ✓ MaxVersion for FETCH is >= 16 -[stage-4] ✓ MinVersion for API_VERSIONS is <= 4 & >= 0 -[stage-4] ✓ MaxVersion for API_VERSIONS is >= 4 +[stage-4] ✓ Correlation ID: 96710698 +[stage-4] ✓ Throttle Time: 0 +[stage-4] ✓ Error Code: 0 (NO_ERROR) +[stage-4]  ✓ TopicResponse[0] Topic UUID: 00000000-0000-0000-0000-000000001109 +[stage-4]  ✓ PartitionResponse[0] Error code: 100 (UNKNOWN_TOPIC_ID) +[stage-4]  ✓ PartitionResponse[0] Partition Index: 0 +[stage-4]  ✓ RecordBatches: [] [stage-4] Test passed. [stage-4] Terminating program [stage-4] Program terminated successfully -[stage-3] Running tests for Stage #3: dh6 +[stage-3] Running tests for Stage #3: cm4 [stage-3] $ ./your_program.sh /tmp/server.properties [stage-3] [Serializer] Writing log files to: /tmp/kraft-combined-logs [stage-3] [Serializer]  - Wrote file to: /tmp/server.properties @@ -381,50 +506,73 @@ Debug = true [stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/.kafka_cleanshutdown [stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/partition.metadata [stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/partition.metadata -[stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-0/partition.metadata -[stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-1/partition.metadata +[stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/partition.metadata +[stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/partition.metadata [stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/partition.metadata [stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/00000000000000000000.log [stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/00000000000000000000.log -[stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-0/00000000000000000000.log -[stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-1/00000000000000000000.log +[stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/00000000000000000000.log +[stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/00000000000000000000.log [stage-3] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/00000000000000000000.log [stage-3] [Serializer] Finished writing log files to: /tmp/kraft-combined-logs [stage-3] Connecting to broker at: localhost:9092 [stage-3] Connection to broker at localhost:9092 successful -[stage-3] Sending "Fetch" (version: 16) request (Correlation id: 1616512461) +[stage-3] Sending "Fetch" (version: 16) request (Correlation id: 254678266) [stage-3] Hexdump of sent "Fetch" request:  [stage-3] Idx | Hex | ASCII [stage-3] -----+-------------------------------------------------+----------------- -[stage-3] 0000 | 00 00 00 30 00 01 00 10 60 5a 05 cd 00 0c 6b 61 | ...0....`Z....ka -[stage-3] 0010 | 66 6b 61 2d 74 65 73 74 65 72 00 00 00 01 f4 00 | fka-tester...... -[stage-3] 0020 | 00 00 01 03 20 00 00 00 00 00 00 00 00 00 00 00 | .... ........... -[stage-3] 0030 | 01 01 01 00 | .... +[stage-3] 0000 | 00 00 00 60 00 01 00 10 0f 2e 14 fa 00 09 6b 61 | ...`..........ka +[stage-3] 0010 | 66 6b 61 2d 63 6c 69 00 00 00 01 f4 00 00 00 01 | fka-cli......... +[stage-3] 0020 | 03 20 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | . .............. +[stage-3] 0030 | 00 00 00 00 40 00 80 00 00 00 00 00 00 31 02 00 | ....@........1.. +[stage-3] 0040 | 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 ff | ................ +[stage-3] 0050 | ff ff ff ff ff ff ff ff ff ff ff 00 10 00 00 00 | ................ +[stage-3] 0060 | 00 01 01 00 | .... [stage-3]  [stage-3] Hexdump of received "Fetch" response:  [stage-3] Idx | Hex | ASCII [stage-3] -----+-------------------------------------------------+----------------- -[stage-3] 0000 | 60 5a 05 cd 00 00 00 00 00 00 00 08 09 e5 58 01 | `Z............X. -[stage-3] 0010 | 00 | . +[stage-3] 0000 | 0f 2e 14 fa 00 00 00 00 00 00 00 0e 3f 6d 78 02 | ............?mx. +[stage-3] 0010 | 00 00 00 00 00 00 40 00 80 00 00 00 00 00 00 31 | ......@........1 +[stage-3] 0020 | 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +[stage-3] 0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +[stage-3] 0040 | ff ff ff ff 01 00 00 00 | ........ [stage-3]  [stage-3] [Decoder] - .ResponseHeader -[stage-3] [Decoder]  - .correlation_id (1616512461) +[stage-3] [Decoder]  - .correlation_id (254678266) [stage-3] [Decoder]  - .TAG_BUFFER [stage-3] [Decoder] - .ResponseBody [stage-3] [Decoder]  - .throttle_time_ms (0) [stage-3] [Decoder]  - .error_code (0) -[stage-3] [Decoder]  - .session_id (134866264) -[stage-3] [Decoder]  - .num_responses (0) +[stage-3] [Decoder]  - .session_id (239037816) +[stage-3] [Decoder]  - .num_responses (1) +[stage-3] [Decoder]  - .TopicResponse[0] +[stage-3] [Decoder]  - .topic_id (00000000-0000-4000-8000-000000000031) +[stage-3] [Decoder]  - .num_partitions (1) +[stage-3] [Decoder]  - .PartitionResponse[0] +[stage-3] [Decoder]  - .partition_index (0) +[stage-3] [Decoder]  - .error_code (0) +[stage-3] [Decoder]  - .high_watermark (0) +[stage-3] [Decoder]  - .last_stable_offset (0) +[stage-3] [Decoder]  - .log_start_offset (0) +[stage-3] [Decoder]  - .num_aborted_transactions (0) +[stage-3] [Decoder]  - .preferred_read_replica (-1) +[stage-3] [Decoder]  - .compact_records_length (0) +[stage-3] [Decoder]  - .TAG_BUFFER +[stage-3] [Decoder]  - .TAG_BUFFER [stage-3] [Decoder]  - .TAG_BUFFER -[stage-3] ✓ Correlation ID: 1616512461 +[stage-3] ✓ Correlation ID: 254678266 [stage-3] ✓ Throttle Time: 0 [stage-3] ✓ Error Code: 0 (NO_ERROR) -[stage-3]  ✓ TopicResponses: [] +[stage-3]  ✓ TopicResponse[0] Topic UUID: 00000000-0000-4000-8000-000000000031 +[stage-3]  ✓ PartitionResponse[0] Error code: 0 (NO_ERROR) +[stage-3]  ✓ PartitionResponse[0] Partition Index: 0 +[stage-3]  ✓ RecordBatches: [] [stage-3] Test passed. [stage-3] Terminating program [stage-3] Program terminated successfully -[stage-2] Running tests for Stage #2: hn6 +[stage-2] Running tests for Stage #2: eg2 [stage-2] $ ./your_program.sh /tmp/server.properties [stage-2] [Serializer] Writing log files to: /tmp/kraft-combined-logs [stage-2] [Serializer]  - Wrote file to: /tmp/server.properties @@ -432,25 +580,25 @@ Debug = true [stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/.kafka_cleanshutdown [stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/partition.metadata [stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/partition.metadata -[stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-0/partition.metadata -[stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-1/partition.metadata +[stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/partition.metadata +[stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/partition.metadata [stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/partition.metadata [stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/00000000000000000000.log [stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/00000000000000000000.log -[stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-0/00000000000000000000.log -[stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-1/00000000000000000000.log +[stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/00000000000000000000.log +[stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/00000000000000000000.log [stage-2] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/00000000000000000000.log [stage-2] [Serializer] Finished writing log files to: /tmp/kraft-combined-logs [stage-2] Connecting to broker at: localhost:9092 [stage-2] Connection to broker at localhost:9092 successful -[stage-2] Sending "Fetch" (version: 16) request (Correlation id: 96710698) +[stage-2] Sending "Fetch" (version: 16) request (Correlation id: 1893237013) [stage-2] Hexdump of sent "Fetch" request:  [stage-2] Idx | Hex | ASCII [stage-2] -----+-------------------------------------------------+----------------- -[stage-2] 0000 | 00 00 00 60 00 01 00 10 05 c3 b0 2a 00 09 6b 61 | ...`.......*..ka +[stage-2] 0000 | 00 00 00 60 00 01 00 10 70 d8 81 15 00 09 6b 61 | ...`....p.....ka [stage-2] 0010 | 66 6b 61 2d 63 6c 69 00 00 00 01 f4 00 00 00 01 | fka-cli......... [stage-2] 0020 | 03 20 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | . .............. -[stage-2] 0030 | 00 00 00 00 00 00 00 00 00 00 00 00 15 33 02 00 | .............3.. +[stage-2] 0030 | 00 00 00 00 40 00 80 00 00 00 00 00 00 32 02 00 | ....@........2.. [stage-2] 0040 | 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 ff | ................ [stage-2] 0050 | ff ff ff ff ff ff ff ff ff ff ff 00 10 00 00 00 | ................ [stage-2] 0060 | 00 01 01 00 | .... @@ -458,47 +606,78 @@ Debug = true [stage-2] Hexdump of received "Fetch" response:  [stage-2] Idx | Hex | ASCII [stage-2] -----+-------------------------------------------------+----------------- -[stage-2] 0000 | 05 c3 b0 2a 00 00 00 00 00 00 00 00 d3 31 b9 02 | ...*.........1.. -[stage-2] 0010 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 15 33 | ...............3 -[stage-2] 0020 | 02 00 00 00 00 00 64 ff ff ff ff ff ff ff ff ff | ......d......... -[stage-2] 0030 | ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01 | ................ -[stage-2] 0040 | ff ff ff ff 01 00 00 00 | ........ +[stage-2] 0000 | 70 d8 81 15 00 00 00 00 00 00 00 0b 66 6c 3f 02 | p...........fl?. +[stage-2] 0010 | 00 00 00 00 00 00 40 00 80 00 00 00 00 00 00 32 | ......@........2 +[stage-2] 0020 | 02 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 | ................ +[stage-2] 0030 | 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | ................ +[stage-2] 0040 | ff ff ff ff 51 00 00 00 00 00 00 00 00 00 00 00 | ....Q........... +[stage-2] 0050 | 44 00 00 00 00 02 98 ec 18 d3 00 00 00 00 00 00 | D............... +[stage-2] 0060 | 00 00 01 91 e0 5b 6d 8b 00 00 01 91 e0 5b 6d 8b | .....[m......[m. +[stage-2] 0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +[stage-2] 0080 | 00 01 24 00 00 00 01 18 48 65 6c 6c 6f 20 57 6f | ..$.....Hello Wo +[stage-2] 0090 | 72 6c 64 21 00 00 00 00 | rld!.... [stage-2]  [stage-2] [Decoder] - .ResponseHeader -[stage-2] [Decoder]  - .correlation_id (96710698) +[stage-2] [Decoder]  - .correlation_id (1893237013) [stage-2] [Decoder]  - .TAG_BUFFER [stage-2] [Decoder] - .ResponseBody [stage-2] [Decoder]  - .throttle_time_ms (0) [stage-2] [Decoder]  - .error_code (0) -[stage-2] [Decoder]  - .session_id (13840825) +[stage-2] [Decoder]  - .session_id (191261759) [stage-2] [Decoder]  - .num_responses (1) [stage-2] [Decoder]  - .TopicResponse[0] -[stage-2] [Decoder]  - .topic_id (00000000-0000-0000-0000-000000001533) +[stage-2] [Decoder]  - .topic_id (00000000-0000-4000-8000-000000000032) [stage-2] [Decoder]  - .num_partitions (1) [stage-2] [Decoder]  - .PartitionResponse[0] [stage-2] [Decoder]  - .partition_index (0) -[stage-2] [Decoder]  - .error_code (100) -[stage-2] [Decoder]  - .high_watermark (-1) -[stage-2] [Decoder]  - .last_stable_offset (-1) -[stage-2] [Decoder]  - .log_start_offset (-1) +[stage-2] [Decoder]  - .error_code (0) +[stage-2] [Decoder]  - .high_watermark (1) +[stage-2] [Decoder]  - .last_stable_offset (1) +[stage-2] [Decoder]  - .log_start_offset (0) [stage-2] [Decoder]  - .num_aborted_transactions (0) [stage-2] [Decoder]  - .preferred_read_replica (-1) -[stage-2] [Decoder]  - .compact_records_length (0) +[stage-2] [Decoder]  - .compact_records_length (80) +[stage-2] [Decoder]  - .RecordBatch[0] +[stage-2] [Decoder]  - .base_offset (0) +[stage-2] [Decoder]  - .batch_length (68) +[stage-2] [Decoder]  - .partition_leader_epoch (0) +[stage-2] [Decoder]  - .magic_byte (2) +[stage-2] [Decoder]  - .crc (-1729357613) +[stage-2] [Decoder]  - .record_attributes (0) +[stage-2] [Decoder]  - .last_offset_delta (0) +[stage-2] [Decoder]  - .base_timestamp (1726045973899) +[stage-2] [Decoder]  - .max_timestamp (1726045973899) +[stage-2] [Decoder]  - .producer_id (0) +[stage-2] [Decoder]  - .producer_epoch (0) +[stage-2] [Decoder]  - .base_sequence (0) +[stage-2] [Decoder]  - .num_records (1) +[stage-2] [Decoder]  - .Record[0] +[stage-2] [Decoder]  - .length (18) +[stage-2] [Decoder]  - .attributes (0) +[stage-2] [Decoder]  - .timestamp_delta (0) +[stage-2] [Decoder]  - .offset_delta (0) +[stage-2] [Decoder]  - .key_length (-1) +[stage-2] [Decoder]  - .key ("") +[stage-2] [Decoder]  - .value_length (12) +[stage-2] [Decoder]  - .value ("Hello World!") +[stage-2] [Decoder]  - .num_headers (0) [stage-2] [Decoder]  - .TAG_BUFFER [stage-2] [Decoder]  - .TAG_BUFFER [stage-2] [Decoder]  - .TAG_BUFFER -[stage-2] ✓ Correlation ID: 96710698 +[stage-2] ✓ Correlation ID: 1893237013 [stage-2] ✓ Throttle Time: 0 [stage-2] ✓ Error Code: 0 (NO_ERROR) -[stage-2]  ✓ TopicResponse[0] Topic UUID: 00000000-0000-0000-0000-000000001533 -[stage-2]  ✓ PartitionResponse[0] Error code: 100 (UNKNOWN_TOPIC_ID) +[stage-2]  ✓ TopicResponse[0] Topic UUID: 00000000-0000-4000-8000-000000000032 +[stage-2]  ✓ PartitionResponse[0] Error code: 0 (NO_ERROR) [stage-2]  ✓ PartitionResponse[0] Partition Index: 0 -[stage-2]  ✓ RecordBatches: [] +[stage-2]  ✓ RecordBatch[0] BaseOffset: 0 +[stage-2]  ✓ Record[0] Value: Hello World! +[stage-2] ✓ RecordBatch bytes match with the contents on disk [stage-2] Test passed. [stage-2] Terminating program [stage-2] Program terminated successfully -[stage-1] Running tests for Stage #1: cm4 +[stage-1] Running tests for Stage #1: fd8 [stage-1] $ ./your_program.sh /tmp/server.properties [stage-1] [Serializer] Writing log files to: /tmp/kraft-combined-logs [stage-1] [Serializer]  - Wrote file to: /tmp/server.properties @@ -506,25 +685,25 @@ Debug = true [stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/.kafka_cleanshutdown [stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/partition.metadata [stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/partition.metadata -[stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-0/partition.metadata -[stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-1/partition.metadata +[stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/partition.metadata +[stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/partition.metadata [stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/partition.metadata [stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/bar-0/00000000000000000000.log [stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/baz-0/00000000000000000000.log -[stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-0/00000000000000000000.log -[stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/foo-1/00000000000000000000.log +[stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-0/00000000000000000000.log +[stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/quz-1/00000000000000000000.log [stage-1] [Serializer]  - Wrote file to: /tmp/kraft-combined-logs/__cluster_metadata-0/00000000000000000000.log [stage-1] [Serializer] Finished writing log files to: /tmp/kraft-combined-logs [stage-1] Connecting to broker at: localhost:9092 [stage-1] Connection to broker at localhost:9092 successful -[stage-1] Sending "Fetch" (version: 16) request (Correlation id: 254678266) +[stage-1] Sending "Fetch" (version: 16) request (Correlation id: 1698452642) [stage-1] Hexdump of sent "Fetch" request:  [stage-1] Idx | Hex | ASCII [stage-1] -----+-------------------------------------------------+----------------- -[stage-1] 0000 | 00 00 00 60 00 01 00 10 0f 2e 14 fa 00 09 6b 61 | ...`..........ka +[stage-1] 0000 | 00 00 00 60 00 01 00 10 65 3c 54 a2 00 09 6b 61 | ...`....e