Skip to content

Comments

[Fleet] omit system properties when syncing ingest pipelines#241096

Merged
juliaElastic merged 3 commits intoelastic:mainfrom
juliaElastic:custom-assets-system-fields
Oct 30, 2025
Merged

[Fleet] omit system properties when syncing ingest pipelines#241096
juliaElastic merged 3 commits intoelastic:mainfrom
juliaElastic:custom-assets-system-fields

Conversation

@juliaElastic
Copy link
Contributor

@juliaElastic juliaElastic commented Oct 29, 2025

Summary

Closes #230188

Omit system properties when creating ingest pipelines on remote clusters.
Currently pipelines syncing fails with the error

[2025-10-29T10:50:06.429+01:00][ERROR][plugins.fleet.fleet:sync-integrations-task:1.0.5] Failed to install ingest_pipeline logs-system.auth@custom, error: ResponseError: parse_exception
        Root causes:
                parse_exception: Provided a pipeline property which is managed by the system: created_date_millis.

It seems the new fields were introduced by elasticsearch in 9.2 elastic/elasticsearch#130847

To verify:

# example pipeline
{
  description: 'description',
  processors: [ { set: [Object] } ],
  version: 2,
  created_date_millis: 1761731006028,
  modified_date_millis: 1761732134830
}
[2025-10-29T11:03:38.922+01:00][DEBUG][plugins.fleet.fleet:sync-integrations-task:1.0.5] Updating ingest pipeline: logs-system.auth@custom
[2025-10-29T11:11:36.343+01:00][INFO ][plugins.fleet.fleet:sync-integrations-task:1.0.5] [SyncIntegrationsTask] runTask ended: success

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

  • Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support
  • Documentation was added for features that require explanation or tutorials
  • Unit or functional tests were updated or added to match the most common scenarios
  • If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker list
  • This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The release_note:breaking label should be applied in these situations.
  • Flaky Test Runner was used on any tests changed
  • The PR description includes the appropriate Release Notes section, and the correct release_note:* label is applied per the guidelines
  • Review the backport guidelines and apply applicable backport:* labels.

@juliaElastic juliaElastic self-assigned this Oct 29, 2025
@juliaElastic juliaElastic requested a review from a team as a code owner October 29, 2025 10:12
@botelastic botelastic bot added the Team:Fleet Team label for Observability Data Collection Fleet team label Oct 29, 2025
@elasticmachine
Copy link
Contributor

Pinging @elastic/fleet (Team:Fleet)

@juliaElastic juliaElastic requested a review from nchaulet October 29, 2025 13:31
Copy link
Member

@nchaulet nchaulet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@elasticmachine
Copy link
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #73 / serverless observability UI - ML and Discover discover/observabilitySolution/context_awareness extension getDocViewer data view mode should render logs overview tab for logs data source

Metrics [docs]

✅ unchanged

History

cc @juliaElastic

@juliaElastic juliaElastic merged commit 171e720 into elastic:main Oct 30, 2025
12 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 9.2

https://github.com/elastic/kibana/actions/runs/18932934893

kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Oct 30, 2025
…#241096)

## Summary

Closes elastic#230188

Omit system properties when creating ingest pipelines on remote
clusters.
Currently pipelines syncing fails with the error
```
[2025-10-29T10:50:06.429+01:00][ERROR][plugins.fleet.fleet:sync-integrations-task:1.0.5] Failed to install ingest_pipeline logs-system.auth@custom, error: ResponseError: parse_exception
        Root causes:
                parse_exception: Provided a pipeline property which is managed by the system: created_date_millis.
```
It seems the new fields were introduced by elasticsearch in 9.2
elastic/elasticsearch#130847

To verify:
- Start 2 clusters and set up syncing between them
https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/dev_docs/local_setup/remote_clusters_ccr.md
- Create a custom ingest pipeline e.g. `logs-system.auth@custom`
- Wait for sync to run
- Verify that the sync is successful

```
# example pipeline
{
  description: 'description',
  processors: [ { set: [Object] } ],
  version: 2,
  created_date_millis: 1761731006028,
  modified_date_millis: 1761732134830
}
[2025-10-29T11:03:38.922+01:00][DEBUG][plugins.fleet.fleet:sync-integrations-task:1.0.5] Updating ingest pipeline: logs-system.auth@custom
[2025-10-29T11:11:36.343+01:00][INFO ][plugins.fleet.fleet:sync-integrations-task:1.0.5] [SyncIntegrationsTask] runTask ended: success
```

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

