Skip to content

sql: vectorized inbound streams should handle the first message better #41456

@andreimatei

Description

@andreimatei

The vectorizedInboundStreamHandler ignores the first message from the stream, with no explanation.

_ execinfrapb.ProducerMessage,

I think that's OK because the vectorized outboxes don't put any info in that first message besides the stream id, which is used above this level. And I think we don't intermix vectorized and non-vectorized flows on different nodes.

However, this is against the DistSQL protocol; there's nothing mandating that there's no data in that message (in fact, in the row-based outbox case, there is). It's also not clear to me why we can't mix row-based and vectorized flows.

I think we should handle that first message in the vectorized case, or at the very least document and assert that there's no data in that first message.

Jira issue: CRDB-5447

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-sql-queriesSQL Queries Team

    Type

    No type

    Projects

    Status

    Cold Storage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions