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

[MySQL] complete entry bundle implementation #398

Merged

Conversation

mhutchinson
Copy link
Contributor

@mhutchinson mhutchinson commented Dec 9, 2024

MySQL API now checks that the number of entries returned in a bundle is not smaller than the number requested. It does this by parsing the entry bundle. This could be optimized by storing the bundle size in the table.

Now this is fixed, the conformance personality is updated to set cache headers on the entry bundles to allow aggressive caching. Also fixed the checkpoint implementation to never cache, and handle not found properly.

This fixes #364.

@mhutchinson mhutchinson force-pushed the b364-entryBundleFixup branch 3 times, most recently from c10c06e to 72ff29d Compare December 9, 2024 14:06
@mhutchinson
Copy link
Contributor Author

@roger2hk PTAL - I redid this to use the table to store the number of entries. The implementation you reviewed parsed the bundle, but this isn't safe because CT has a different bundle format.

@mhutchinson mhutchinson force-pushed the b364-entryBundleFixup branch from 72ff29d to a57ea04 Compare December 9, 2024 14:22
@roger2hk
Copy link
Contributor

roger2hk commented Dec 9, 2024

@roger2hk PTAL - I redid this to use the table to store the number of entries. The implementation you reviewed parsed the bundle, but this isn't safe because CT has a different bundle format.

Good catch!

MySQL API now checks that the number of entries returned in a bundle is not smaller than the number requested. It does this by parsing the entry bundle. This could be optimized by storing the bundle size in the table.

Now this is fixed, the conformance personality is updated to set cache headers on the entry bundles to allow aggressive caching. Also fixed the checkpoint implementation to never cache, and handle not found properly.
The previous approach wouldn't work with the CT bundle encoding.
Worth being clear about why we're saying this is not found even if _something_ is available.
While we're making breaking changes to the schema, might as well do them all.
@mhutchinson mhutchinson force-pushed the b364-entryBundleFixup branch from a57ea04 to 173cee0 Compare December 9, 2024 16:47
@mhutchinson mhutchinson merged commit c30d02c into transparency-dev:main Dec 9, 2024
15 checks passed
@mhutchinson mhutchinson deleted the b364-entryBundleFixup branch December 9, 2024 16:52
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.

MySQL full tiles are not immutable
3 participants