Pipelines: Add created_date and modified_date#130847
Conversation
5efc252 to
1b30775
Compare
91e42f2 to
3f46277
Compare
rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/simulate.ingest/10_basic.yml
Outdated
Show resolved
Hide resolved
server/src/internalClusterTest/java/org/elasticsearch/ingest/PipelineConfigurationSyncIT.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/action/ingest/ReservedPipelineAction.java
Outdated
Show resolved
Hide resolved
rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/ingest/10_basic.yml
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/PipelineConfiguration.java
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
|
Pinging @elastic/es-data-management (Team:Data Management) |
|
Hi @szybia, I've updated the changelog YAML for you. |
PeteGillinElastic
left a comment
There was a problem hiding this comment.
Sorry, I don't think I'm going to finish this review before EOD, so I figured I'd publish the comments I've got so far.
rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/ingest/10_basic.yml
Outdated
Show resolved
Hide resolved
rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/ingest/10_basic.yml
Outdated
Show resolved
Hide resolved
rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/ingest/10_basic.yml
Outdated
Show resolved
Hide resolved
rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/simulate.ingest/10_basic.yml
Outdated
Show resolved
Hide resolved
server/src/internalClusterTest/java/org/elasticsearch/ingest/PipelineConfigurationSyncIT.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/action/ingest/SimulateExecutionService.java
Outdated
Show resolved
Hide resolved
I'll get back to this on Monday. |
…king * upstream/main: (33 commits) Allow both WithEntitlementsOnTestCode and EntitledTestPackages together (elastic#130826) Move streams status actions to cluster:monitor group (elastic#131015) Update JDK base image for OIDC fixture (elastic#131176) Mute org.elasticsearch.xpack.esql.ccq.MultiClustersIT testLookupJoinAliases elastic#131166 Mute org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceDiskSpaceTests testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges elastic#131165 Mute org.elasticsearch.xpack.esql.ccq.MultiClustersIT testNotLikeListKeyword elastic#131155 Mute org.elasticsearch.xpack.esql.qa.multi_node.GenerativeIT test elastic#131154 Check file entitlements on the Lucene FilterFileSystem in tests (elastic#130825) Mute org.elasticsearch.xpack.esql.qa.multi_node.EsqlSpecIT test {lookup-join.MvJoinKeyOnFromAfterStats ASYNC} elastic#131148 Move FrequencyCappedAction to common package (elastic#131060) Mute org.elasticsearch.xpack.esql.action.CrossClusterAsyncQueryStopIT testStopQueryLocal elastic#121672 Remove nesting from multi allocation decision (elastic#130844) Disable async search rest tests in release builds (elastic#131132) Fix testStopQueryLocal (elastic#131130) Fixes based on resharding disruption tests (elastic#130870) Remove inactive logger (elastic#131121) Add wait for remote start for the test (elastic#131124) Add existing shards allocator settings to failure store allowed list. (elastic#131056) Don't allow field caps to use semantic queries as index filters (elastic#131111) issue should be already fixed by elastic#121466 (elastic#130860) ...
|
Hi @szybia, I've updated the changelog YAML for you. |
PeteGillinElastic
left a comment
There was a problem hiding this comment.
Thanks, this is definitely in pretty decent shape, I just have a few suggested tweaks.
server/src/main/java/org/elasticsearch/action/ingest/SimulateExecutionService.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/PipelineConfiguration.java
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/PipelineConfiguration.java
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/TrackingResultProcessor.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/rest/action/ingest/RestPutPipelineAction.java
Show resolved
Hide resolved
server/src/test/java/org/elasticsearch/ingest/IngestServiceTests.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
…king * upstream/main: (91 commits) Mute org.elasticsearch.packaging.test.DockerTests test130JavaHasCorrectOwnership elastic#131369 Add exception logging when interrupted (elastic#131153) Mute org.elasticsearch.packaging.test.DockerTests test140CgroupOsStatsAreAvailable elastic#131372 Mute org.elasticsearch.packaging.test.DockerTests test070BindMountCustomPathConfAndJvmOptions elastic#131366 Mute org.elasticsearch.xpack.test.rest.XPackRestIT test {p0=ml/delete_expired_data/Test delete expired data with body parameters} elastic#131364 Mute org.elasticsearch.xpack.esql.vector.VectorSimilarityFunctionsIT testSimilarityBetweenConstantVectorAndField {functionName=v_cosine similarityFunction=COSINE} elastic#131363 Mute org.elasticsearch.xpack.esql.vector.VectorSimilarityFunctionsIT testDifferentDimensions {functionName=v_cosine similarityFunction=COSINE} elastic#131362 Mute org.elasticsearch.xpack.esql.vector.VectorSimilarityFunctionsIT testSimilarityBetweenConstantVectors {functionName=v_cosine similarityFunction=COSINE} elastic#131361 Check SCORE_FUNCTION capability in VerifierTests (elastic#131352) Replace deprecated routingTable table call in tests (elastic#131005) [DOCS] Remove misused applies_to tag (elastic#131349) Adj ivf postings list building (elastic#130843) [Transform] Read metadata from Project State (elastic#131205) Add note on o11y to architecture guide (elastic#131291) Upgrade AWS Java SDK to 2.31.78 (elastic#131050) Support Fields API in conditional ingest processors (elastic#121914) ESQL - KNN function uses prefilters when pushed down to Lucene (elastic#131004) Add docs for ES|QL query logs (elastic#131287) Simplify `expectedFinalRegisterValue` computation (elastic#131274) Mute org.elasticsearch.test.rest.yaml.RcsCcsCommonYamlTestSuiteIT test {p0=search/110_field_collapsing/field collapsing, inner_hits and maxConcurrentGroupRequests} elastic#131348 ...
…king * upstream/main: Mark watcher NotMultiProjectCapable and replace deprecated multi-project methods (elastic#131313) Enable force inference endpoint deleting for invalid models and after stopping model deployment fails (elastic#129090) [ML] Remove SageMaker Elastic updates (elastic#131301) Refactor AsyncSearchErrorTraceIT to use assertBusy (elastic#131328)
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
PeteGillinElastic
left a comment
There was a problem hiding this comment.
Thanks @szybia . This LGTM to me, with just a few final nits. I'm happy for you to tidy those up before you merge. Or you can get another review if you'd like more feedback as a learning process.
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/ingest/IngestService.java
Outdated
Show resolved
Hide resolved
…king * upstream/main: Fix score computation in ES91Int4VectorsScorer (elastic#131905)
dakrone
left a comment
There was a problem hiding this comment.
LGTM, I left one really minor comment about javadoc
| } | ||
| } | ||
|
|
||
| private Map<String, Object> configForTransport(final TransportVersion transportVersion) { |
There was a problem hiding this comment.
Can you add a javadoc to this method to explain what it does?
There was a problem hiding this comment.
sure thing! let me just address in next PR so i don't have to wait for this build again...
…-tracking * upstream/main: (106 commits) Pipelines: Add `created_date` and `modified_date` (elastic#130847) add thread pool change availability (elastic#131734) Add failure store availability info / and port over privileges (elastic#131729) add availability information for ssl handshake timeout settings (elastic#131786) add availability information for rescore_vector (elastic#131710) add availability to oversample value of 0 (elastic#131707) clarify hnsw filter heuristic setting availability (elastic#131715) add availability info for default heap dump path change (elastic#131713) clarify default algorithms per stack version (elastic#131728) Refine error messages in `Fork` for correctness and clarity. (elastic#131701) [ES|QL] Replace RoundTo linear search evaluator with manual evaluators (elastic#131733) ESQL: Fix buildParams in tests with --configuration-cache (elastic#131826) Unmute `CrossClusterEsqlRCS2EnrichUnavailableRemotesIT#testEsqlEnrichWithSkipUnavailable` (elastic#131916) Allow templates for `.chat-*` index template (elastic#131914) ESQL: Fix NPE on empty to_lower/to_upper call (elastic#131917) Fix score computation in ES91Int4VectorsScorer (elastic#131905) Register a blob cache long counter metric for total evicted regions (elastic#131862) Move plan attribute resolution to its own component (elastic#131830) Make restore support multi-project (elastic#131661) Use logically more correct expression (elastic#131869) ...
Fixes #229733 With elastic/elasticsearch#130847 , we track the creation and modification date of ingest pipelines. As part of adjusting processing through the streams API, the ingest pipeline object is loaded, modified and written back. This fails since it tries to set the modified/creation timestamps which isn't allowed. This PR is stripping out the offending keys
…230053) Fixes elastic#229733 With elastic/elasticsearch#130847 , we track the creation and modification date of ingest pipelines. As part of adjusting processing through the streams API, the ingest pipeline object is loaded, modified and written back. This fails since it tries to set the modified/creation timestamps which isn't allowed. This PR is stripping out the offending keys
…230053) Fixes elastic#229733 With elastic/elasticsearch#130847 , we track the creation and modification date of ingest pipelines. As part of adjusting processing through the streams API, the ingest pipeline object is loaded, modified and written back. This fails since it tries to set the modified/creation timestamps which isn't allowed. This PR is stripping out the offending keys (cherry picked from commit 4561993) # Conflicts: # x-pack/platform/plugins/private/translations/translations/de-DE.json
…230053) (#234916) Fixes #232445 # Backport This will backport the following commits from `main` to `8.19`: - [🌊 Streams: Fix classic streams ingest pipeline manipulation (#230053)](#230053) <!--- Backport version: 10.0.2 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Joe Reuter","email":"johannes.reuter@elastic.co"},"sourceCommit":{"committedDate":"2025-07-31T12:58:52Z","message":"🌊 Streams: Fix classic streams ingest pipeline manipulation (#230053)\n\nFixes https://github.com/elastic/kibana/issues/229733\n\nWith elastic/elasticsearch#130847 , we track the\ncreation and modification date of ingest pipelines.\nAs part of adjusting processing through the streams API, the ingest\npipeline object is loaded, modified and written back. This fails since\nit tries to set the modified/creation timestamps which isn't allowed.\n\nThis PR is stripping out the offending keys","sha":"4561993a2d8d50773ee1a2f1bf4ef7dca7908944","branchLabelMapping":{"^v9.2.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:obs-ux-logs","Feature:Streams","v9.2.0"],"title":"🌊 Streams: Fix classic streams ingest pipeline manipulation","number":230053,"url":"https://github.com/elastic/kibana/pull/230053","mergeCommit":{"message":"🌊 Streams: Fix classic streams ingest pipeline manipulation (#230053)\n\nFixes https://github.com/elastic/kibana/issues/229733\n\nWith elastic/elasticsearch#130847 , we track the\ncreation and modification date of ingest pipelines.\nAs part of adjusting processing through the streams API, the ingest\npipeline object is loaded, modified and written back. This fails since\nit tries to set the modified/creation timestamps which isn't allowed.\n\nThis PR is stripping out the offending keys","sha":"4561993a2d8d50773ee1a2f1bf4ef7dca7908944"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.2.0","branchLabelMappingKey":"^v9.2.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/230053","number":230053,"mergeCommit":{"message":"🌊 Streams: Fix classic streams ingest pipeline manipulation (#230053)\n\nFixes https://github.com/elastic/kibana/issues/229733\n\nWith elastic/elasticsearch#130847 , we track the\ncreation and modification date of ingest pipelines.\nAs part of adjusting processing through the streams API, the ingest\npipeline object is loaded, modified and written back. This fails since\nit tries to set the modified/creation timestamps which isn't allowed.\n\nThis PR is stripping out the offending keys","sha":"4561993a2d8d50773ee1a2f1bf4ef7dca7908944"}}]}] BACKPORT-->
## 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: - 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.
…#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)
…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>
…#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.
…#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.
…#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.
…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>
…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)
…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)
…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>
…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>
…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>
…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>
…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>
Add new system-managed properties to pipelines:
created_date: when the pipeline with a given ID was createdmodified_date: when the pipeline was updatedRelates to: #108754