Missing dump.rdb file during memory load

I’m stuck on Stage #CF8.

I’m loading the dump.rdb into memory but it’s somehow missing from the uploaded test run.

Here are my logs from the git push:

remote: [your_program] [2024-07-14T23:51:12Z INFO  redis_starter_rust::actors::processor] RESP request: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n"
remote: [your_program] File: "./.gitattributes"
remote: [your_program] Directory: "./src"
remote: [your_program] [2024-07-14T23:51:12Z INFO  redis_starter_rust::handlers::info_command] Getting info value for key: Replication
remote: [your_program] File: "./rdb-linux-amd64"
remote: [your_program] Directory: "./.git"
remote: [your_program] File: "./spawn_redis_server.sh"
remote: [your_program] File: "./start_redis.sh"
remote: [your_program] File: "./README.md"
remote: [your_program] File: "./Cargo.lock"
remote: [your_program] File: "./Cargo.toml"
remote: [your_program] File: "./.gitignore"
remote: [your_program] File: "./codecrafters.yml"
remote: [your_program] Directory: "./.vscode"
remote: [your_program] [2024-07-14T23:51:12Z INFO  redis_starter_rust::actors::processor] Full resync triggered with offset 0
remote: [your_program] [2024-07-14T23:51:12Z INFO  redis_starter_rust::handlers::config_command] Found the dbfilename setting: dump.rdb
remote: [your_program] [2024-07-14T23:51:12Z ERROR redis_starter_rust::actors::config] Config file ./dump.rdb does not exist.

And here’s a local run:

[2024-07-14T23:59:09Z INFO  redis_starter_rust::actors::config] Loading config ./dump.rdb into memory.
[2024-07-14T23:59:09Z INFO  redis_starter_rust::actors::processor] Retrieved config file contents [82, 69, 68, 73, 83, 48, 48, 49, 49, 250, 9, 114, 101, 100, 105, 115, 45, 118, 101, 114, 5, 55, 46, 50, 46, 48, 250, 10, 114, 101, 100, 105, 115, 45, 98, 105, 116, 115, 192, 64, 250, 5, 99, 116, 105, 109, 101, 194, 109, 8, 188, 101, 250, 8, 117, 115, 101, 100, 45, 109, 101, 109, 194, 176, 196, 16, 0, 250, 8, 97, 111, 102, 45, 98, 97, 115, 101, 192, 0, 255, 240, 110, 59, 254, 192, 255, 90, 162].

and i see it from git ls-tree -r master | grep dump.rdb

100644 blob b7471fd838a273a71237a44d05d8a298a203365c    dump.rdb

Can somebody please help me figure out where the missing dump.rdb is?

Thank you.

Ah, we run our tests against the official Redis too and need to wipe this file so that it doesn’t persist between test runs.

Relevant test code: Code search results · GitHub.

@devfire I don’t see a quick way for us to avoid this at the moment, but you can work around this by just naming the file something else (empty.rdb for example). Hope this helps!

Oh, I see ok thanks.

So, that implies I must hardcode the hex empty sample in code, right? Because there’s no way to parameterize the empty.rdb as the file during this test run.

@devfire Oh, since this is specific to the case where the dump file specified via config doesn’t exist, you could just read empty.rdb at that point no? It’s valid for dump.rdb to not be present even though it’s specified via config (a redis server should just assume that the database is empty at that point).

Oh, yeah, good point. Will do thank you!!

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.