[ENH](frontend): block functions on topology dbs#6836
[ENH](frontend): block functions on topology dbs#6836rescrv wants to merge 23 commits intorescrv/mcmr-testsfrom
Conversation
Add backend overrides for manifest bounds and bounded fragment scans. Use the Spanner-backed manifest manager to: - derive manifest bounds without loading the full manifest - scan fragments from the compaction offset with a position_limit index - let log-service scout and pull logs through the partial-read path - expose a phase-0 garbage reset helper for GC recovery Essentially, what we can do now because of this patch is do a bounded manifest fetch. As spanner manifests grow in size, the cost of fetching the manifest begins to dominate. This adds a proportional-to-the-fragments fetch path. Co-authored-by: AI
Introduce dedicated multi-cluster multi-region (MCMR) property tests that write records across two regions and verify cross-region replication invariants. Parameterize existing test_add tests by database name so they run against both classic and MCMR databases when multi-region is enabled. Fix dirty log detection in the repl manifest manager: - Treat intrinsic_cursor=0 as unset so newly initialized logs are not spuriously reported as dirty - Initialize manifest_regions rows with intrinsic_cursor=0 instead of omitting the column, preventing GC from misinterpreting the starting offset as an active reader position - Change the SQL threshold comparison from > to >= so logs at the exact threshold boundary are correctly included - Add decode_intrinsic_cursor helper that filters out zero values Retry Spanner-aborted flush compaction transactions: - Add is_spanner_aborted() to SysDbError to detect gRPC Aborted status - Wrap the flush_collection_compaction read-write transaction with backon retry (100ms delay, 4 attempts) on Spanner abort - Propagate gRPC status codes through SysDbError and FlushCompactionError instead of mapping all Spanner errors to Internal Improve dirty log test diagnostics by dumping in-memory and Spanner state on assertion failure. Add regression tests for single-add and three-add dirty log scenarios. Co-authored-by: AI
Reviewer ChecklistPlease leverage this checklist to ensure your code review is thorough before approving Testing, Bugs, Errors, Logs, Documentation
System Compatibility
Quality
|
|
Block attached function operations on topology-prefixed databases in frontend This PR adds a shared validation helper in The PR also expands endpoint tests in the same file to verify This summary was automatically generated by @propel-code-bot |
This comment has been minimized.
This comment has been minimized.
This reverts commit 0eebd27.
Reject attached function operations when the database name carries a topology prefix, reusing the same multi-region validation path as collection forking. Add targeted frontend endpoint tests covering attach, get, and detach against topology-prefixed databases. Co-authored-by: AI
e48877b to
9c34b92
Compare
4c35d83 to
18e0a5b
Compare
18e0a5b to
bf7c8e8
Compare
Description of changes
Reject attached function operations when the database name carries a
topology prefix, reusing the same multi-region validation path as
collection forking.
Add targeted frontend endpoint tests covering attach, get, and
detach against topology-prefixed databases.
Test plan
Integration tests that hit the endpoint and confirm error are included.
Migration plan
N/A
Observability plan
N/A
Documentation Changes
N/A
Co-authored-by: AI