-
Notifications
You must be signed in to change notification settings - Fork 21
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
Comments
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. |
We probably should hold off doing this until #1426 is complete and we land on a final schema for optional non-breaking benchmark tags. |
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. |
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). |
Conbench doesn't allow
PUT
modification of theoptional_benchmark_info
field.It would be nice if it would allow that.
The text was updated successfully, but these errors were encountered: