Skip to content

reader(csharp): SEA cannot force inline results — cloudfetch.enabled=false is silently ignored #571

Open

Description

@eric-wang-1990

Problem (known limitation)

On the SEA/REST path, adbc.databricks.cloudfetch.enabled=false is silently ignored — there is currently no reliable way to force pure inline (non-CloudFetch) results, unlike Thrift.

Evidence

  • Thrift disables CloudFetch properly: cloudfetch.enabled=false → DatabricksStatement.cs:478 statement.CanDownloadResult = useCloudFetch → server returns inline results.
  • SEA has no CanDownloadResult equivalent. UseCloudFetch is explicitly accept-but-ignore in StatementExecutionStatement.SetOption (csharp/src/StatementExecution/StatementExecutionStatement.cs:252-257) and is never read by StatementExecutionConnection. Inline-vs-external is governed solely by adbc.databricks.rest.result_disposition (default INLINE_OR_EXTERNAL_LINKS, StatementExecutionConnection.cs:331).
  • The disposition=INLINE workaround is not a real substitute: INLINE is server-capped at 25 MiB (DatabricksParameters.cs:419), and the inline JSON data_array path is unimplemented (the DataArray model fields have zero readers; design-doc TODO at csharp/doc/statement-execution-api-design.md:2657-2658). Inline Arrow is implemented and multi-chunk (InlineArrowStreamReader, FetchAllChunkSegmentsAsync, StatementExecutionStatement.cs:843-962).

Impact

Matters for network-restricted deployments (egress to S3/Azure Blob blocked, restrictive proxy) where a client must force inline to avoid presigned cloud-storage URLs. Reyden is unaffected (never emits external links → always inline). This only bites standard SQL warehouses over SEA.

Fix dependency / proposed action

Full inline forcing on SEA depends on the server returning Arrow in Attachment for INLINE disposition (the "inline-Arrow" server capability). The client-side reader (including multi-chunk) already exists. Once inline-Arrow lands, map cloudfetch.enabled=false → disposition=INLINE on the SEA path to restore Thrift parity. Until then, document this as a known SEA limitation.

Activity

  1. added
    bugSomething isn't working
    .NETPull requests that update .NET code
    on Jul 7, 2026
  2. eric-wang-1990 commented on Jul 8, 2026

    @eric-wang-1990
    CollaboratorAuthor

    This is server side issue, for SEA we do not have a way to disable cloudfetch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    .NETPull requests that update .NET codebugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions