Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
It's required to add transactional support to
org.apache.ignite.internal.table.InternalTable#scan
binding it to
org.apache.ignite.internal.storage.MvPartitionStorage#scan(java.util.function.Predicate<org.apache.ignite.internal.schema.BinaryRow>, java.util.UUID)
along with acquiring corresponding locks, namely S_commit(table) - if a predicate can produce phantom reads, IS_commit(table) - otherwise.
Besides transactional support itself, it worth to introduce direct storage reads from within PrimaryReplica instead of going through raft.