【已解决】Doris 2.1.3 升级到 2.1.4后,历史分区部分数据丢失,如何恢复

Viewed 103

今天 发现在 2.1.3 升级到 2.1.4时 历史分区数据丢失了
现在的分区数 和 history_partition_num 数量一致了,前面一年的数据都没了
image.png

1 Answers

这个问题主要是同步下:
主要是因为2.1.4 和 2.1.3 历史分区这块行为有些不一致导致的,目前已经和用户沟通,从生产backup一份到poc环境了。

升级后需要先check 下,如果遇到类似问题,升级时间未超过:catalog_trash_expire_second(1day)设置时间。按照以下步骤恢复,如果超出保留时间,需要从源端重新拉取:

  1. 调整最大动态分区数:
    ADMIN SET FRONTEND CONFIG ("max_dynamic_partition_num" = "2000");

  2. 查看可恢复的元数据信息:
    SHOW CATALOG RECYCLE BIN;

  3. 关闭动态分区开关
    ALTER TABLE example_db.my_table set (
    "dynamic_partition.enable" = "false"
    );

  4. 修改为和start 一样大
    ALTER TABLE example_db.my_table set (
    "dynamic_partition.history_partition_num" = "1825"
    );

  5. 打开动态分区
    ALTER TABLE example_db.my_table set (
    "dynamic_partition.enable" = "true"
    );

  6. show partitions from table; 查看之前分区是否创建成功

  7. 以name和id恢复 partition
    RECOVER PARTITION partition_name partition_id FROM [db_name.]table_name;