Logstash Node stats API does not return anything for pipelines after upgrade to 8.17.3 (from 8.16.1)

Hi,

We have been using node stats API (pipelines end point) to monitor health of our multiple logstash pipelines.

After we have upgraded from 8.16.1 to 8.17.3, the endpoint is returning pipelines: {} despite pipelines running correctly.

curl -XGET 'http://localhost:9600/_node/stats/pipelines?pretty'
{
  "host" : "logstash2",
  "version" : "8.17.3",
  "http_address" : "127.0.0.1:9600",
  "id" : "xxx",
  "name" : "logstash2",
  "ephemeral_id" : "xxx",
  "snapshot" : false,
  "status" : "green",
  "pipeline" : {
    "workers" : 7,
    "batch_size" : 2000,
    "batch_delay" : 50
  },
  "monitoring" : {
    "hosts" : [ "esdatanodes" ],
    "username" : "logstash_system"
  },
  "pipelines" : { }
}

Querying individual pipelines using the id gives correct results

curl -XGET 'http://localhost:9600/_node/stats/pipelines/mypipelineid?pretty' 
{
  "host" : "logstash2",
  "version" : "8.17.3",
  "http_address" : "127.0.0.1:9600",
  "id" : "xxx",
  "name" : "logstash2",
  "ephemeral_id" : "xxx",
  "snapshot" : false,
  "status" : "green",
  "pipeline" : {
    "workers" : 7,
    "batch_size" : 2000,
    "batch_delay" : 50
  },
  "monitoring" : {
    "hosts" : [ "esdatanodes" ],
    "username" : "logstash_system"
  },
  "pipelines" : {
    "mypipelineid" : {
      "events" : {
        "in" : 1724233,
        "queue_push_duration_in_millis" : 181443,
        "filtered" : 1719141,
        "out" : 1719146,
        "duration_in_millis" : 1151370
      },
      "flow" : {
        "queue_backpressure" : {
          "current" : 0.1667,
          "last_1_minute" : 0.1645,
          "last_5_minutes" : 0.1633,
          "lifetime" : 0.3642
        },
...

Has anyone encountered something similar? Do we need to change some logstash setting after upgrade or is this a bug?

This was a bug that has been fixed (and probably rolled out in next version) but I can't update to 8.17.4 due to known http-poller issue with that version.