Skip to content

Support API_VERSIONS in rust client #516

@loserwang1024

Description

@loserwang1024

Search before asking

  • I searched in the issues and found nothing similar.

Motivation

Currently, fluss rust client send any request as ApiVersion(0). However, some api versions in latest server has already upgraded to version 1. For example:

// Version 0: Uses lake's encoder for primary key encoding (legacy behavior).
    // Version 1: Uses CompactedKeyEncoder for primary key encoding when bucket key differs from
    //            primary key, enabling prefix lookup support.
    PUT_KV(1016, 0, 1, PUBLIC),

    // Version 0: Uses lake's encoder for primary key encoding (legacy behavior).
    // Version 1: Uses CompactedKeyEncoder for primary key encoding when bucket key differs from
    //            primary key, enabling prefix lookup support.
    LOOKUP(1017, 0, 1, PUBLIC),

// Version 0: Uses lake's encoder for prefix key encoding (legacy behavior).
    // Version 1: Uses CompactedKeyEncoder for prefix key encoding when bucket key differs from
    //            primary key, ensuring encoded bucket key bytes are a prefix of primary key bytes.
    PREFIX_LOOKUP(1034, 0, 1, PUBLIC),

Thus, if use rust client read or write to lake table, exception will occurs.

Solution

No response

Anything else?

No response

Willingness to contribute

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions