Repository navigation
feat(cache): expose native Blob Cache over tenant-scoped HTTP - #2391
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remote
db.cache.*previously targeted HTTP routes that did not exist, while namespace flush required an operator endpoint. Expose the existing native Blob Cache through seven caller-authorized HTTP routes, and align both JavaScript transport mappings and policy types with the implemented contract.Credentials determine the tenant partition; read/write roles and IAM policies apply to
cache:<namespace>. Application namespaces cannot address the internal query-result cache. Values are bounded to 1 MiB and transported as base64. Cache state and invalidation remain node-local. Tag invalidation uses POST so literal keys such astagsstay usable. Prefix invalidation decodes URL query values before matching keys.Adds route-level tests for binary values, expiry, invalidation, tenant isolation, IAM denial and invalid inputs. An actual server/remote-SDK regression now runs in the normal driver CI lane on each PR. Documents BigQuery cache-aside with
ttl_ms: 600_000.The security gate exposed advisories already present on main. Apply only the indicated rustls 0.23.46 and quinn-proto 0.11.18 patches in the three audited lockfiles, retaining the Node driver's newer quinn-proto.
Validation:
redserver plus remote JavaScript SDK passed binary roundtrip, ten-minute TTL acceptance, short expiry and every invalidation method, including encoded keys/namespaces/prefixes and canonical /v1 aliases.