Es錯(cuò)誤 : document_missing_exception 苞冯、 Cannot index a document due to seq_no+primary_term conflict

1谴古、錯(cuò)誤異常:document_missing_exception

org.springframework.data.elasticsearch.UncategorizedElasticsearchException: Elasticsearch exception [type=document_missing_exception, reason=[_doc][412457]: document missing];

服務(wù)環(huán)境:

  • 三臺(tái)服務(wù)器 各部署一個(gè)服務(wù)
  • Mysql8.0 + Canal + Kafka2.6.0 + Elasticsearch7.6.2

原因:配置了文檔不存在 更新時(shí)不創(chuàng)建文檔DocAsUpsert=false簇抵,在文檔新增前進(jìn)行修改會(huì)報(bào)此錯(cuò)誤蝙斜。
解決辦法:由于本項(xiàng)目環(huán)境在新增時(shí)會(huì)獲取最新數(shù)據(jù)经磅,所以即使報(bào)錯(cuò)泌绣,也可以保證文檔的最終數(shù)據(jù)一致性,所以只是把異常捕獲掉预厌;
問(wèn)題情況
1阿迈、考慮消費(fèi)順序是否異常
2、根據(jù)實(shí)際情況可配置文檔不存在即創(chuàng)建

//DocAsUpsert 不存在是否插入 默認(rèn)false
//Document 更新數(shù)據(jù)
UpdateQuery updateQuery = builder.withDocAsUpsert(false).withDocument(document).build();
try {
    UpdateResponse response = elasticsearchRestTemplate.update(updateQuery,IndexCoordinates.of("indexName"));
} catch (UncategorizedElasticsearchException e){
}
貼出完整錯(cuò)誤:
org.springframework.data.elasticsearch.UncategorizedElasticsearchException: Elasticsearch exception [type=document_missing_exception, reason=[_doc][412457]: document missing]; nested exception is [索引名稱/NSavibY2QLOJObm0xJgJ-g][[索引名稱][2]] ElasticsearchStatusException[Elasticsearch exception [type=document_missing_exception, reason=[_doc][412457]: document missing]]
    at org.springframework.data.elasticsearch.core.ElasticsearchExceptionTranslator.translateExceptionIfPossible(ElasticsearchExceptionTranslator.java:67)
    at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.translateException(ElasticsearchRestTemplate.java:378)
    at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.execute(ElasticsearchRestTemplate.java:361)
    at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.update(ElasticsearchRestTemplate.java:234)
報(bào)錯(cuò)異常類:UncategorizedElasticsearchException
ES異常類:ElasticsearchException
ES錯(cuò)誤枚舉:ElasticsearchExceptionHandle

2轧叽、錯(cuò)誤異常:Cannot index a document due to seq_no+primary_term conflict

org.springframework.dao.OptimisticLockingFailureException: Cannot index a document due to seq_no+primary_term conflict; nested exception is [case_info-prod/NSavibY2QLOJObm0xJgJ-g][[case_info-prod][0]] ElasticsearchStatusException[Elasticsearch exception [type=version_conflict_engine_exception, reason=[121857]: version conflict, required seqNo [1323993], primary term [1]. current document has seqNo [1747408] and primary term [1]]]

原因:Es更新操作樂(lè)觀鎖苗沧,主要是在集群環(huán)境的情況下同時(shí)操作導(dǎo)致,并發(fā)修改觸發(fā)樂(lè)觀鎖
需求環(huán)境:本項(xiàng)目根據(jù)Canal監(jiān)聽(tīng)binlog消息到kafka 消費(fèi)增量同步Es炭晒;
問(wèn)題出現(xiàn)情況:多臺(tái)服務(wù)同時(shí)處理同一條消息到Es
解決辦法
1待逞、多臺(tái)服務(wù)器配置消費(fèi)不同Partition
2、可通過(guò)RetryOnConflict設(shè)置重試次數(shù)

//DocAsUpsert 不存在是否插入 默認(rèn)false
//RetryOnConflict 失敗重試次數(shù)
//Document 更新數(shù)據(jù)
UpdateQuery updateQuery = builder.withDocAsUpsert(false).withRetryOnConflict(3).withDocument(document).build();
UpdateResponse response = elasticsearchRestTemplate.update(updateQuery,IndexCoordinates.of("indexName"));
貼出完整錯(cuò)誤:
org.springframework.dao.OptimisticLockingFailureException: Cannot index a document due to seq_no+primary_term conflict; nested exception is [case_info-prod/NSavibY2QLOJObm0xJgJ-g][[case_info-prod][0]] ElasticsearchStatusException[Elasticsearch exception [type=version_conflict_engine_exception, reason=[121857]: version conflict, required seqNo [1323993], primary term [1]. current document has seqNo [1747408] and primary term [1]]]
    at org.springframework.data.elasticsearch.core.ElasticsearchExceptionTranslator.translateExceptionIfPossible(ElasticsearchExceptionTranslator.java:55)
    at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.translateException(ElasticsearchRestTemplate.java:378)
    at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.execute(ElasticsearchRestTemplate.java:361)
    at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.update(ElasticsearchRestTemplate.java:234)

嘀嘀嘀 彩蛋時(shí)間~

如何查看Es版本

訪問(wèn)ES地址 返回JSON數(shù)據(jù)
{
  "name" : "node-1",
  "cluster_name" : "es",
  "cluster_uuid" : "Yz9huLzYRZ-K6fVYuE4zXA",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

kibana可通過(guò)'GET /'命令查看

linux查看kafka版本

find /opt -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末网严,一起剝皮案震驚了整個(gè)濱河市识樱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌震束,老刑警劉巖怜庸,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異驴一,居然都是意外死亡休雌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門肝断,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)杈曲,“玉大人驰凛,你說(shuō)我怎么就攤上這事〉F耍” “怎么了恰响?”我有些...
    開(kāi)封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)涌献。 經(jīng)常有香客問(wèn)我胚宦,道長(zhǎng),這世上最難降的妖魔是什么燕垃? 我笑而不...
    開(kāi)封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任枢劝,我火速辦了婚禮,結(jié)果婚禮上卜壕,老公的妹妹穿的比我還像新娘您旁。我一直安慰自己,他們只是感情好轴捎,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布鹤盒。 她就那樣靜靜地躺著,像睡著了一般侦副。 火紅的嫁衣襯著肌膚如雪侦锯。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天秦驯,我揣著相機(jī)與錄音尺碰,去河邊找鬼。 笑死译隘,一個(gè)胖子當(dāng)著我的面吹牛葱蝗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播细燎,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼两曼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了玻驻?” 一聲冷哼從身側(cè)響起悼凑,我...
    開(kāi)封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎璧瞬,沒(méi)想到半個(gè)月后户辫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗤锉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年渔欢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘟忱。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奥额,死狀恐怖苫幢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情垫挨,我是刑警寧澤韩肝,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站九榔,受9級(jí)特大地震影響哀峻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哲泊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一剩蟀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧切威,春花似錦喻旷、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)槽袄。三九已至烙无,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間遍尺,已是汗流浹背截酷。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乾戏,地道東北人迂苛。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像鼓择,于是被迫代替她去往敵國(guó)和親三幻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容