You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Zhong Wang (Jira)" <ji...@apache.org> on 2021/11/22 06:18:00 UTC

[jira] [Assigned] (IOTDB-2042) Data loss after restart

     [ https://issues.apache.org/jira/browse/IOTDB-2042?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhong Wang reassigned IOTDB-2042:
---------------------------------

    Assignee: Zhong Wang

> Data loss after restart
> -----------------------
>
>                 Key: IOTDB-2042
>                 URL: https://issues.apache.org/jira/browse/IOTDB-2042
>             Project: Apache IoTDB
>          Issue Type: Bug
>            Reporter: Zhong Wang
>            Assignee: Zhong Wang
>            Priority: Major
>              Labels: Cluster
>
> Way to reproduce:
> 1. Enable time partitioning. Set the partition_interval to 2592000 (30 days).
> 2. Start a 3 node cluster with 2 replicas.
> 3. Insert the following values on node 3:
> {code:sql}
> insert into root.group_1.d_1(timestamp, s_1) values(2018-07-18T00:00:00.000+08:00, 18.0)
> insert into root.group_1.d_1(timestamp, s_1) values(2018-07-19T00:00:00.000+08:00, 19.0)
> insert into root.group_1.d_1(timestamp, s_1) values(2019-08-19T00:00:00.000+08:00, 20.0)
> {code}
> 4. Restart the cluster.
> 5. Execute the following query on each node. Node 2 will return an empty result set:
> {code:sql}
> SELECT * FROM root
> {code}
> Some of the TSFiles are empty after recovery, which is unexpected.
> Reason:
> When time partitioning is enabled, although the data of a time series can be distributed across the whole cluster, its metadata is only stored in the data group corresponding to the hash value calculated from its storage group and timestamp 0.
> When a node from another data group receives insertions of the time series, it will send a request to whoever has the metadata and cache the response, but the cache will not be persisted. Thus, if the node crashes, it is not able to recover from the WAL since the cache is not available anymore.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)