Skip to content

perf(extensions): bound and chunk RPC query result payloads #419

Description

@ZhuchkaTriplesix

Parent

Part of #414

Problem

Extension driver RPC uses newline-delimited JSON (LineSplitter + jsonDecode(line)). A db.query result can be one unbounded line → O(result) on the UI isolate before compute, plus another copy into the isolate.

Evidence

  • lib/core/extensions/rpc/json_rpc_stdio_client.dart
  • lib/core/extensions/sandbox/extension_driver_session.dart (query parse path)

Acceptance

  • Max payload size enforced (fail closed with clear error)
  • Prefer chunked / binary framing or streamed row batches for large results
  • Parse off UI isolate before materializing large string grids
  • Document protocol limits for driver authors

Suggested fix

Chunked framing or row-batch RPC; hard max line/payload size; mirror SQL workspace caps.

Metadata

Metadata

Labels

coreCore library logic and servicesmarketplaceExtensions marketplace, ExtensionManifestperformanceTheme parser epic label: performance

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions