Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow PUT modification of the optional_benchmark_info field #1526

Open
johanpel opened this issue Oct 30, 2023 · 4 comments
Open

Allow PUT modification of the optional_benchmark_info field #1526

johanpel opened this issue Oct 30, 2023 · 4 comments
Assignees

Comments

@johanpel
Copy link
Collaborator

Conbench doesn't allow PUT modification of the optional_benchmark_info field.

It would be nice if it would allow that.

@austin3dickey
Copy link
Member

Thanks for the issue! Yes, I agree that since this field doesn't affect the history fingerprint it would be okay to modify later. It's also often used for additional links, and it would be nice if a client could update the links to use the result ID after the result has been created.

@austin3dickey austin3dickey self-assigned this Oct 31, 2023
@austin3dickey
Copy link
Member

We probably should hold off doing this until #1426 is complete and we land on a final schema for optional non-breaking benchmark tags.

@jgehrcke
Copy link
Member

jgehrcke commented Nov 13, 2023

A thing to watch out for here: the question of (im)mutability of the individual benchmark result representation in the database has big impact on how we can store things in the database and on which optimization techniques we can use. So far, we've been leaning more and more towards the idea of immutability: that e.g. makes denormalized data storage a bit of a no-brainer. So, this might for example relate to #929.

I think the entire benchmark result object should ideally be immutable; and if we were to deviate from that, then we probably want to allow for changing only a subset of its properties, in which case a the PATCH method would be semantically tidier.

But yeah, this seemingly tiny request has strong ties to core architecture and performance characteristics of Conbench and therefore it makes a lot of sense to look at the motivating use case and to really define the problem well before embracing mutation as a must / convenience.

@jgehrcke
Copy link
Member

jgehrcke commented Nov 16, 2023

Quick note: outcome of meeting is this proposal: change Conbench's result POST handler to support string interpolation in a well-specified subset of user-given values. The benchmark result ID is (or can be) generated before DB insertion in application code in that handler and therefore it can be interpolated into user-given data before actual insertion).

Users can use this feature (for example) to store a URL in a benchmark result's meta data where that URL contains the benchmark result ID (which is not known to the user upon result submission).

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

No branches or pull requests

3 participants