Tian Jiang created IOTDB-1450:
---------------------------------
Summary: [Distributed] Deletion should only delete related time
partitions
Key: IOTDB-1450
URL: https://issues.apache.org/jira/browse/IOTDB-1450
Project: Apache IoTDB
Issue Type: Bug
Components: Core/Cluster
Reporter: Tian Jiang
Although we distribute a deletion to all data groups, the intention is to
delete data in each data group only, in other words, the execution of a
deletion in a data group should only delete data that is in the time partitions
managed by the data group. However, without any additional information, the
deletion executed by different data groups is identical, which means a data
group may delete the data of other data groups and introduce potential
inconsistency as data groups execute operations concurrently on each node, so
their order is not unified. For example, on node A, a data group may delete
before another data group inserts, but on node B, the order is reversed, so
some data is deleted on node B while it remains on node A, causing an
inconsistency.
We can add the structure TimePartitionFilter before the execution of a deletion
by the DataGroupMember. The added TimePartitionFilter tells the underlying
PlanExecutor what time partitions should be involved in the execution of the
deletion and leaves other time partitions unchanged, so when a deletion is
executed by one data group, the data of other data groups will not be changed
and consistency is preserved.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)