Skip to content

Conversation

@slice4e
Copy link
Owner

@slice4e slice4e commented Oct 20, 2025

Multi-client tests were never writing it to the expected output file.

This fixes a crash when processing redis-benchmark tests where
full_result_path is None. The test execution and metrics collection
complete successfully, but the file preservation step would fail.

Changes:
- Add null check before shutil.copy(full_result_path, dest_fpath)
- Log warning message when result path is unavailable
- Prevents TypeError: stat: path should be string, not NoneType

Fixes issue observed in:
- memtier_benchmark-nokeys-pubsub-mixed-100-channels test
- Other redis-benchmark output conversion scenarios
Root cause: Multi-client tests were parsing aggregated JSON from stdout
but never writing it to the expected output file. This caused:
1. full_result_path to remain None
2. Results not being preserved to aggregated results folder
3. Missing JSON files for multi-client tests (e.g., pubsub tests)

Solution: Write the aggregated results_dict to local_benchmark_output_filename
and set full_result_path appropriately, so the file preservation logic works.

Also removed the None check workaround since it was masking the real issue.
@slice4e slice4e merged commit a56d26e into main Oct 20, 2025
5 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants