Search before asking
Description
Every row stored in Fluss carries a 2-byte schema id prefix. The client's LookupResult currently ignores that id and decodes every row with self.row_type (the latest schema of the table). If a row was written under an older schema version, decoding it under the latest RowType produces wrong field values.
This affects both Lookuper::lookup (single row) and PrefixKeyLookuper::lookup (multiple rows, any of which could be from any write time).
Willingness to contribute
Search before asking
Description
Every row stored in Fluss carries a 2-byte schema id prefix. The client's LookupResult currently ignores that id and decodes every row with self.row_type (the latest schema of the table). If a row was written under an older schema version, decoding it under the latest RowType produces wrong field values.
This affects both Lookuper::lookup (single row) and PrefixKeyLookuper::lookup (multiple rows, any of which could be from any write time).
Willingness to contribute