diff --git a/docs/changelog/105745.yaml b/docs/changelog/105745.yaml new file mode 100644 index 000000000000..e9a61f692d94 --- /dev/null +++ b/docs/changelog/105745.yaml @@ -0,0 +1,6 @@ +pr: 105745 +summary: Fix `noop_update_total` is not being updated when using the `_bulk` +area: CRUD +type: bug +issues: + - 105742 diff --git a/rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/bulk/12_noop.yml b/rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/bulk/12_noop.yml new file mode 100644 index 000000000000..d0efcc0b6700 --- /dev/null +++ b/rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/bulk/12_noop.yml @@ -0,0 +1,49 @@ +--- +"Noop": + - skip: + version: " - 8.13.99" + reason: fixed in 8.14.0 + - do: + indices.create: + index: test_1 + body: + settings: + number_of_shards: 1 + number_of_replicas: 0 + - do: + cluster.health: + wait_for_status: green + - do: + bulk: + refresh: true + body: | + { "create": { "_index": "test_1", "_id": "1"} } + { "foo": "bar" } + { "create": { "_index": "test_1", "_id": "2"} } + { "foo": "bar" } + - do: + indices.stats: { index: test_1 } + + - match: { indices.test_1.total.indexing.index_total: 2 } + - match: { indices.test_1.primaries.indexing.index_total: 2 } + - match: { indices.test_1.total.indexing.noop_update_total: 0 } + - match: { indices.test_1.primaries.indexing.noop_update_total: 0 } + + - do: + bulk: + body: | + { "update": { "_index": "test_1", "_id": "1"} } + { "doc": { "foo": "bar" } } + { "update": { "_index": "test_1", "_id": "2"} } + { "doc": { "foo": "bar" } } + + - match: { items.0.update.result: noop } + - match: { items.1.update.result: noop } + + - do: + indices.stats: { index: test_1 } + + - match: { indices.test_1.total.indexing.index_total: 2 } + - match: { indices.test_1.primaries.indexing.index_total: 2 } + - match: { indices.test_1.total.indexing.noop_update_total: 2 } # total noop == primaries noop + - match: { indices.test_1.primaries.indexing.noop_update_total: 2 } diff --git a/server/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java b/server/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java index fe7af4bc26e6..5c1f0e4aa730 100644 --- a/server/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java +++ b/server/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java @@ -339,6 +339,7 @@ public class TransportShardBulkAction extends TransportWriteAction