Skip to content

feat: add single and batch storage calls (TNTP-9261) - #512

Draft
vakhov wants to merge 30 commits into
masterfrom
TNTP-9261-crud-storage-call
Draft

feat: add single and batch storage calls (TNTP-9261)#512
vakhov wants to merge 30 commits into
masterfrom
TNTP-9261-crud-storage-call

Conversation

@vakhov

@vakhov vakhov commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Adds crud.storage_call() and crud.storage_call_many() to invoke named stored functions on storage masters through regular net.box.call, without exposing vshard to clients.

Routing supports an explicit bucket_id or a space primary key, including custom sharding keys and functions. Single calls use callrw(). Batch calls use map_callrw() with split arguments and concurrent dispatch to affected replicasets.

  • Target functions must have a persistent body and setuid = false. Execution and result serialization preserve the original caller’s privileges.
  • Batch results retain input order.
  • Stored functions manage their local transactions. Open transactions are rolled back; execution on that storage stops if cleanup cannot complete.
  • Individual function errors do not stop other items. Ref/Map infrastructure errors return a top-level error without partial results; committed changes remain committed.
  • CRUD does not automatically retry target functions. Ambiguous completion is marked with may_have_side_effects = true.
  • Additional bucket references protect running handlers after the router stops waiting.

TNTP-9261.

@vakhov
vakhov force-pushed the TNTP-9261-crud-storage-call branch from 5400f6b to 6841f5a Compare August 21, 2026 07:24
@vakhov
vakhov force-pushed the TNTP-9261-crud-storage-call branch from 6c3eb0a to 761b948 Compare August 31, 2026 06:45
@vakhov
vakhov force-pushed the TNTP-9261-crud-storage-call branch from 1c8c7e7 to f3501a6 Compare August 31, 2026 17:42
@vakhov
vakhov force-pushed the TNTP-9261-crud-storage-call branch from 04487f8 to 3013e61 Compare August 31, 2026 17:48
@vakhov vakhov changed the title Tntp 9261 crud storage call feat: add single and batch storage calls (TNTP-9261) Sep 7, 2026
@vakhov vakhov self-assigned this Sep 7, 2026
@vakhov
vakhov marked this pull request as ready for review September 7, 2026 11:14
@a1div0 a1div0 changed the title feat: add single and batch storage calls (TNTP-9261) [TNTP-9259] feat: add single and batch storage calls (TNTP-9261) Sep 7, 2026
@a1div0 a1div0 changed the title [TNTP-9259] feat: add single and batch storage calls (TNTP-9261) feat: add single and batch storage calls (TNTP-9261) Sep 7, 2026
@vakhov
vakhov requested review from Satbek, a1div0 and p0rtale September 7, 2026 14:06
@vakhov
vakhov marked this pull request as draft September 10, 2026 09:37
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.

1 participant