Skip to content

[Bug] EscapeBridge fails to decode messages when queue-offset metadata is incomplete #10943

Description

@Aias00

Reproduction

EscapeBridge.decodeMsgList iterates the message buffers and unconditionally reads getMessageQueueOffset().get(i). If a GetMessageResult contains a valid message buffer but the queue-offset metadata is missing or shorter than the buffer list, the method throws IndexOutOfBoundsException.

This turns a recoverable failover-read metadata inconsistency into a failed escape-bridge read.

Expected behavior

Decode valid messages even when the optional queue-offset list is incomplete. Apply the CQ offset only when it exists; otherwise retain the decoded message offset.

Scope

Guard the offset lookup and add a regression test using a valid encoded message with no queue-offset metadata.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions