Skip to content

[CPS] Introduce x-kbn-project-routing HTTP header#256844

Closed
gsoldevila wants to merge 2 commits intoelastic:mainfrom
gsoldevila:cps/data-plugin-header-routing
Closed

[CPS] Introduce x-kbn-project-routing HTTP header#256844
gsoldevila wants to merge 2 commits intoelastic:mainfrom
gsoldevila:cps/data-plugin-header-routing

Conversation

@gsoldevila
Copy link
Copy Markdown
Member

@gsoldevila gsoldevila commented Mar 10, 2026

Summary

Introduces a new header-based mechanism to simplify the propagation of project_routing information from client side to server side.

The new header is called x-kbn-project-routing.

The opts parameter in clusterClient.asScoped(request, opts) accepts a new { projectRouting: 'request-header' }.

When this option is provided, the Core request handler will extract the project_routing from the HTTP header in the KibanaRequest (or FakeRequest). If the header is not present, it will default to _alias:_origin.

The PR also leverages the new mechanism to simplify the project_routing in the data plugin.

The origin-only and all options have been removed from the asScoped() contract. Users can pass that information in the header and use request-header instead.

Closes elastic/kibana-team#3032

@gsoldevila gsoldevila added Team:Core Platform Core services: plugins, logging, config, saved objects, http, ES client, i18n, etc t// release_note:skip Skip the PR/issue when compiling release notes backport:skip This PR does not require backporting labels Mar 10, 2026
@gsoldevila gsoldevila force-pushed the cps/data-plugin-header-routing branch 2 times, most recently from 23c28c7 to 3f6f1dd Compare March 10, 2026 12:13
@gsoldevila gsoldevila changed the title [CPS] Simplify project_routing propagation in the data plugin via kbn-project-routing header [CPS] Simplify project_routing propagation in the data plugin via x-kbn-project-routing header Mar 10, 2026
@gsoldevila gsoldevila force-pushed the cps/data-plugin-header-routing branch 6 times, most recently from 2569935 to 2799f8e Compare March 13, 2026 09:29
@gsoldevila gsoldevila changed the title [CPS] Simplify project_routing propagation in the data plugin via x-kbn-project-routing header [CPS] Introduce x-kbn-project-routing HTTP header Mar 13, 2026
@gsoldevila gsoldevila marked this pull request as ready for review March 13, 2026 09:41
@gsoldevila gsoldevila requested review from a team as code owners March 13, 2026 09:41
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/kibana-core (Team:Core)

@gsoldevila gsoldevila force-pushed the cps/data-plugin-header-routing branch from 2799f8e to 9280fdb Compare March 13, 2026 10:41
@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Mar 13, 2026

💔 Build Failed

Failed CI Steps

Test Failures

  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should migrate to '6.0.0'
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should migrate to '6.0.0'
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.bulkGet
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.bulkGet
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.bulkResolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.bulkResolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.find
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.find
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.get
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.get
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.resolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '1.0.0' should return the latest version via repository.resolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should migrate to '6.0.0'
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should migrate to '6.0.0'
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.bulkGet
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.bulkGet
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.bulkResolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.bulkResolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.find
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.find
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.get
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.get
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.resolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '2.0.0' should return the latest version via repository.resolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should migrate to '6.0.0'
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should migrate to '6.0.0'
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.bulkGet
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.bulkGet
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.bulkResolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.bulkResolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.find
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.find
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.get
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.get
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.resolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '3.0.0' should return the latest version via repository.resolve
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '4.0.0' should migrate to '4.0.0'
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '4.0.0' should migrate to '4.0.0'
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '4.0.0' should return the latest version via repository.get
  • [job] [logs] Jest Integration Tests #3 / deferred migrations when source document version is '4.0.0' should return the latest version via repository.get
  • [job] [logs] Jest Integration Tests #8 / ES Client - custom user-agent should send a custom user-agent header matching the expected format
  • [job] [logs] Jest Integration Tests #8 / ES Client - custom user-agent should send a custom user-agent header matching the expected format
  • [job] [logs] Jest Integration Tests #2 / getOutdatedDocumentsQuery creates a query returning the expected documents
  • [job] [logs] Jest Integration Tests #2 / getOutdatedDocumentsQuery creates a query returning the expected documents
  • [job] [logs] Jest Integration Tests #9 / incompatible_cluster_routing_allocation retries the INIT action with a descriptive message when cluster settings are incompatible
  • [job] [logs] Jest Integration Tests #9 / incompatible_cluster_routing_allocation retries the INIT action with a descriptive message when cluster settings are incompatible
  • [job] [logs] Jest Integration Tests #3 / multiple Kibana nodes performing a reindexing migration migrate saved objects normally when started at the same time
  • [job] [logs] Jest Integration Tests #3 / multiple Kibana nodes performing a reindexing migration migrate saved objects normally when started at the same time
  • [job] [logs] Jest Integration Tests #3 / multiple Kibana nodes performing a reindexing migration migrate saved objects normally when started with a bigger interval
  • [job] [logs] Jest Integration Tests #3 / multiple Kibana nodes performing a reindexing migration migrate saved objects normally when started with a bigger interval
  • [job] [logs] Jest Integration Tests #3 / multiple Kibana nodes performing a reindexing migration migrate saved objects normally when started with a small interval
  • [job] [logs] Jest Integration Tests #3 / multiple Kibana nodes performing a reindexing migration migrate saved objects normally when started with a small interval
  • [job] [logs] Jest Integration Tests #3 / multiple Kibana nodes performing a reindexing migration migrate saved objects normally when started with an average interval
  • [job] [logs] Jest Integration Tests #3 / multiple Kibana nodes performing a reindexing migration migrate saved objects normally when started with an average interval
  • [job] [logs] Jest Integration Tests #4 / multiple migrator instances running in parallel when upgrading to a new stack version with matching mappings will actively delete and sccessfully complete migration
  • [job] [logs] Jest Integration Tests #4 / multiple migrator instances running in parallel when upgrading to a new stack version with matching mappings will actively delete and sccessfully complete migration
  • [job] [logs] Jest Integration Tests #4 / pickupUpdatedMappings when performing a compatible migration should NOT pickup any documents if only root fields have been updated
  • [job] [logs] Jest Integration Tests #4 / pickupUpdatedMappings when performing a compatible migration should NOT pickup any documents if only root fields have been updated
  • [job] [logs] Jest Integration Tests #4 / pickupUpdatedMappings when performing a compatible migration should pickup only the types that have been updated
  • [job] [logs] Jest Integration Tests #4 / pickupUpdatedMappings when performing a compatible migration should pickup only the types that have been updated
  • [job] [logs] Jest Integration Tests #4 / pickupUpdatedMappings when performing a reindexing migration should pickup all documents from the index
  • [job] [logs] Jest Integration Tests #4 / pickupUpdatedMappings when performing a reindexing migration should pickup all documents from the index
  • [job] [logs] Jest Integration Tests #10 / serverless - ZDT upgrades - basic document migration migrates the documents
  • [job] [logs] Jest Integration Tests #10 / serverless - ZDT upgrades - basic document migration migrates the documents
  • [job] [logs] Jest Integration Tests #2 / SOR - bulk_update API supports update with attributes override
  • [job] [logs] Jest Integration Tests #2 / SOR - bulk_update API supports update with attributes override
  • [job] [logs] Jest Integration Tests #2 / SOR - bulk_update API supports updates between older and newer versions
  • [job] [logs] Jest Integration Tests #2 / SOR - bulk_update API supports updates between older and newer versions
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm - using model versions - stack version bump scenario migrates the documents
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm - using model versions - stack version bump scenario migrates the documents
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm - using model versions - upgrade without stack version increase migrates the documents
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm - using model versions - upgrade without stack version increase migrates the documents
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes adds the mappingVersions with the current modelVersions
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes adds the mappingVersions with the current modelVersions
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes only "picks up" the types that have changed
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes only "picks up" the types that have changed
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes performs a compatible (non-reindexing) migration
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes performs a compatible (non-reindexing) migration
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes preserves the SO indices meta.migrationMappingPropertyHashes (although they are no longer up to date / in use)
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes preserves the SO indices meta.migrationMappingPropertyHashes (although they are no longer up to date / in use)
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes stores a breakdown of indices => types in the meta
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when SO indices still contain md5 hashes stores a breakdown of indices => types in the meta
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment creates the SO indices, storing modelVersions in meta.mappingVersions
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment creates the SO indices, storing modelVersions in meta.mappingVersions
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment when upgrading to a more recent version only "picks up" the types that have changed
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment when upgrading to a more recent version only "picks up" the types that have changed
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment when upgrading to a more recent version performs a compatible (non-reindexing) migration
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment when upgrading to a more recent version performs a compatible (non-reindexing) migration
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment when upgrading to a more recent version stores a breakdown of indices => types in the meta
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment when upgrading to a more recent version stores a breakdown of indices => types in the meta
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment when upgrading to a more recent version updates the SO indices meta.mappingVersions with the appropriate model versions
  • [job] [logs] Jest Integration Tests #10 / V2 algorithm when started on a fresh ES deployment when upgrading to a more recent version updates the SO indices meta.mappingVersions with the appropriate model versions
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a compatible upgrade migration updates mappings meta properties with the correct modelVersions (>=10.0.0)
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a compatible upgrade migration updates mappings meta properties with the correct modelVersions (>=10.0.0)
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a compatible upgrade migration updates target mappings when mappings have changed
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a compatible upgrade migration updates target mappings when mappings have changed
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a compatible upgrade migration updates the version aliases during the PREPARE_COMPATIBLE_MIGRATION step
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a compatible upgrade migration updates the version aliases during the PREPARE_COMPATIBLE_MIGRATION step
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices copies all of the documents
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices copies all of the documents
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices copies documents to the right indices depending on their types
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices copies documents to the right indices depending on their types
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices discards REMOVED_TYPES
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices discards REMOVED_TYPES
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices discards unknown types
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices discards unknown types
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices executes the excludeOnUpgrade hook
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration copies the right documents over to the target indices executes the excludeOnUpgrade hook
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration returns a migrated status for each SO index
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration returns a migrated status for each SO index
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration updates mappings meta properties with the correct modelVersions (>=10.0.0)
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration updates mappings meta properties with the correct modelVersions (>=10.0.0)
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration when an index contains SO types with incompatible mappings executes the reindexing migration steps
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types a migrator performing a reindexing migration when an index contains SO types with incompatible mappings executes the reindexing migration steps
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types migrates documents to the highest version
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version configured to discard transform errors and unknown types migrates documents to the highest version
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version with transform errors closes reindex PIT upon failure
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version with transform errors closes reindex PIT upon failure
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version with transform errors collects corrupt saved object documents across batches
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version with transform errors collects corrupt saved object documents across batches
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version with transform errors fails if Kibana is not configured to discard transform errors
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version with transform errors fails if Kibana is not configured to discard transform errors
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version with unknown types fails if Kibana is not configured to discard unknown objects
  • [job] [logs] Jest Integration Tests #7 / v2 migration to a newer stack version with unknown types fails if Kibana is not configured to discard unknown objects
  • [job] [logs] Jest Integration Tests #7 / v2 migration to the current stack version each migrator takes less than 10 seconds
  • [job] [logs] Jest Integration Tests #7 / v2 migration to the current stack version each migrator takes less than 10 seconds
  • [job] [logs] Jest Integration Tests #7 / v2 migration to the current stack version returns a 'patched' status for each SO index
  • [job] [logs] Jest Integration Tests #7 / v2 migration to the current stack version returns a 'patched' status for each SO index
  • [job] [logs] Jest Integration Tests #7 / v2 migration to the current stack version skips UPDATE_TARGET_MAPPINGS_PROPERTIES if there are no changes in the mappings
  • [job] [logs] Jest Integration Tests #7 / v2 migration to the current stack version skips UPDATE_TARGET_MAPPINGS_PROPERTIES if there are no changes in the mappings
  • [job] [logs] Jest Integration Tests #7 / v2 migration to the current stack version updates the index mappings to account for new SO types
  • [job] [logs] Jest Integration Tests #7 / v2 migration to the current stack version updates the index mappings to account for new SO types
  • [job] [logs] Jest Integration Tests #4 / when migrating to a new version and the mappings remain the same the migrator skips reindexing
  • [job] [logs] Jest Integration Tests #4 / when migrating to a new version and the mappings remain the same the migrator skips reindexing
  • [job] [logs] Jest Integration Tests #4 / when migrating to a new version and the mappings' changes are still compatible the migrator skips reindexing
  • [job] [logs] Jest Integration Tests #4 / when migrating to a new version and the mappings' changes are still compatible the migrator skips reindexing
  • [job] [logs] Jest Integration Tests #10 / when rolling back to an older version kibana should detect that a later version alias exists, and abort
  • [job] [logs] Jest Integration Tests #10 / when rolling back to an older version kibana should detect that a later version alias exists, and abort
  • [job] [logs] Jest Integration Tests #4 / when splitting .kibana into multiple indices and one clone fails after resolving the problem and retrying the migration completes successfully
  • [job] [logs] Jest Integration Tests #4 / when splitting .kibana into multiple indices and one clone fails after resolving the problem and retrying the migration completes successfully
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = false proceeds if there are no unknown documents
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = false proceeds if there are no unknown documents
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents that belong to REMOVED_TYPES
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents that belong to REMOVED_TYPES
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents that have been excludeOnUpgrade'd via plugin hook
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents that have been excludeOnUpgrade'd via plugin hook
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents with unknown types
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents with unknown types
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED preserves documents with known types
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED preserves documents with known types
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true the migrator is skipping reindex operation and executing CLEANUP_UNKNOWN_AND_EXCLUDED step
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings are compatible and discardUnknownObjects = true the migrator is skipping reindex operation and executing CLEANUP_UNKNOWN_AND_EXCLUDED step
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings do NOT match (diffMappings() === true) and they are NOT compatible the migrator does not skip reindexing
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings do NOT match (diffMappings() === true) and they are NOT compatible the migrator does not skip reindexing
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = false proceeds if there are no unknown documents
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = false proceeds if there are no unknown documents
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents that belong to REMOVED_TYPES
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents that belong to REMOVED_TYPES
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents that have been excludeOnUpgrade'd via plugin hook
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents that have been excludeOnUpgrade'd via plugin hook
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents with unknown types
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED deletes documents with unknown types
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED preserves documents with known types
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true CLEANUP_UNKNOWN_AND_EXCLUDED preserves documents with known types
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true the migrator is skipping reindex operation and executing CLEANUP_UNKNOWN_AND_EXCLUDED step
  • [job] [logs] Jest Integration Tests #4 / when upgrading to a new stack version if the mappings match (diffMappings() === false) and discardUnknownObjects = true the migrator is skipping reindex operation and executing CLEANUP_UNKNOWN_AND_EXCLUDED step
  • [job] [logs] Jest Integration Tests #9 / ZDT & V2 upgrades - optimistic concurrency tests doesnt overwrite changes made while migrating (v2)
  • [job] [logs] Jest Integration Tests #9 / ZDT & V2 upgrades - optimistic concurrency tests doesnt overwrite changes made while migrating (v2)
  • [job] [logs] Jest Integration Tests #9 / ZDT & V2 upgrades - optimistic concurrency tests doesnt overwrite changes made while migrating (zdt)
  • [job] [logs] Jest Integration Tests #9 / ZDT & V2 upgrades - optimistic concurrency tests doesnt overwrite changes made while migrating (zdt)
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - basic document migration migrates the documents
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - basic document migration migrates the documents
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - basic downgrade migrates the documents
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - basic downgrade migrates the documents
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - basic mapping update updates the mappings and the meta
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - basic mapping update updates the mappings and the meta
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - document cleanup deletes the documents
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - document cleanup deletes the documents
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - encountering conversion failures when discardCorruptObjects is false fails the migration with an explicit message and keep the documents
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - encountering conversion failures when discardCorruptObjects is false fails the migration with an explicit message and keep the documents
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - encountering conversion failures when discardCorruptObjects is true completes the migration and discard the documents
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - encountering conversion failures when discardCorruptObjects is true completes the migration and discard the documents
  • [job] [logs] Jest Integration Tests #2 / ZDT upgrades - introducing a new SO type should support adding the bar type
  • [job] [logs] Jest Integration Tests #2 / ZDT upgrades - introducing a new SO type should support adding the bar type
  • [job] [logs] Jest Integration Tests #12 / ZDT upgrades - introducing new root fields should support adding the new root fields
  • [job] [logs] Jest Integration Tests #12 / ZDT upgrades - introducing new root fields should support adding the new root fields
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - mapping model version conflict fails the migration with an error
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - mapping model version conflict fails the migration with an error
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - rerun migration on same version should perform a no-op upgrade
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - rerun migration on same version should perform a no-op upgrade
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - running on a fresh cluster create the index with the correct mappings and meta
  • [job] [logs] Jest Integration Tests #10 / ZDT upgrades - running on a fresh cluster create the index with the correct mappings and meta
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - standard workflow follows the expected stages and transitions
  • [job] [logs] Jest Integration Tests #5 / ZDT upgrades - standard workflow follows the expected stages and transitions
  • [job] [logs] Jest Integration Tests #9 / ZDT with v2 compat - basic document migration migrates the documents
  • [job] [logs] Jest Integration Tests #9 / ZDT with v2 compat - basic document migration migrates the documents
  • [job] [logs] Jest Integration Tests #9 / ZDT with v2 compat - basic mapping update updates the mappings and the meta
  • [job] [logs] Jest Integration Tests #9 / ZDT with v2 compat - basic mapping update updates the mappings and the meta
  • [job] [logs] Jest Integration Tests #12 / ZDT with v2 compat - recovering from partially migrated state migrates the documents
  • [job] [logs] Jest Integration Tests #12 / ZDT with v2 compat - recovering from partially migrated state migrates the documents
  • [job] [logs] Jest Integration Tests #9 / ZDT with v2 compat - running on a fresh cluster create the index with the correct mappings and meta
  • [job] [logs] Jest Integration Tests #9 / ZDT with v2 compat - running on a fresh cluster create the index with the correct mappings and meta
  • [job] [logs] Jest Integration Tests #9 / ZDT with v2 compat - type switching from migration to model version migrates the documents
  • [job] [logs] Jest Integration Tests #9 / ZDT with v2 compat - type switching from migration to model version migrates the documents

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
data 619 634 +15

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
@kbn/core-elasticsearch-server 57 62 +5

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
cps 13.0KB 13.0KB +35.0B

Public APIs missing exports

Total count of every type that is part of your API that should be exported but is not. This will cause broken links in the API documentation system. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats exports for more detailed information.

id before after diff
@kbn/core 991 990 -1

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
cps 8.2KB 8.2KB +34.0B
data 441.2KB 441.2KB +14.0B
total +48.0B
Unknown metric groups

API count

id before after diff
@kbn/core-elasticsearch-server 135 136 +1
@kbn/cps-common 4 5 +1
@kbn/cps-server-utils 4 5 +1
@kbn/cps-utils 64 65 +1
total +4

History

@gsoldevila
Copy link
Copy Markdown
Member Author

The PoC does not cover the end-to-end wiring (folks still have to manually inject the header), and it is only useful in a handful of situations, so perhaps not worth the trouble.

@gsoldevila gsoldevila closed this Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting release_note:skip Skip the PR/issue when compiling release notes Team:Core Platform Core services: plugins, logging, config, saved objects, http, ES client, i18n, etc t//

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants