Roman Puchkovskiy created IGNITE-20588:
------------------------------------------
Summary: Use consistent schema when converting data in KV/record
views
Key: IGNITE-20588
URL: https://issues.apache.org/jira/browse/IGNITE-20588
Project: Ignite
Issue Type: Improvement
Reporter: Roman Puchkovskiy
Assignee: Roman Puchkovskiy
Fix For: 3.0.0-beta2
Each operation in KV/record views looks like this:
# Convert input rows to BinaryRowEx (using some schema version V1)
# Execute an operation (which will use some schema version V2)
# Convert the operation output from BinaryRowEx (using some schema version V3)
Steps 1 or 3 might be missing, but that's not the point.
V1 and V3 are now obtained simply by looking at the latest schema version from
the point of view of the node at the moment of conversion. V2 is obtained using
transaction ts; the transaction might be started implicitly by InternalTable.
The problem is that V1, V2, V3 might be different.
We should fix some timestamp before the whole sequence and use it in all 3
steps to obtain schemas. As at step 2 the underlying machinery already uses
transaction ts, we should create an implicit tx (if not present) at the level
of KV/record views and then use its ts to obtain schema versions at steps 1 and
3 (at step 2 this will happen automatically).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)