ES数据迁移引发的小····事故?

项目开始:

A同学,创建索引,添加数据。进行了数据的初始化操作。

某一天,A同学在数据中添加了新的索引字段,需要修改原有索引,增加索引字段,但是因为更改原有索引字段需要禁用原有索引,禁用索引又会导致当前索引下数据被删除。

索引,A同学复制了原索引,添加了新的索引字段,并执行了如下命令,将原索引数据同步到新索引中,但是并没有禁用原索引。程序从此用上了新索引。

curl --location --request POST 'http://elasticsearch.o2.org:9200/_reindex' \
--header 'Content-Type: application/json' \
--data-raw '{
    "source": {
        "index": "o2srh_o2sto_store_1_2"
    },
    "dest": {
        "index": "o2srh_o2sto_store_2_2"
    }
}'

后来的某一天,程序上线测试环境。

“B同学,查询接口没有返回任何数据了,抓紧看一眼!”

“嗯?”

经B同学排查,ES中存在数据,但是查询条件未命中。当去掉所有查询条件后,仍然无法命中数据信息。遂寻A同学沟通,得知test环境没有新索引后,便去创建了新索引。

查询依旧未命中。

经查,原来是B同学并未进行数据迁移操作。通过上述同步命令操作后,查询命中。

posted @ 2022-12-01 20:58  萝卜不会抛异常  阅读(55)  评论(0编辑  收藏  举报