From 6c087070808e603ff01b46b668e91c23ddd8db74 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Wed, 23 Oct 2024 09:12:45 +1030 Subject: [PATCH] x-pack/filebeat/docs/input: clarify interaction between split and cursor updates --- x-pack/filebeat/docs/inputs/input-httpjson.asciidoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/filebeat/docs/inputs/input-httpjson.asciidoc b/x-pack/filebeat/docs/inputs/input-httpjson.asciidoc index 21766a515a8..a7dd5d7634f 100644 --- a/x-pack/filebeat/docs/inputs/input-httpjson.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-httpjson.asciidoc @@ -783,6 +783,8 @@ Valid when used with `type: map`. When not empty, defines a new field where the If set to true, empty or missing value will be ignored and processing will pass on to the next nested split operation instead of failing with an error. Default: `false`. +Note that if `ignore_empty_value` is `true` and the final result is empty, no event will be published, and no cursor update will be made. If a cursor update must be made for all responses, this should be set to `false` and the ingest pipeline must be configured to tolerate empty event sets. + [float] ==== `response.split[].split` @@ -1556,6 +1558,8 @@ See <> . Cursor is a list of key value objects where arbitrary values are defined. The values are interpreted as <> and a default template can be set. Cursor state is kept between input restarts and updated once all the events for a request are published. +If no event is published, no cursor update is made. This can have implications on how cursor updates should be performed when the target API returns empty response sets. + Each cursor entry is formed by: - A `value` template, which will define the value to store when evaluated.