# Backport
This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Refactor bulk delete monitor and params routes !!
(#195420)](https://github.com/elastic/kibana/pull/195420)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT
[{"author":{"name":"Shahzad","email":"shahzad31comp@gmail.com"},"sourceCommit":{"committedDate":"2024-11-07T09:51:56Z","message":"[Synthetics]
Refactor bulk delete monitor and params routes !! (#195420)\n\n##
Summary\r\n\r\nRefactor bulk delete monitor and params routes !!
\r\n\r\nWe need to remove usage for body from DELETE route.\r\n\r\n###
Params\r\n\r\nParams can be bulk delete now with POST request
to\r\n`/params/_bulk_delete` endpoint\r\n\r\n### Monitors\r\nMonitors
can be bulk delete now with POST request to\r\n`/monitors/_bulk_delete`
endpoint","sha":"d25a2b442aff8d3b4559832257b98c0f50de922b","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","ci:project-deploy-observability","Team:obs-ux-management"],"title":"[Synthetics]
Refactor bulk delete monitor and params routes
!!","number":195420,"url":"https://github.com/elastic/kibana/pull/195420","mergeCommit":{"message":"[Synthetics]
Refactor bulk delete monitor and params routes !! (#195420)\n\n##
Summary\r\n\r\nRefactor bulk delete monitor and params routes !!
\r\n\r\nWe need to remove usage for body from DELETE route.\r\n\r\n###
Params\r\n\r\nParams can be bulk delete now with POST request
to\r\n`/params/_bulk_delete` endpoint\r\n\r\n### Monitors\r\nMonitors
can be bulk delete now with POST request to\r\n`/monitors/_bulk_delete`
endpoint","sha":"d25a2b442aff8d3b4559832257b98c0f50de922b"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195420","number":195420,"mergeCommit":{"message":"[Synthetics]
Refactor bulk delete monitor and params routes !! (#195420)\n\n##
Summary\r\n\r\nRefactor bulk delete monitor and params routes !!
\r\n\r\nWe need to remove usage for body from DELETE route.\r\n\r\n###
Params\r\n\r\nParams can be bulk delete now with POST request
to\r\n`/params/_bulk_delete` endpoint\r\n\r\n### Monitors\r\nMonitors
can be bulk delete now with POST request to\r\n`/monitors/_bulk_delete`
endpoint","sha":"d25a2b442aff8d3b4559832257b98c0f50de922b"}}]}]
BACKPORT-->
Co-authored-by: Shahzad <shahzad31comp@gmail.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[OpenAPI][DOCS] Add descriptions, examples, responses for role APIs
(#195527)](https://github.com/elastic/kibana/pull/195527)
<!--- Backport version: 8.9.8 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Lisa
Cawley","email":"lcawley@elastic.co"},"sourceCommit":{"committedDate":"2024-10-25T17:13:57Z","message":"[OpenAPI][DOCS]
Add descriptions, examples, responses for role APIs
(#195527)\n\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>","sha":"02fab7248d5b4e537030252df81bef55d04d0595","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Security","release_note:skip","Feature:Security/Authorization","v9.0.0","docs","v8.16.0","backport:version","v8.17.0"],"number":195527,"url":"https://github.com/elastic/kibana/pull/195527","mergeCommit":{"message":"[OpenAPI][DOCS]
Add descriptions, examples, responses for role APIs
(#195527)\n\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>","sha":"02fab7248d5b4e537030252df81bef55d04d0595"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195527","number":195527,"mergeCommit":{"message":"[OpenAPI][DOCS]
Add descriptions, examples, responses for role APIs
(#195527)\n\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>","sha":"02fab7248d5b4e537030252df81bef55d04d0595"}},{"branch":"8.16","label":"v8.16.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.x","label":"v8.17.0","labelRegex":"^v8.17.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Fixes partial updates for params and params viewing
(#195866)](https://github.com/elastic/kibana/pull/195866)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT
[{"author":{"name":"Shahzad","email":"shahzad31comp@gmail.com"},"sourceCommit":{"committedDate":"2024-10-25T15:06:52Z","message":"[Synthetics]
Fixes partial updates for params and params viewing (#195866)\n\n##
Summary\r\n\r\nFixes
https://github.com/elastic/kibana/issues/167781\r\n\r\nIn docs we says
that only key/value pairs are required, but in actual\r\nedit, that
means rest of the data was being lost on edits\r\n\r\nAllow partial
updates to params edit API !!\r\n\r\nThis PR makes sure prev objects is
fetched and merged with new data\r\nhence allowing partial updates
!!\r\n\r\nWe are also allowing the ability to view value of the secret
once it's\r\nsaved via API !!\r\n\r\n### Value is hidden\r\nParam value
will not be visible unless user is `super_user` or\r\n`kibana_admin`,
though user can assign new
value.\r\n\r\n---------\r\n\r\nCo-authored-by: Justin Kambic
<jk@elastic.co>","sha":"0ff9a8a9d9ff2bdb99562eeca29152bd0a0c4385","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:prev-minor","ci:project-deploy-observability","Team:obs-ux-management"],"title":"[Synthetics]
Fixes partial updates for params and params
viewing","number":195866,"url":"https://github.com/elastic/kibana/pull/195866","mergeCommit":{"message":"[Synthetics]
Fixes partial updates for params and params viewing (#195866)\n\n##
Summary\r\n\r\nFixes
https://github.com/elastic/kibana/issues/167781\r\n\r\nIn docs we says
that only key/value pairs are required, but in actual\r\nedit, that
means rest of the data was being lost on edits\r\n\r\nAllow partial
updates to params edit API !!\r\n\r\nThis PR makes sure prev objects is
fetched and merged with new data\r\nhence allowing partial updates
!!\r\n\r\nWe are also allowing the ability to view value of the secret
once it's\r\nsaved via API !!\r\n\r\n### Value is hidden\r\nParam value
will not be visible unless user is `super_user` or\r\n`kibana_admin`,
though user can assign new
value.\r\n\r\n---------\r\n\r\nCo-authored-by: Justin Kambic
<jk@elastic.co>","sha":"0ff9a8a9d9ff2bdb99562eeca29152bd0a0c4385"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195866","number":195866,"mergeCommit":{"message":"[Synthetics]
Fixes partial updates for params and params viewing (#195866)\n\n##
Summary\r\n\r\nFixes
https://github.com/elastic/kibana/issues/167781\r\n\r\nIn docs we says
that only key/value pairs are required, but in actual\r\nedit, that
means rest of the data was being lost on edits\r\n\r\nAllow partial
updates to params edit API !!\r\n\r\nThis PR makes sure prev objects is
fetched and merged with new data\r\nhence allowing partial updates
!!\r\n\r\nWe are also allowing the ability to view value of the secret
once it's\r\nsaved via API !!\r\n\r\n### Value is hidden\r\nParam value
will not be visible unless user is `super_user` or\r\n`kibana_admin`,
though user can assign new
value.\r\n\r\n---------\r\n\r\nCo-authored-by: Justin Kambic
<jk@elastic.co>","sha":"0ff9a8a9d9ff2bdb99562eeca29152bd0a0c4385"}}]}]
BACKPORT-->
Co-authored-by: Shahzad <shahzad31comp@gmail.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[DOCS][OpenAPI] Add descriptions, examples, tags, responses for space
APIs (#195333)](https://github.com/elastic/kibana/pull/195333)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Lisa
Cawley","email":"lcawley@elastic.co"},"sourceCommit":{"committedDate":"2024-10-18T19:03:06Z","message":"[DOCS][OpenAPI]
Add descriptions, examples, tags, responses for space APIs
(#195333)\n\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>","sha":"2656e5a4ff79277c9a370ee24d6692ccb1d3142c","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Security/Spaces","release_note:skip","v9.0.0","docs","v8.16.0","backport:version","v8.17.0"],"title":"[DOCS][OpenAPI]
Add descriptions, examples, tags, responses for space
APIs","number":195333,"url":"https://github.com/elastic/kibana/pull/195333","mergeCommit":{"message":"[DOCS][OpenAPI]
Add descriptions, examples, tags, responses for space APIs
(#195333)\n\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>","sha":"2656e5a4ff79277c9a370ee24d6692ccb1d3142c"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195333","number":195333,"mergeCommit":{"message":"[DOCS][OpenAPI]
Add descriptions, examples, tags, responses for space APIs
(#195333)\n\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>","sha":"2656e5a4ff79277c9a370ee24d6692ccb1d3142c"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.x","label":"v8.17.0","branchLabelMappingKey":"^v8.17.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Lisa Cawley <lcawley@elastic.co>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[DOCS ]Direct users to new API reference site
(#195909)](https://github.com/elastic/kibana/pull/195909)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT
[{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-10-15T15:29:05Z","message":"[DOCS
]Direct users to new API reference site (#195909)\n\n##
Summary\r\n\r\nContributes
to\r\nhttps://github.com/elastic/security-docs-internal/issues/48.\r\n\r\nAdd
callouts to the asciidoc Osquery API docs to direct users to the
new\r\nAPI reference site, in preparation for retiring the asciidoc API
docs.\r\n\r\nNOTE: The api-kibana variable is defined in
version-specific files.
In\r\n[8.15.asciidoc](873ec2c47f/shared/versions/stack/8.x.asciidoc (L75)),\r\nthe
variable points to the
[v8\r\nbranch](https://www.elastic.co/docs/api/doc/kibana/v8) of the
API\r\nreference, which currently doesn't include Security API docs. The
v8\r\nbranch is derived from the \"current\" Kibana branch, which is
currently\r\n8.15. This likely means that we can only backport the
callouts to 8.16\r\nonce 8.16 becomes the \"current\" docs
version.\r\n\r\nPreview: [Osquery
manager\r\nAPI](https://kibana_bk_195909.docs-preview.app.elstc.co/guide/en/kibana/master/osquery-manager-api.html)\r\nand
all its child
pages","sha":"f0f17756324836e00ae0440ed1ba34c90490e843","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Docs","release_note:skip","v9.0.0","docs","Feature:Osquery","APIDocs","v8.16.0","backport:version"],"title":"[DOCS
]Direct users to new API reference
site","number":195909,"url":"https://github.com/elastic/kibana/pull/195909","mergeCommit":{"message":"[DOCS
]Direct users to new API reference site (#195909)\n\n##
Summary\r\n\r\nContributes
to\r\nhttps://github.com/elastic/security-docs-internal/issues/48.\r\n\r\nAdd
callouts to the asciidoc Osquery API docs to direct users to the
new\r\nAPI reference site, in preparation for retiring the asciidoc API
docs.\r\n\r\nNOTE: The api-kibana variable is defined in
version-specific files.
In\r\n[8.15.asciidoc](873ec2c47f/shared/versions/stack/8.x.asciidoc (L75)),\r\nthe
variable points to the
[v8\r\nbranch](https://www.elastic.co/docs/api/doc/kibana/v8) of the
API\r\nreference, which currently doesn't include Security API docs. The
v8\r\nbranch is derived from the \"current\" Kibana branch, which is
currently\r\n8.15. This likely means that we can only backport the
callouts to 8.16\r\nonce 8.16 becomes the \"current\" docs
version.\r\n\r\nPreview: [Osquery
manager\r\nAPI](https://kibana_bk_195909.docs-preview.app.elstc.co/guide/en/kibana/master/osquery-manager-api.html)\r\nand
all its child
pages","sha":"f0f17756324836e00ae0440ed1ba34c90490e843"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/195909","number":195909,"mergeCommit":{"message":"[DOCS
]Direct users to new API reference site (#195909)\n\n##
Summary\r\n\r\nContributes
to\r\nhttps://github.com/elastic/security-docs-internal/issues/48.\r\n\r\nAdd
callouts to the asciidoc Osquery API docs to direct users to the
new\r\nAPI reference site, in preparation for retiring the asciidoc API
docs.\r\n\r\nNOTE: The api-kibana variable is defined in
version-specific files.
In\r\n[8.15.asciidoc](873ec2c47f/shared/versions/stack/8.x.asciidoc (L75)),\r\nthe
variable points to the
[v8\r\nbranch](https://www.elastic.co/docs/api/doc/kibana/v8) of the
API\r\nreference, which currently doesn't include Security API docs. The
v8\r\nbranch is derived from the \"current\" Kibana branch, which is
currently\r\n8.15. This likely means that we can only backport the
callouts to 8.16\r\nonce 8.16 becomes the \"current\" docs
version.\r\n\r\nPreview: [Osquery
manager\r\nAPI](https://kibana_bk_195909.docs-preview.app.elstc.co/guide/en/kibana/master/osquery-manager-api.html)\r\nand
all its child
pages","sha":"f0f17756324836e00ae0440ed1ba34c90490e843"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>
## Summary
Allow deletion of monitor via id param !!
User can now delete monitor via passing id as url param
`DELETE <kibana host>:<port>/api/synthetics/monitors/<config_id>`
Previous bulk delete via list of ids via API body still works as well !!
Docs are updated !!
## Summary
Passing default solution from cloud onboarding process.
1. Renaming. Solution changes are not released yet, would be shipped
with `8.15`, so it's fine to do it.
- `search` -> `es`
- `observability` -> `oblt`
- Adjusted telemetry accordingly
2. Added `cloud` as optional dependency to `spaces` plugin to use
`onboarding.defaultSolution` passed through setup contract.
### How to test
1. Set `xpack.cloud.onboarding.default_solution` to `es | oblt |
security`
2. Check that default space was created with provided solution `GET
kbn:/api/spaces/space/default`
### Checklist
- [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
### For maintainers
- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
__Fixes: https://github.com/elastic/kibana/issues/184999__
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Added solution property for the space.
- Forbidden in serverless.
- To facilitate iterative development made the property as optional in
stateful offering until all of the workstreams are complete.
### How to test API changes
```
# Should create space
POST kbn:/api/spaces/space
{
"name": "space without solution",
"id": "my-space-solution-1",
"description": "a description",
"color": "#5c5959",
"disabledFeatures": []
}
# Should fail with 400
POST kbn:/api/spaces/space
{
"name": "space with solution",
"id": "my-space-solution-2",
"description": "a description",
"color": "#5c5959",
"solution": "some_solution",
"disabledFeatures": []
}
# Should fail with 400
POST kbn:/api/spaces/space
{
"name": "space with solution",
"id": "my-space-solution-2",
"description": "a description",
"color": "#5c5959",
"solution": null,
"disabledFeatures": []
}
# Should create space
POST kbn:/api/spaces/space
{
"name": "space with solution",
"id": "my-space-solution-2",
"description": "a description",
"color": "#5c5959",
"solution": "search",
"disabledFeatures": []
}
# Should get 'my-space-solution-1' space without solution field
GET kbn:/api/spaces/space/my-space-solution-1
# Should get 'my-space-solution-2' space with solution field
GET kbn:/api/spaces/space/my-space-solution-2
# Should fail to update with 400
PUT kbn:/api/spaces/space/my-space-solution-1
{
"id": "my-space-solution-1",
"name": "my-space-solution-1 name",
"solution": "some_solution"
}
# Should fail to update with 400
PUT kbn:/api/spaces/space/my-space-solution-1
{
"id": "my-space-solution-1",
"name": "my-space-solution-1 name",
"solution": null
}
# Should update 'my-space-solution-1'
PUT kbn:/api/spaces/space/my-space-solution-1
{
"id": "my-space-solution-1",
"name": "my-space-solution-1 name",
"solution": "security"
}
# Should get 'my-space-solution-1' space wit solution field set to 'security'
GET kbn:/api/spaces/space/my-space-solution-1
# Should return list where
# 1. 'my-space-solution-1' has solution 'security'
# 2. 'my-space-solution-2' has solution 'search'
# 3. Other spaces don't have solution field present
GET kbn:/api/spaces/space
```
### Checklist
- [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
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed ([Security and Spaces
config](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6076),
[Spaces only
config](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6075))
### For maintainers
- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
__Fixes: https://github.com/elastic/kibana/issues/183559__
## Release note
Added optional solution property for Space in a stateful offering.
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Part of https://github.com/elastic/kibana/issues/169547
View docs at [Changed
pages](https://kibana_169928.docs-preview.app.elstc.co/diff)
Add monitor api public api
### Testing
Make sure you have some monitors populated before testing this PR and
before switching to the branch
- [ ] Try editing already added monitors via API
- [ ] Test adding monitors via API, and then edit those via and
subsqeuently try editing via API the same monitor
- [ ] Test editing monitors via API
- [ ] Test deleting monitors via API
- [ ] Test getting monitors via API
- [ ] Testing private as well public locations
Basic workflow that i am interesting in testing is to make sure, you can
add/edit via both API and UI without any issues
Test each of HTTP/TCP/ICMP browser examples
<img width="1728" alt="image"
src="3575d93a-5f04-4c80-ac62-038643f466f8">
---------
Co-authored-by: Justin Kambic <jk@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Dominique Clarke <dominique.clarke@elastic.co>
## Summary
Docs for the swap references api -
https://github.com/elastic/kibana/pull/163225
The docs are on the terse side - I think this makes sense since this is
a tool that should be used infrequently and only by people who use saved
object references.
---------
Co-authored-by: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com>
Co-authored-by: Davis McPhee <davismcphee@hotmail.com>
Contributes to https://github.com/elastic/security-docs/issues/4536 by
documenting the new **Timeout** setting and `timeout` API parameter in
Osquery docs.
---------
Co-authored-by: nastasha.solomon <nastasha.solomon@elastic.co>
Co-authored-by: Benjamin Ironside Goldstein <91905639+benironside@users.noreply.github.com>
## Summary
Fix https://github.com/elastic/kibana/issues/150079
Add support for the `*` wildcard for by-type export, allowing to more
easily export all the exportable SO types
```
POST /api/saved_objects/_export
{
types: '*',
}
```
## Release Note
The savedObjects export API now supports exporting all types using the
`*` wildcard. Please refer to the documentation
for more details and examples.
---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
This PR fixes the documentation for the "update data view fields" API which used an incorrect route in the provided examples (data-view instead of data_view)
## Summary
Moves the response codes documented for the copy saved object API to the
correct document file.
Documentation was incorrectly located in
https://github.com/elastic/kibana/pull/158036
Fixes#155978
## Summary
- Remove the `fields` parameter from the find cases API
- Limit the `searchFields` parameter in the find cases API
One of the FTR tests was actually successfully calling the find_cases
API while passing the fields parameter but only certain combinations of
fields would actually work.
Passing single fields would not work.
I just removed the test as we won't support the `fields` param anymore.
---------
Co-authored-by: lcawl <lcawley@elastic.co>
Fixes https://github.com/elastic/kibana/issues/151938
In this PR, I'm re-writing the Task Manager poller so it doesn't run
concurrently when timeouts occur while also fixing the issue where
polling requests would pile up when polling takes time. To support this,
I've also made the following changes:
- Removed the observable monitor and the
`xpack.task_manager.max_poll_inactivity_cycles` setting
- Make the task store `search` and `updateByQuery` functions have no
retries. This prevents the request from retrying 5x whenever a timeout
occurs, causing each call taking up to 2 1/2 minutes before Kibana sees
the error (now down to 30s each). We have polling to manage retries in
these situations.
- Switch the task poller tests to use `sinon` for faking timers
- Removing the `assertStillInSetup` checks on plugin setup. Felt like a
maintenance burden that wasn't necessary to fix with my code changes.
The main code changes are within these files (to review thoroughly so
the polling cycle doesn't suddenly stop):
- x-pack/plugins/task_manager/server/polling/task_poller.ts
- x-pack/plugins/task_manager/server/polling_lifecycle.ts (easier to
review if you disregard whitespace `?w=1`)
## To verify
1. Tasks run normally (create a rule or something that goes through task
manager regularly).
2. When the update by query takes a while, the request is cancelled
after 30s or the time manually configured.
4. When the search for claimed tasks query takes a while, the request is
cancelled after 30s or the time manually configured.
**Tips:**
<details><summary>how to slowdown search for claimed task
queries</summary>
```
diff --git a/x-pack/plugins/task_manager/server/queries/task_claiming.ts b/x-pack/plugins/task_manager/server/queries/task_claiming.ts
index 07042650a37..2caefd63672 100644
--- a/x-pack/plugins/task_manager/server/queries/task_claiming.ts
+++ b/x-pack/plugins/task_manager/server/queries/task_claiming.ts
@@ -247,7 +247,7 @@ export class TaskClaiming {
taskTypes,
});
- const docs = tasksUpdated > 0 ? await this.sweepForClaimedTasks(taskTypes, size) : [];
+ const docs = await this.sweepForClaimedTasks(taskTypes, size);
this.emitEvents(docs.map((doc) => asTaskClaimEvent(doc.id, asOk(doc))));
@@ -346,6 +346,13 @@ export class TaskClaiming {
size,
sort: SortByRunAtAndRetryAt,
seq_no_primary_term: true,
+ aggs: {
+ delay: {
+ shard_delay: {
+ value: '40s',
+ },
+ },
+ },
});
return docs;
```
</details>
<details><summary>how to slow down update by queries</summary>
Not the cleanest way but you'll see occasional request timeouts from the
updateByQuery calls. I had more luck creating rules running every 1s.
```
diff --git a/x-pack/plugins/task_manager/server/task_store.ts b/x-pack/plugins/task_manager/server/task_store.ts
index a06ee7b918a..07aa81e5388 100644
--- a/x-pack/plugins/task_manager/server/task_store.ts
+++ b/x-pack/plugins/task_manager/server/task_store.ts
@@ -126,6 +126,7 @@ export class TaskStore {
// Timeouts are retried and make requests timeout after (requestTimeout * (1 + maxRetries))
// The poller doesn't need retry logic because it will try again at the next polling cycle
maxRetries: 0,
+ requestTimeout: 900,
});
}
@@ -458,6 +459,7 @@ export class TaskStore {
ignore_unavailable: true,
refresh: true,
conflicts: 'proceed',
+ requests_per_second: 1,
body: {
...opts,
max_docs,
```
</details>
---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>