Когда я использую .IfSequenceNumber(document.sequenceNumber).IfPrimaryTerm(document.primaryTerm), я не могу обновить эластичный документ.
Без этого , он обновляется нормально. Но мне нужно решить проблему параллелизма обновлений, поэтому мне нужно это использовать.
Мой код:
var x = await _placementElasticRepository.UpdateOneAsync(document.placementId, u => u
.Doc(new
{
preceptors = document.preceptors,
sitePeople = document.sitePeople
})
.IfSequenceNumber(document.sequenceNumber)
.IfPrimaryTerm(document.primaryTerm)
.RetryOnConflict(3))
.ConfigureAwait(false);
Здесь, когда я использую .IfSequenceNumber(document.sequenceNumber)
.IfPrimaryTerm(document.primaryTerm), я получаю следующую ошибку в vaiable x, и это не так выбрасывая любое исключение. Документ продолжается без обновления.
Invalid NEST response built from a unsuccessful (400) low level call on POST: /placement-report-uat/_update/8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa?if_seq_no=121680&if_primary_term=64&retry_on_conflict=3
# Warnings:
- The client is unable to verify that the server is Elasticsearch due to security privileges on the server side. Some functionality may not be compatible if the server is running an unsupported product.
# Audit trail of this API call:
- [1] BadResponse: Node:
https://test-uat-elasticsearch.es.india.azure.elastic-cloud.com/
Took: 00:00:01.3540664
# OriginalException: Elasticsearch.Net.ElasticsearchClientException: Request failed to execute. Call: Status code 400 from: POST /placement-report-uat/_update/8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa?if_seq_no=121680&if_primary_term=64&retry_on_conflict=3. ServerError: Type: action_request_validation_exception Reason: "Validation Failed: 1: compare and write operations can not be retried;"
# Request:
{"doc":{"preceptors":[{"id":"8b5bbb90-6aaa-4d9a-bd8f-6aaa8851daaa","prefix":"","title":"","lastName":"44444_1","firstName":"44444_1","email":"4444_1@test.com","isActive":true,"addedBy":"school","phoneExtension":""},{"id":"8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa","prefix":"","title":"","lastName":"4444_3","firstName":"44444_3","email":"444_3@test.com","isActive":true,"addedBy":"school","phoneExtension":""}],"sitePeople":[{"id":"8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa","prefix":"","title":"","lastName":"44444_1","firstName":"44444_1","fullName":" 44444_1 44444_1","email":"4444_1@test.com","isActive":true,"phoneExtension":""},{"id":"8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa","prefix":"","title":"","lastName":"4444_3","firstName":"44444_3","fullName":" 44444_3 4444_3","email":"444_3@test.com","isActive":true,"phoneExtension":""}]}}
# Response:
{"error":{"root_cause":[{"type":"action_request_validation_exception","reason":"Validation Failed: 1: compare and write operations can not be retried;"}],"type":"action_request_validation_exception","reason":"Validation Failed: 1: compare and write operations can not be retried;"},"status":400}
Когда я использую .IfSequenceNumber(document.sequenceNumber).IfPrimaryTerm(document.primaryTerm), я не могу обновить эластичный документ. Без этого , он обновляется нормально. Но мне нужно решить проблему параллелизма обновлений, поэтому мне нужно это использовать. Мой код: [code]var x = await _placementElasticRepository.UpdateOneAsync(document.placementId, u => u .Doc(new { preceptors = document.preceptors, sitePeople = document.sitePeople }) .IfSequenceNumber(document.sequenceNumber) .IfPrimaryTerm(document.primaryTerm) .RetryOnConflict(3)) .ConfigureAwait(false); [/code] Здесь, когда я использую .IfSequenceNumber(document.sequenceNumber) .IfPrimaryTerm(document.primaryTerm), я получаю следующую ошибку в vaiable x, и это не так выбрасывая любое исключение. Документ продолжается без обновления.
[code]Invalid NEST response built from a unsuccessful (400) low level call on POST: /placement-report-uat/_update/8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa?if_seq_no=121680&if_primary_term=64&retry_on_conflict=3 # Warnings: - The client is unable to verify that the server is Elasticsearch due to security privileges on the server side. Some functionality may not be compatible if the server is running an unsupported product. # Audit trail of this API call: - [1] BadResponse: Node: https://test-uat-elasticsearch.es.india.azure.elastic-cloud.com/ Took: 00:00:01.3540664 # OriginalException: Elasticsearch.Net.ElasticsearchClientException: Request failed to execute. Call: Status code 400 from: POST /placement-report-uat/_update/8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa?if_seq_no=121680&if_primary_term=64&retry_on_conflict=3. ServerError: Type: action_request_validation_exception Reason: "Validation Failed: 1: compare and write operations can not be retried;" # Request: {"doc":{"preceptors":[{"id":"8b5bbb90-6aaa-4d9a-bd8f-6aaa8851daaa","prefix":"","title":"","lastName":"44444_1","firstName":"44444_1","email":"4444_1@test.com","isActive":true,"addedBy":"school","phoneExtension":""},{"id":"8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa","prefix":"","title":"","lastName":"4444_3","firstName":"44444_3","email":"444_3@test.com","isActive":true,"addedBy":"school","phoneExtension":""}],"sitePeople":[{"id":"8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa","prefix":"","title":"","lastName":"44444_1","firstName":"44444_1","fullName":" 44444_1 44444_1","email":"4444_1@test.com","isActive":true,"phoneExtension":""},{"id":"8b5aaa90-6aaa-4d9a-bd8f-6aaa8851daaa","prefix":"","title":"","lastName":"4444_3","firstName":"44444_3","fullName":" 44444_3 4444_3","email":"444_3@test.com","isActive":true,"phoneExtension":""}]}} # Response: {"error":{"root_cause":[{"type":"action_request_validation_exception","reason":"Validation Failed: 1: compare and write operations can not be retried;"}],"type":"action_request_validation_exception","reason":"Validation Failed: 1: compare and write operations can not be retried;"},"status":400}[/code]