(cherry picked from commit 171e720)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
9.2

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Oct 30, 2025
…241096) (#241226)

# Backport

This will backport the following commits from `main` to `9.2`:
- [[Fleet] omit system properties when syncing ingest pipelines
(#241096)](#241096)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Julia
Bardi","email":"90178898+juliaElastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-10-30T07:17:54Z","message":"[Fleet]
omit system properties when syncing ingest pipelines (#241096)\n\n##
Summary\n\nCloses
https://github.com/elastic/kibana/issues/230188\n\nOmit system
properties when creating ingest pipelines on
remote\nclusters.\nCurrently pipelines syncing fails with the
error\n```\n[2025-10-29T10:50:06.429+01:00][ERROR][plugins.fleet.fleet:sync-integrations-task:1.0.5]
Failed to install ingest_pipeline logs-system.auth@custom, error:
ResponseError: parse_exception\n Root causes:\n parse_exception:
Provided a pipeline property which is managed by the system:
created_date_millis.\n```\nIt seems the new fields were introduced by
elasticsearch in
9.2\nhttps://github.com/elastic/elasticsearch/pull/130847\n\nTo
verify:\n- Start 2 clusters and set up syncing between
them\nhttps://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/dev_docs/local_setup/remote_clusters_ccr.md\n-
Create a custom ingest pipeline e.g. `logs-system.auth@custom`\n- Wait
for sync to run\n- Verify that the sync is successful\n\n```\n# example
pipeline\n{\n description: 'description',\n processors: [ { set:
[Object] } ],\n version: 2,\n created_date_millis: 1761731006028,\n
modified_date_millis:
1761732134830\n}\n[2025-10-29T11:03:38.922+01:00][DEBUG][plugins.fleet.fleet:sync-integrations-task:1.0.5]
Updating ingest pipeline:
logs-system.auth@custom\n[2025-10-29T11:11:36.343+01:00][INFO
][plugins.fleet.fleet:sync-integrations-task:1.0.5]
[SyncIntegrationsTask] runTask ended: success\n```\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*`
labels.","sha":"171e720d805c7f5215c46ed231de302f73560e0d","branchLabelMapping":{"^v9.3.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Fleet","backport:version","v9.3.0","v9.2.1"],"title":"[Fleet]
omit system properties when syncing ingest
pipelines","number":241096,"url":"https://github.com/elastic/kibana/pull/241096","mergeCommit":{"message":"[Fleet]
omit system properties when syncing ingest pipelines (#241096)\n\n##
Summary\n\nCloses
https://github.com/elastic/kibana/issues/230188\n\nOmit system
properties when creating ingest pipelines on
remote\nclusters.\nCurrently pipelines syncing fails with the
error\n```\n[2025-10-29T10:50:06.429+01:00][ERROR][plugins.fleet.fleet:sync-integrations-task:1.0.5]
Failed to install ingest_pipeline logs-system.auth@custom, error:
ResponseError: parse_exception\n Root causes:\n parse_exception:
Provided a pipeline property which is managed by the system:
created_date_millis.\n```\nIt seems the new fields were introduced by
elasticsearch in
9.2\nhttps://github.com/elastic/elasticsearch/pull/130847\n\nTo
verify:\n- Start 2 clusters and set up syncing between
them\nhttps://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/dev_docs/local_setup/remote_clusters_ccr.md\n-
Create a custom ingest pipeline e.g. `logs-system.auth@custom`\n- Wait
for sync to run\n- Verify that the sync is successful\n\n```\n# example
pipeline\n{\n description: 'description',\n processors: [ { set:
[Object] } ],\n version: 2,\n created_date_millis: 1761731006028,\n
modified_date_millis:
1761732134830\n}\n[2025-10-29T11:03:38.922+01:00][DEBUG][plugins.fleet.fleet:sync-integrations-task:1.0.5]
Updating ingest pipeline:
logs-system.auth@custom\n[2025-10-29T11:11:36.343+01:00][INFO
][plugins.fleet.fleet:sync-integrations-task:1.0.5]
[SyncIntegrationsTask] runTask ended: success\n```\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*`
labels.","sha":"171e720d805c7f5215c46ed231de302f73560e0d"}},"sourceBranch":"main","suggestedTargetBranches":["9.2"],"targetPullRequestStates":[{"branch":"main","label":"v9.3.0","branchLabelMappingKey":"^v9.3.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/241096","number":241096,"mergeCommit":{"message":"[Fleet]
omit system properties when syncing ingest pipelines (#241096)\n\n##
Summary\n\nCloses
https://github.com/elastic/kibana/issues/230188\n\nOmit system
properties when creating ingest pipelines on
remote\nclusters.\nCurrently pipelines syncing fails with the
error\n```\n[2025-10-29T10:50:06.429+01:00][ERROR][plugins.fleet.fleet:sync-integrations-task:1.0.5]
Failed to install ingest_pipeline logs-system.auth@custom, error:
ResponseError: parse_exception\n Root causes:\n parse_exception:
Provided a pipeline property which is managed by the system:
created_date_millis.\n```\nIt seems the new fields were introduced by
elasticsearch in
9.2\nhttps://github.com/elastic/elasticsearch/pull/130847\n\nTo
verify:\n- Start 2 clusters and set up syncing between
them\nhttps://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/dev_docs/local_setup/remote_clusters_ccr.md\n-
Create a custom ingest pipeline e.g. `logs-system.auth@custom`\n- Wait
for sync to run\n- Verify that the sync is successful\n\n```\n# example
pipeline\n{\n description: 'description',\n processors: [ { set:
[Object] } ],\n version: 2,\n created_date_millis: 1761731006028,\n
modified_date_millis:
1761732134830\n}\n[2025-10-29T11:03:38.922+01:00][DEBUG][plugins.fleet.fleet:sync-integrations-task:1.0.5]
Updating ingest pipeline:
logs-system.auth@custom\n[2025-10-29T11:11:36.343+01:00][INFO
][plugins.fleet.fleet:sync-integrations-task:1.0.5]
[SyncIntegrationsTask] runTask ended: success\n```\n\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*`
labels.","sha":"171e720d805c7f5215c46ed231de302f73560e0d"}},{"branch":"9.2","label":"v9.2.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>
sbelastic pushed a commit to sbelastic/kibana that referenced this pull request Oct 30, 2025
…#241096)

## Summary

Closes elastic#230188

Omit system properties when creating ingest pipelines on remote
clusters.
Currently pipelines syncing fails with the error
```
[2025-10-29T10:50:06.429+01:00][ERROR][plugins.fleet.fleet:sync-integrations-task:1.0.5] Failed to install ingest_pipeline logs-system.auth@custom, error: ResponseError: parse_exception
        Root causes:
                parse_exception: Provided a pipeline property which is managed by the system: created_date_millis.
```
It seems the new fields were introduced by elasticsearch in 9.2
elastic/elasticsearch#130847

To verify:
- Start 2 clusters and set up syncing between them
https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/dev_docs/local_setup/remote_clusters_ccr.md
- Create a custom ingest pipeline e.g. `logs-system.auth@custom`
- Wait for sync to run
- Verify that the sync is successful

```
# example pipeline
{
  description: 'description',
  processors: [ { set: [Object] } ],
  version: 2,
  created_date_millis: 1761731006028,
  modified_date_millis: 1761732134830
}
[2025-10-29T11:03:38.922+01:00][DEBUG][plugins.fleet.fleet:sync-integrations-task:1.0.5] Updating ingest pipeline: logs-system.auth@custom
[2025-10-29T11:11:36.343+01:00][INFO ][plugins.fleet.fleet:sync-integrations-task:1.0.5] [SyncIntegrationsTask] runTask ended: success
```



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.
ana-davydova pushed a commit to ana-davydova/kibana that referenced this pull request Nov 3, 2025
…#241096)

## Summary

Closes elastic#230188

Omit system properties when creating ingest pipelines on remote
clusters.
Currently pipelines syncing fails with the error
```
[2025-10-29T10:50:06.429+01:00][ERROR][plugins.fleet.fleet:sync-integrations-task:1.0.5] Failed to install ingest_pipeline logs-system.auth@custom, error: ResponseError: parse_exception
        Root causes:
                parse_exception: Provided a pipeline property which is managed by the system: created_date_millis.
```
It seems the new fields were introduced by elasticsearch in 9.2
elastic/elasticsearch#130847

To verify:
- Start 2 clusters and set up syncing between them
https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/dev_docs/local_setup/remote_clusters_ccr.md
- Create a custom ingest pipeline e.g. `logs-system.auth@custom`
- Wait for sync to run
- Verify that the sync is successful

```
# example pipeline
{
  description: 'description',
  processors: [ { set: [Object] } ],
  version: 2,
  created_date_millis: 1761731006028,
  modified_date_millis: 1761732134830
}
[2025-10-29T11:03:38.922+01:00][DEBUG][plugins.fleet.fleet:sync-integrations-task:1.0.5] Updating ingest pipeline: logs-system.auth@custom
[2025-10-29T11:11:36.343+01:00][INFO ][plugins.fleet.fleet:sync-integrations-task:1.0.5] [SyncIntegrationsTask] runTask ended: success
```



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.
albertoblaz pushed a commit to albertoblaz/kibana that referenced this pull request Nov 4, 2025
…#241096)

## Summary

Closes elastic#230188

Omit system properties when creating ingest pipelines on remote
clusters.
Currently pipelines syncing fails with the error
```
[2025-10-29T10:50:06.429+01:00][ERROR][plugins.fleet.fleet:sync-integrations-task:1.0.5] Failed to install ingest_pipeline logs-system.auth@custom, error: ResponseError: parse_exception
        Root causes:
                parse_exception: Provided a pipeline property which is managed by the system: created_date_millis.
```
It seems the new fields were introduced by elasticsearch in 9.2
elastic/elasticsearch#130847

To verify:
- Start 2 clusters and set up syncing between them
https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/dev_docs/local_setup/remote_clusters_ccr.md
- Create a custom ingest pipeline e.g. `logs-system.auth@custom`
- Wait for sync to run
- Verify that the sync is successful

```
# example pipeline
{
  description: 'description',
  processors: [ { set: [Object] } ],
  version: 2,
  created_date_millis: 1761731006028,
  modified_date_millis: 1761732134830
}
[2025-10-29T11:03:38.922+01:00][DEBUG][plugins.fleet.fleet:sync-integrations-task:1.0.5] Updating ingest pipeline: logs-system.auth@custom
[2025-10-29T11:11:36.343+01:00][INFO ][plugins.fleet.fleet:sync-integrations-task:1.0.5] [SyncIntegrationsTask] runTask ended: success
```



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.
Apmats added a commit that referenced this pull request Feb 16, 2026
…52579)

## Summary

Fixes #251491

Elasticsearch 9.2 introduced system-managed timestamp fields
(`created_date`, `created_date_millis`, `modified_date`,
`modified_date_millis`) in ingest pipeline GET responses
([elastic/elasticsearch#130847](elastic/elasticsearch#130847)).
These fields are read-only, including them in a PUT request causes ES to
reject it with:

```
parse_exception: Provided a pipeline property which is managed by the system: created_date_millis
```

The enterprise search plugin's ML inference pipeline management fetches
existing parent pipelines and spreads all their fields back into PUT
requests when attaching or detaching sub-pipelines. Since 9.2, this
inadvertently includes the new system-managed fields, breaking both
operations.

This PR strips those managed fields via destructuring before the PUT
call in both affected code paths:

- `addSubPipelineToIndexSpecificMlPipeline` in
`create_ml_inference_pipeline.ts` (attaching)
- `detachMlInferencePipeline` in `detach_ml_inference_pipeline.ts`
(detaching)

Similar fix was applied in Fleet: #241096

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [x] **Low risk** — The change only removes fields from the PUT request
payload that ES already rejects. No functional behavior changes for ES
versions prior to 9.2 (fields were not present in GET responses before
then). Unit tests cover both affected code paths.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
kibanamachine added a commit to kibanamachine/kibana that referenced this pull request Feb 16, 2026
…astic#252579)

## Summary

Fixes elastic#251491

Elasticsearch 9.2 introduced system-managed timestamp fields
(`created_date`, `created_date_millis`, `modified_date`,
`modified_date_millis`) in ingest pipeline GET responses
([elastic/elasticsearch#130847](elastic/elasticsearch#130847)).
These fields are read-only, including them in a PUT request causes ES to
reject it with:

```
parse_exception: Provided a pipeline property which is managed by the system: created_date_millis
```

The enterprise search plugin's ML inference pipeline management fetches
existing parent pipelines and spreads all their fields back into PUT
requests when attaching or detaching sub-pipelines. Since 9.2, this
inadvertently includes the new system-managed fields, breaking both
operations.

This PR strips those managed fields via destructuring before the PUT
call in both affected code paths:

- `addSubPipelineToIndexSpecificMlPipeline` in
`create_ml_inference_pipeline.ts` (attaching)
- `detachMlInferencePipeline` in `detach_ml_inference_pipeline.ts`
(detaching)

Similar fix was applied in Fleet: elastic#241096

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [x] **Low risk** — The change only removes fields from the PUT request
payload that ES already rejects. No functional behavior changes for ES
versions prior to 9.2 (fields were not present in GET responses before
then). Unit tests cover both affected code paths.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit 2da0bcb)
kibanamachine added a commit to kibanamachine/kibana that referenced this pull request Feb 16, 2026
…astic#252579)

## Summary

Fixes elastic#251491

Elasticsearch 9.2 introduced system-managed timestamp fields
(`created_date`, `created_date_millis`, `modified_date`,
`modified_date_millis`) in ingest pipeline GET responses
([elastic/elasticsearch#130847](elastic/elasticsearch#130847)).
These fields are read-only, including them in a PUT request causes ES to
reject it with:

```
parse_exception: Provided a pipeline property which is managed by the system: created_date_millis
```

The enterprise search plugin's ML inference pipeline management fetches
existing parent pipelines and spreads all their fields back into PUT
requests when attaching or detaching sub-pipelines. Since 9.2, this
inadvertently includes the new system-managed fields, breaking both
operations.

This PR strips those managed fields via destructuring before the PUT
call in both affected code paths:

- `addSubPipelineToIndexSpecificMlPipeline` in
`create_ml_inference_pipeline.ts` (attaching)
- `detachMlInferencePipeline` in `detach_ml_inference_pipeline.ts`
(detaching)

Similar fix was applied in Fleet: elastic#241096

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [x] **Low risk** — The change only removes fields from the PUT request
payload that ES already rejects. No functional behavior changes for ES
versions prior to 9.2 (fields were not present in GET responses before
then). Unit tests cover both affected code paths.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit 2da0bcb)
kibanamachine added a commit that referenced this pull request Feb 16, 2026
…UT (#252579) (#253257)

# Backport

This will backport the following commits from `main` to `9.3`:
- [Strip system-managed date fields from ingest pipelines before PUT
(#252579)](#252579)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Apostolos
Matsagkas","email":"Apmats@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-02-16T12:45:15Z","message":"Strip
system-managed date fields from ingest pipelines before PUT
(#252579)\n\n## Summary\n\nFixes #251491\n\nElasticsearch 9.2 introduced
system-managed timestamp fields\n(`created_date`, `created_date_millis`,
`modified_date`,\n`modified_date_millis`) in ingest pipeline GET
responses\n([elastic/elasticsearch#130847](https://github.com/elastic/elasticsearch/pull/130847)).\nThese
fields are read-only, including them in a PUT request causes ES
to\nreject it with:\n\n```\nparse_exception: Provided a pipeline
property which is managed by the system: created_date_millis\n```\n\nThe
enterprise search plugin's ML inference pipeline management
fetches\nexisting parent pipelines and spreads all their fields back
into PUT\nrequests when attaching or detaching sub-pipelines. Since 9.2,
this\ninadvertently includes the new system-managed fields, breaking
both\noperations.\n\nThis PR strips those managed fields via
destructuring before the PUT\ncall in both affected code paths:\n\n-
`addSubPipelineToIndexSpecificMlPipeline`
in\n`create_ml_inference_pipeline.ts` (attaching)\n-
`detachMlInferencePipeline` in
`detach_ml_inference_pipeline.ts`\n(detaching)\n\nSimilar fix was
applied in Fleet: #241096\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [x] **Low
risk** — The change only removes fields from the PUT request\npayload
that ES already rejects. No functional behavior changes for ES\nversions
prior to 9.2 (fields were not present in GET responses before\nthen).
Unit tests cover both affected code
paths.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"2da0bcbf25c88f337dace1a69e3aad194dd85774","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","backport:version","v9.4.0","backport:9.2","9.4
candidate","backport:9.3","v9.3.1","v9.2.6"],"title":"Strip
system-managed date fields from ingest pipelines before
PUT","number":252579,"url":"https://github.com/elastic/kibana/pull/252579","mergeCommit":{"message":"Strip
system-managed date fields from ingest pipelines before PUT
(#252579)\n\n## Summary\n\nFixes #251491\n\nElasticsearch 9.2 introduced
system-managed timestamp fields\n(`created_date`, `created_date_millis`,
`modified_date`,\n`modified_date_millis`) in ingest pipeline GET
responses\n([elastic/elasticsearch#130847](https://github.com/elastic/elasticsearch/pull/130847)).\nThese
fields are read-only, including them in a PUT request causes ES
to\nreject it with:\n\n```\nparse_exception: Provided a pipeline
property which is managed by the system: created_date_millis\n```\n\nThe
enterprise search plugin's ML inference pipeline management
fetches\nexisting parent pipelines and spreads all their fields back
into PUT\nrequests when attaching or detaching sub-pipelines. Since 9.2,
this\ninadvertently includes the new system-managed fields, breaking
both\noperations.\n\nThis PR strips those managed fields via
destructuring before the PUT\ncall in both affected code paths:\n\n-
`addSubPipelineToIndexSpecificMlPipeline`
in\n`create_ml_inference_pipeline.ts` (attaching)\n-
`detachMlInferencePipeline` in
`detach_ml_inference_pipeline.ts`\n(detaching)\n\nSimilar fix was
applied in Fleet: #241096\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [x] **Low
risk** — The change only removes fields from the PUT request\npayload
that ES already rejects. No functional behavior changes for ES\nversions
prior to 9.2 (fields were not present in GET responses before\nthen).
Unit tests cover both affected code
paths.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"2da0bcbf25c88f337dace1a69e3aad194dd85774"}},"sourceBranch":"main","suggestedTargetBranches":["9.3","9.2"],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/252579","number":252579,"mergeCommit":{"message":"Strip
system-managed date fields from ingest pipelines before PUT
(#252579)\n\n## Summary\n\nFixes #251491\n\nElasticsearch 9.2 introduced
system-managed timestamp fields\n(`created_date`, `created_date_millis`,
`modified_date`,\n`modified_date_millis`) in ingest pipeline GET
responses\n([elastic/elasticsearch#130847](https://github.com/elastic/elasticsearch/pull/130847)).\nThese
fields are read-only, including them in a PUT request causes ES
to\nreject it with:\n\n```\nparse_exception: Provided a pipeline
property which is managed by the system: created_date_millis\n```\n\nThe
enterprise search plugin's ML inference pipeline management
fetches\nexisting parent pipelines and spreads all their fields back
into PUT\nrequests when attaching or detaching sub-pipelines. Since 9.2,
this\ninadvertently includes the new system-managed fields, breaking
both\noperations.\n\nThis PR strips those managed fields via
destructuring before the PUT\ncall in both affected code paths:\n\n-
`addSubPipelineToIndexSpecificMlPipeline`
in\n`create_ml_inference_pipeline.ts` (attaching)\n-
`detachMlInferencePipeline` in
`detach_ml_inference_pipeline.ts`\n(detaching)\n\nSimilar fix was
applied in Fleet: #241096\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [x] **Low
risk** — The change only removes fields from the PUT request\npayload
that ES already rejects. No functional behavior changes for ES\nversions
prior to 9.2 (fields were not present in GET responses before\nthen).
Unit tests cover both affected code
paths.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"2da0bcbf25c88f337dace1a69e3aad194dd85774"}},{"branch":"9.3","label":"v9.3.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.2","label":"v9.2.6","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Apostolos Matsagkas <Apmats@users.noreply.github.com>
kibanamachine added a commit that referenced this pull request Feb 16, 2026
…UT (#252579) (#253256)

# Backport

This will backport the following commits from `main` to `9.2`:
- [Strip system-managed date fields from ingest pipelines before PUT
(#252579)](#252579)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Apostolos
Matsagkas","email":"Apmats@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-02-16T12:45:15Z","message":"Strip
system-managed date fields from ingest pipelines before PUT
(#252579)\n\n## Summary\n\nFixes #251491\n\nElasticsearch 9.2 introduced
system-managed timestamp fields\n(`created_date`, `created_date_millis`,
`modified_date`,\n`modified_date_millis`) in ingest pipeline GET
responses\n([elastic/elasticsearch#130847](https://github.com/elastic/elasticsearch/pull/130847)).\nThese
fields are read-only, including them in a PUT request causes ES
to\nreject it with:\n\n```\nparse_exception: Provided a pipeline
property which is managed by the system: created_date_millis\n```\n\nThe
enterprise search plugin's ML inference pipeline management
fetches\nexisting parent pipelines and spreads all their fields back
into PUT\nrequests when attaching or detaching sub-pipelines. Since 9.2,
this\ninadvertently includes the new system-managed fields, breaking
both\noperations.\n\nThis PR strips those managed fields via
destructuring before the PUT\ncall in both affected code paths:\n\n-
`addSubPipelineToIndexSpecificMlPipeline`
in\n`create_ml_inference_pipeline.ts` (attaching)\n-
`detachMlInferencePipeline` in
`detach_ml_inference_pipeline.ts`\n(detaching)\n\nSimilar fix was
applied in Fleet: #241096\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [x] **Low
risk** — The change only removes fields from the PUT request\npayload
that ES already rejects. No functional behavior changes for ES\nversions
prior to 9.2 (fields were not present in GET responses before\nthen).
Unit tests cover both affected code
paths.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"2da0bcbf25c88f337dace1a69e3aad194dd85774","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","backport:version","v9.4.0","backport:9.2","9.4
candidate","backport:9.3","v9.3.1","v9.2.6"],"title":"Strip
system-managed date fields from ingest pipelines before
PUT","number":252579,"url":"https://github.com/elastic/kibana/pull/252579","mergeCommit":{"message":"Strip
system-managed date fields from ingest pipelines before PUT
(#252579)\n\n## Summary\n\nFixes #251491\n\nElasticsearch 9.2 introduced
system-managed timestamp fields\n(`created_date`, `created_date_millis`,
`modified_date`,\n`modified_date_millis`) in ingest pipeline GET
responses\n([elastic/elasticsearch#130847](https://github.com/elastic/elasticsearch/pull/130847)).\nThese
fields are read-only, including them in a PUT request causes ES
to\nreject it with:\n\n```\nparse_exception: Provided a pipeline
property which is managed by the system: created_date_millis\n```\n\nThe
enterprise search plugin's ML inference pipeline management
fetches\nexisting parent pipelines and spreads all their fields back
into PUT\nrequests when attaching or detaching sub-pipelines. Since 9.2,
this\ninadvertently includes the new system-managed fields, breaking
both\noperations.\n\nThis PR strips those managed fields via
destructuring before the PUT\ncall in both affected code paths:\n\n-
`addSubPipelineToIndexSpecificMlPipeline`
in\n`create_ml_inference_pipeline.ts` (attaching)\n-
`detachMlInferencePipeline` in
`detach_ml_inference_pipeline.ts`\n(detaching)\n\nSimilar fix was
applied in Fleet: #241096\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [x] **Low
risk** — The change only removes fields from the PUT request\npayload
that ES already rejects. No functional behavior changes for ES\nversions
prior to 9.2 (fields were not present in GET responses before\nthen).
Unit tests cover both affected code
paths.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"2da0bcbf25c88f337dace1a69e3aad194dd85774"}},"sourceBranch":"main","suggestedTargetBranches":["9.3","9.2"],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/252579","number":252579,"mergeCommit":{"message":"Strip
system-managed date fields from ingest pipelines before PUT
(#252579)\n\n## Summary\n\nFixes #251491\n\nElasticsearch 9.2 introduced
system-managed timestamp fields\n(`created_date`, `created_date_millis`,
`modified_date`,\n`modified_date_millis`) in ingest pipeline GET
responses\n([elastic/elasticsearch#130847](https://github.com/elastic/elasticsearch/pull/130847)).\nThese
fields are read-only, including them in a PUT request causes ES
to\nreject it with:\n\n```\nparse_exception: Provided a pipeline
property which is managed by the system: created_date_millis\n```\n\nThe
enterprise search plugin's ML inference pipeline management
fetches\nexisting parent pipelines and spreads all their fields back
into PUT\nrequests when attaching or detaching sub-pipelines. Since 9.2,
this\ninadvertently includes the new system-managed fields, breaking
both\noperations.\n\nThis PR strips those managed fields via
destructuring before the PUT\ncall in both affected code paths:\n\n-
`addSubPipelineToIndexSpecificMlPipeline`
in\n`create_ml_inference_pipeline.ts` (attaching)\n-
`detachMlInferencePipeline` in
`detach_ml_inference_pipeline.ts`\n(detaching)\n\nSimilar fix was
applied in Fleet: #241096\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [x] **Low
risk** — The change only removes fields from the PUT request\npayload
that ES already rejects. No functional behavior changes for ES\nversions
prior to 9.2 (fields were not present in GET responses before\nthen).
Unit tests cover both affected code
paths.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"2da0bcbf25c88f337dace1a69e3aad194dd85774"}},{"branch":"9.3","label":"v9.3.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.2","label":"v9.2.6","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Apostolos Matsagkas <Apmats@users.noreply.github.com>
paulinashakirova pushed a commit to paulinashakirova/kibana that referenced this pull request Feb 17, 2026
…astic#252579)

## Summary

Fixes elastic#251491

Elasticsearch 9.2 introduced system-managed timestamp fields
(`created_date`, `created_date_millis`, `modified_date`,
`modified_date_millis`) in ingest pipeline GET responses
([elastic/elasticsearch#130847](elastic/elasticsearch#130847)).
These fields are read-only, including them in a PUT request causes ES to
reject it with:

```
parse_exception: Provided a pipeline property which is managed by the system: created_date_millis
```

The enterprise search plugin's ML inference pipeline management fetches
existing parent pipelines and spreads all their fields back into PUT
requests when attaching or detaching sub-pipelines. Since 9.2, this
inadvertently includes the new system-managed fields, breaking both
operations.

This PR strips those managed fields via destructuring before the PUT
call in both affected code paths:

- `addSubPipelineToIndexSpecificMlPipeline` in
`create_ml_inference_pipeline.ts` (attaching)
- `detachMlInferencePipeline` in `detach_ml_inference_pipeline.ts`
(detaching)

Similar fix was applied in Fleet: elastic#241096

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [x] **Low risk** — The change only removes fields from the PUT request
payload that ES already rejects. No functional behavior changes for ES
versions prior to 9.2 (fields were not present in GET responses before
then). Unit tests cover both affected code paths.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
patrykkopycinski pushed a commit to patrykkopycinski/kibana that referenced this pull request Feb 19, 2026
…astic#252579)

## Summary

Fixes elastic#251491

Elasticsearch 9.2 introduced system-managed timestamp fields
(`created_date`, `created_date_millis`, `modified_date`,
`modified_date_millis`) in ingest pipeline GET responses
([elastic/elasticsearch#130847](elastic/elasticsearch#130847)).
These fields are read-only, including them in a PUT request causes ES to
reject it with:

```
parse_exception: Provided a pipeline property which is managed by the system: created_date_millis
```

The enterprise search plugin's ML inference pipeline management fetches
existing parent pipelines and spreads all their fields back into PUT
requests when attaching or detaching sub-pipelines. Since 9.2, this
inadvertently includes the new system-managed fields, breaking both
operations.

This PR strips those managed fields via destructuring before the PUT
call in both affected code paths:

- `addSubPipelineToIndexSpecificMlPipeline` in
`create_ml_inference_pipeline.ts` (attaching)
- `detachMlInferencePipeline` in `detach_ml_inference_pipeline.ts`
(detaching)

Similar fix was applied in Fleet: elastic#241096

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [x] **Low risk** — The change only removes fields from the PUT request
payload that ES already rejects. No functional behavior changes for ES
versions prior to 9.2 (fields were not present in GET responses before
then). Unit tests cover both affected code paths.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
ersin-erdal pushed a commit to ersin-erdal/kibana that referenced this pull request Feb 19, 2026
…astic#252579)

## Summary

Fixes elastic#251491

Elasticsearch 9.2 introduced system-managed timestamp fields
(`created_date`, `created_date_millis`, `modified_date`,
`modified_date_millis`) in ingest pipeline GET responses
([elastic/elasticsearch#130847](elastic/elasticsearch#130847)).
These fields are read-only, including them in a PUT request causes ES to
reject it with:

```
parse_exception: Provided a pipeline property which is managed by the system: created_date_millis
```

The enterprise search plugin's ML inference pipeline management fetches
existing parent pipelines and spreads all their fields back into PUT
requests when attaching or detaching sub-pipelines. Since 9.2, this
inadvertently includes the new system-managed fields, breaking both
operations.

This PR strips those managed fields via destructuring before the PUT
call in both affected code paths:

- `addSubPipelineToIndexSpecificMlPipeline` in
`create_ml_inference_pipeline.ts` (attaching)
- `detachMlInferencePipeline` in `detach_ml_inference_pipeline.ts`
(detaching)

Similar fix was applied in Fleet: elastic#241096

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [x] **Low risk** — The change only removes fields from the PUT request
payload that ES already rejects. No functional behavior changes for ES
versions prior to 9.2 (fields were not present in GET responses before
then). Unit tests cover both affected code paths.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels release_note:fix Team:Fleet Team label for Observability Data Collection Fleet team v9.2.1 v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Fleet]: Custom pipelines get failed under Integration syncing status flyout with error: "Provided a pipeline property which is managed by the system"

4 participants