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)

Reply via email to