perftool-incubator / rickshaw

A project to facilitate execution of benchmarks and tools via extensions for many target environments
Apache License 2.0
0 stars 10 forks source link

Accidental multi-use and collision of 'id' in rickshaw-run.iterations[].params[].id #564

Open atheurer opened 1 week ago

atheurer commented 1 week ago

This ID was originally used to match a client-server ID, aka cs_id, when specific client or servers had specific benchmark params (multibench). However, this id field appears to also be used for opensearch document IDs. This becomes a problem when a run is re-post-processed. The logic in rickshaw-post-process-bench tries to match the current client it is working on to the ID found in the params, and it cannot because the ID now looks something like "DDA62AE4-9603-11EF-8F66-A769D26D3263". When this happens, all of the benchmark params are omitted when re-post-processing, which can result in an error and not generating any post-processed data for indexing.

atheurer commented 1 week ago

There's probably a couple ways to handle this, either focus on changing what field the params use (from id to something like cs_id) or changing what field name the rickshaw-run uses. I am inclined to change the field rickshaw uses because I don't want to make a visible change to the schema of params and have to get all users to adjust to it. Most likely 'id' will become 'doc_id' in rickshaw-run.json