[ https://issues.apache.org/jira/browse/IGNITE-24580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roman Puchkovskiy reassigned IGNITE-24580: ------------------------------------------ Assignee: Roman Puchkovskiy > Make sure tableId is added to enlistment in InternalTableImpl > ------------------------------------------------------------- > > Key: IGNITE-24580 > URL: https://issues.apache.org/jira/browse/IGNITE-24580 > Project: Ignite > Issue Type: Improvement > Reporter: Roman Puchkovskiy > Assignee: Roman Puchkovskiy > Priority: Major > Labels: ignite-3 > > Every operation in an RW transaction that touches a partition must add the > corresponding tableId to the partition enlistment enformation. Current code > is fragile in this regard: sometimes, tx.enlist() (which guarantees the > addition of tableId) is not invoked, instead the enlistment information is > obtained via tx.enlistedPartition() and then addTableId() is invoked on it. > # A test has to be added that will make sure that every operation on > InternalTable that touches a partition in an RW transaction adds tableId to > the enlistment, even if the partition was already enlisted as a whole > # The pattern 'take enlistment vith tx.enlistedPartition() and, if exists, > call addTableId()' should be replaced with always calling a method like > tx.enlist(). Probably, a return value is to be added to tx.enlist() to signal > that the enlistment was already there. -- This message was sent by Atlassian Jira (v8.20.10#820010)