Description
Scenario-suite benchmark runs failed when loading certain scenarios because the external scenario manifests used the key failure_code, while the CouchDB collection config expected failurecode. This mismatch caused the loader to miss the CSV collection configuration and treat the file incorrectly during initialization.
Problem
When couchdb.init_data.py loads a scenario manifest, it resolves entries such as:
workorder: shared/work_order/work_order_fcc.csv
failure_code: shared/failure_code/failure_code.csv
However, the CouchDB collection configuration expected the corresponding key to be failurecode. Because the names did not match, the failure-code CSV was not loaded with the correct parser and scenario initialization failed with a JSONDecodeError.
Expected behavior
The collection name should be consistent across:
- CouchDB collection configuration
- scenario manifests
- benchmark execution flow
Scenario loading should work without requiring manual renaming in each manifest.
Proposed fix
Update the CouchDB collection naming so the external scenario manifests load the failure-code CSV correctly.
Acceptance criteria
- Scenario 301 loads successfully
failure_code / failurecode naming is consistent
- Benchmark runner can reset and reload CouchDB for scenario-suite runs without crashing
Description
Scenario-suite benchmark runs failed when loading certain scenarios because the external scenario manifests used the key
failure_code, while the CouchDB collection config expectedfailurecode. This mismatch caused the loader to miss the CSV collection configuration and treat the file incorrectly during initialization.Problem
When
couchdb.init_data.pyloads a scenario manifest, it resolves entries such as:workorder:shared/work_order/work_order_fcc.csvfailure_code:shared/failure_code/failure_code.csvHowever, the CouchDB collection configuration expected the corresponding key to be
failurecode. Because the names did not match, the failure-code CSV was not loaded with the correct parser and scenario initialization failed with aJSONDecodeError.Expected behavior
The collection name should be consistent across:
Scenario loading should work without requiring manual renaming in each manifest.
Proposed fix
Update the CouchDB collection naming so the external scenario manifests load the failure-code CSV correctly.
Acceptance criteria
failure_code/failurecodenaming is consistent