prestodb/presto · error · PrestoException

LANCE_ERROR

LANCE_ERROR

Error message

Failed to parse Arrow schema

What it means

KafkaPageSinkProvider/LancePageSinkProvider.createPageSink could not deserialize the table's Arrow schema from the JSON string carried in the writable table handle; the schema JSON is malformed or does not match an Arrow Schema, so the page sink cannot be constructed.

Source

Thrown at presto-lance/src/main/java/com/facebook/presto/lance/LancePageSinkProvider.java:77

    @Override
    public ConnectorPageSink createPageSink(
            ConnectorTransactionHandle transactionHandle,
            ConnectorSession session,
            ConnectorInsertTableHandle insertTableHandle,
            PageSinkContext pageSinkContext)
    {
        LanceWritableTableHandle handle = (LanceWritableTableHandle) insertTableHandle;
        return createPageSink(handle);
    }

    private ConnectorPageSink createPageSink(LanceWritableTableHandle handle)
    {
        Schema arrowSchema;
        try {
            arrowSchema = Schema.fromJSON(handle.getSchemaJson());
        }
        catch (IOException e) {
            throw new PrestoException(LanceErrorCode.LANCE_ERROR,
                    "Failed to parse Arrow schema", e);
        }

        return new LancePageSink(
                handle.getTablePath(),
                arrowSchema,
                handle.getInputColumns(),
                jsonCodec,
                namespaceHolder.getAllocator());
    }
}

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Check how the schema JSON was produced during planning; it must be Schema.toJSON output
  2. Verify connector and coordinator versions match so the schema round-trips identically
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at presto-lance/src/main/java/com/facebook/presto/lance/LancePageSinkProvider.java:77 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/e1b199869dc9dfc2. Report an issue: GitHub.