Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Task Manager] Prevents Task Manager from trying to claim invalid tasks #76891

Merged

Conversation

gmmorris
Copy link
Contributor

@gmmorris gmmorris commented Sep 7, 2020

Summary

Filters out invalid SOs from search results to prevent a never ending loop and spamming of logs in Task Manager.

closes #51222

Checklist

Delete any items that are not applicable to this PR.

For maintainers

@gmmorris gmmorris requested a review from a team as a code owner September 7, 2020 16:07
@gmmorris gmmorris changed the title filter invalid SOs from the searc hresults in Task Manager [Task Manager] Filters invalid SOs from search results Sep 7, 2020
@gmmorris gmmorris added Feature:Alerting Feature:Task Manager release_note:fix Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) v7.10.0 v8.0.0 labels Sep 7, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-alerting-services (Team:Alerting Services)

@gmmorris gmmorris changed the title [Task Manager] Filters invalid SOs from search results [Task Manager] Prevents Task Manager from trying to claim invalid tasks Sep 7, 2020
Copy link
Member

@pmuellr pmuellr left a comment

Choose a reason for hiding this comment

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

The fix seems correct, but I left a question about one of the tests. Other than that, LGTM

]);
});

test('it filters out invalid tasks that arent SavedObjects', async () => {
Copy link
Member

Choose a reason for hiding this comment

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

It's not immediately clear to me that these tasks aren't valid - isn't the change just to make sure the id has a task: prefix and has a type field? So, either the test name isn't quite right, or else there should probably be a comment explaining more. Here's the new code being called to check the validity:

public isRawSavedObject(rawDoc: SavedObjectsRawDoc) {
const { type, namespace } = rawDoc._source;
const namespacePrefix =
namespace && this.registry.isSingleNamespace(type) ? `${namespace}:` : '';
return Boolean(
type &&
rawDoc._id.startsWith(`${namespacePrefix}${type}:`) &&
rawDoc._source.hasOwnProperty(type)
);
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The way I see it is that the type: is a SavedObjects internal implementation detail.
We're using the SavedObject's validator to validate - the actual distinction seems less relevant to Task Manager as far as I can tell. 🤔

Does that make sense?

Copy link
Contributor

@YulNaumenko YulNaumenko left a comment

Choose a reason for hiding this comment

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

LGTM

@gmmorris
Copy link
Contributor Author

@elasticmachine merge upstream

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Accessibility Tests.test/accessibility/apps/discover·ts.Discover Load a new search from the panel

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has failed 9 times on tracked branches: https://github.com/elastic/kibana/issues/59975

[00:00:00]       │
[00:00:00]         └-: Discover
[00:00:00]           └-> "before all" hook
[00:00:00]           └-> "before all" hook
[00:00:00]             │ info [discover] Loading "mappings.json"
[00:00:00]             │ info [discover] Loading "data.json.gz"
[00:00:00]             │ info [o.e.c.m.MetadataDeleteIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana_1/oECVK3m0Rrqez4QZh6jYXA] deleting index
[00:00:00]             │ info [discover] Deleted existing index [".kibana_1"]
[00:00:00]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana] creating index, cause [api], templates [], shards [1]/[1]
[00:00:00]             │ info [discover] Created index ".kibana"
[00:00:00]             │ debg [discover] ".kibana" settings {"index":{"number_of_replicas":"1","number_of_shards":"1"}}
[00:00:00]             │ info [discover] Indexed 2 docs into ".kibana"
[00:00:00]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana/FEJBFC8mR8i6PM8BPNEzuQ] update_mapping [_doc]
[00:00:00]             │ debg Migrating saved objects
[00:00:00]             │ proc [kibana]   log   [15:24:23.491] [info][savedobjects-service] Creating index .kibana_2.
[00:00:00]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana_2] creating index, cause [api], templates [], shards [1]/[1]
[00:00:00]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] updating number_of_replicas to [0] for indices [.kibana_2]
[00:00:00]             │ proc [kibana]   log   [15:24:23.669] [info][savedobjects-service] Reindexing .kibana to .kibana_1
[00:00:00]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana_1] creating index, cause [api], templates [], shards [1]/[1]
[00:00:00]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] updating number_of_replicas to [0] for indices [.kibana_1]
[00:00:01]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.tasks] creating index, cause [auto(task api)], templates [], shards [1]/[1]
[00:00:01]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] updating number_of_replicas to [0] for indices [.tasks]
[00:00:01]             │ info [o.e.t.LoggingTaskListener] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] 106 finished with response BulkByScrollResponse[took=240.8ms,timed_out=false,sliceId=null,updated=0,created=2,deleted=0,batches=1,versionConflicts=0,noops=0,retries=0,throttledUntil=0s,bulk_failures=[],search_failures=[]]
[00:00:01]             │ info [o.e.c.m.MetadataDeleteIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana/FEJBFC8mR8i6PM8BPNEzuQ] deleting index
[00:00:01]             │ proc [kibana]   log   [15:24:24.591] [info][savedobjects-service] Migrating .kibana_1 saved objects to .kibana_2
[00:00:01]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana_2/mjUMvgpwTlapxv9xMsk72w] update_mapping [_doc]
[00:00:02]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana_2/mjUMvgpwTlapxv9xMsk72w] update_mapping [_doc]
[00:00:02]             │ proc [kibana]   log   [15:24:24.951] [info][savedobjects-service] Pointing alias .kibana to .kibana_2.
[00:00:02]             │ proc [kibana]   log   [15:24:25.044] [info][savedobjects-service] Finished in 1557ms.
[00:00:02]             │ debg applying update to kibana config: {"accessibility:disableAnimations":true,"dateFormat:tz":"UTC"}
[00:00:02]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [.kibana_2/mjUMvgpwTlapxv9xMsk72w] update_mapping [_doc]
[00:00:03]             │ info [logstash_functional] Loading "mappings.json"
[00:00:03]             │ info [logstash_functional] Loading "data.json.gz"
[00:00:03]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [logstash-2015.09.22] creating index, cause [api], templates [], shards [1]/[0]
[00:00:04]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] current.health="GREEN" message="Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[logstash-2015.09.22][0]]])." previous.health="YELLOW" reason="shards started [[logstash-2015.09.22][0]]"
[00:00:04]             │ info [logstash_functional] Created index "logstash-2015.09.22"
[00:00:04]             │ debg [logstash_functional] "logstash-2015.09.22" settings {"index":{"analysis":{"analyzer":{"url":{"max_token_length":"1000","tokenizer":"uax_url_email","type":"standard"}}},"number_of_replicas":"0","number_of_shards":"1"}}
[00:00:04]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [logstash-2015.09.20] creating index, cause [api], templates [], shards [1]/[0]
[00:00:04]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] current.health="GREEN" message="Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[logstash-2015.09.20][0]]])." previous.health="YELLOW" reason="shards started [[logstash-2015.09.20][0]]"
[00:00:04]             │ info [logstash_functional] Created index "logstash-2015.09.20"
[00:00:04]             │ debg [logstash_functional] "logstash-2015.09.20" settings {"index":{"analysis":{"analyzer":{"url":{"max_token_length":"1000","tokenizer":"uax_url_email","type":"standard"}}},"number_of_replicas":"0","number_of_shards":"1"}}
[00:00:04]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] [logstash-2015.09.21] creating index, cause [api], templates [], shards [1]/[0]
[00:00:04]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-ubuntu-18-tests-xxl-1600096049631666971] current.health="GREEN" message="Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[logstash-2015.09.21][0]]])." previous.health="YELLOW" reason="shards started [[logstash-2015.09.21][0]]"
[00:00:04]             │ info [logstash_functional] Created index "logstash-2015.09.21"
[00:00:04]             │ debg [logstash_functional] "logstash-2015.09.21" settings {"index":{"analysis":{"analyzer":{"url":{"max_token_length":"1000","tokenizer":"uax_url_email","type":"standard"}}},"number_of_replicas":"0","number_of_shards":"1"}}
[00:00:13]             │ info progress: 4811
[00:00:23]             │ info progress: 12859
[00:00:25]             │ info [logstash_functional] Indexed 4633 docs into "logstash-2015.09.22"
[00:00:25]             │ info [logstash_functional] Indexed 4757 docs into "logstash-2015.09.20"
[00:00:25]             │ info [logstash_functional] Indexed 4614 docs into "logstash-2015.09.21"
[00:00:25]             │ debg applying update to kibana config: {"defaultIndex":"logstash-*"}
[00:00:25]             │ debg navigating to discover url: http://localhost:61111/app/discover#/
[00:00:25]             │ debg navigate to: http://localhost:61111/app/discover#/
[00:00:26]             │ debg browser[INFO] http://localhost:61111/app/discover?_t=1600097088720#/ 341 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:26]             │
[00:00:26]             │ debg browser[INFO] http://localhost:61111/bootstrap.js 42:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:26]             │ debg ... sleep(700) start
[00:00:26]             │ debg ... sleep(700) end
[00:00:26]             │ debg returned from get, calling refresh
[00:00:29]             │ERROR browser[SEVERE] http://localhost:61111/36242/bundles/core/core.entry.js 83:272044 TypeError: Failed to fetch
[00:00:29]             │ debg browser[INFO] http://localhost:61111/app/discover?_t=1600097088720#/ 341 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:29]             │
[00:00:29]             │ debg browser[INFO] http://localhost:61111/bootstrap.js 42:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:29]             │ debg currentUrl = http://localhost:61111/app/discover#/
[00:00:29]             │          appUrl = http://localhost:61111/app/discover#/
[00:00:29]             │ debg TestSubjects.find(kibanaChrome)
[00:00:29]             │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:00:32]             │ debg ... sleep(501) start
[00:00:33]             │ debg ... sleep(501) end
[00:00:33]             │ debg in navigateTo url = http://localhost:61111/app/discover#/
[00:00:33]             │ debg TestSubjects.exists(statusPageContainer)
[00:00:33]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="statusPageContainer"]') with timeout=2500
[00:00:35]             │ debg --- retry.tryForTime error: [data-test-subj="statusPageContainer"] is not displayed
[00:00:36]             │ debg Setting absolute range to Sep 19, 2015 @ 06:31:44.000 to Sep 23, 2015 @ 18:31:44.000
[00:00:36]             │ debg TestSubjects.exists(superDatePickerToggleQuickMenuButton)
[00:00:36]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerToggleQuickMenuButton"]') with timeout=20000
[00:00:36]             │ debg TestSubjects.exists(superDatePickerShowDatesButton)
[00:00:36]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=2500
[00:00:36]             │ debg TestSubjects.click(superDatePickerShowDatesButton)
[00:00:36]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=10000
[00:00:36]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=10000
[00:00:36]             │ debg TestSubjects.exists(superDatePickerstartDatePopoverButton)
[00:00:36]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=2500
[00:00:36]             │ debg TestSubjects.click(superDatePickerendDatePopoverButton)
[00:00:36]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerendDatePopoverButton"]') with timeout=10000
[00:00:36]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerendDatePopoverButton"]') with timeout=10000
[00:00:37]             │ debg Find.findByCssSelector('div.euiPopover__panel-isOpen') with timeout=10000
[00:00:37]             │ debg TestSubjects.click(superDatePickerAbsoluteTab)
[00:00:37]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[00:00:37]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[00:00:37]             │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[00:00:37]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:37]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:37]             │ debg TestSubjects.setValue(superDatePickerAbsoluteDateInput, Sep 23, 2015 @ 18:31:44.000)
[00:00:37]             │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[00:00:37]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:37]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:38]             │ debg ... sleep(500) start
[00:00:38]             │ debg ... sleep(500) end
[00:00:38]             │ debg TestSubjects.click(superDatePickerstartDatePopoverButton)
[00:00:38]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=10000
[00:00:38]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=10000
[00:00:39]             │ debg Find.waitForElementStale with timeout=10000
[00:00:39]             │ debg Find.findByCssSelector('div.euiPopover__panel-isOpen') with timeout=10000
[00:00:39]             │ debg TestSubjects.click(superDatePickerAbsoluteTab)
[00:00:39]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[00:00:39]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[00:00:39]             │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[00:00:39]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:39]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:39]             │ debg TestSubjects.setValue(superDatePickerAbsoluteDateInput, Sep 19, 2015 @ 06:31:44.000)
[00:00:39]             │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[00:00:39]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:39]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:40]             │ debg TestSubjects.exists(superDatePickerApplyTimeButton)
[00:00:40]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerApplyTimeButton"]') with timeout=2500
[00:00:43]             │ debg --- retry.tryForTime error: [data-test-subj="superDatePickerApplyTimeButton"] is not displayed
[00:00:43]             │ debg TestSubjects.click(querySubmitButton)
[00:00:43]             │ debg Find.clickByCssSelector('[data-test-subj="querySubmitButton"]') with timeout=10000
[00:00:43]             │ debg Find.findByCssSelector('[data-test-subj="querySubmitButton"]') with timeout=10000
[00:00:44]             │ debg Find.waitForElementStale with timeout=10000
[00:00:44]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:00:44]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:00:47]           └-> main view
[00:00:47]             └-> "before each" hook: global before each
[00:01:05]             └- ✓ pass  (17.6s) "Discover main view"
[00:01:05]           └-> Click save button
[00:01:05]             └-> "before each" hook: global before each
[00:01:05]             │ debg TestSubjects.click(discoverSaveButton)
[00:01:05]             │ debg Find.clickByCssSelector('[data-test-subj="discoverSaveButton"]') with timeout=10000
[00:01:05]             │ debg Find.findByCssSelector('[data-test-subj="discoverSaveButton"]') with timeout=10000
[00:01:08]             └- ✓ pass  (3.1s) "Discover Click save button"
[00:01:08]           └-> Save search panel
[00:01:08]             └-> "before each" hook: global before each
[00:01:08]             │ debg TestSubjects.setValue(savedObjectTitle, a11ySearch)
[00:01:08]             │ debg TestSubjects.click(savedObjectTitle)
[00:01:08]             │ debg Find.clickByCssSelector('[data-test-subj="savedObjectTitle"]') with timeout=10000
[00:01:08]             │ debg Find.findByCssSelector('[data-test-subj="savedObjectTitle"]') with timeout=10000
[00:01:11]             └- ✓ pass  (2.5s) "Discover Save search panel"
[00:01:11]           └-> Confirm saved search
[00:01:11]             └-> "before each" hook: global before each
[00:01:11]             │ debg TestSubjects.click(confirmSaveSavedObjectButton)
[00:01:11]             │ debg Find.clickByCssSelector('[data-test-subj="confirmSaveSavedObjectButton"]') with timeout=10000
[00:01:11]             │ debg Find.findByCssSelector('[data-test-subj="confirmSaveSavedObjectButton"]') with timeout=10000
[00:01:13]             └- ✓ pass  (2.7s) "Discover Confirm saved search"
[00:01:13]           └-> Click on new to clear the search
[00:01:13]             └-> "before each" hook: global before each
[00:01:13]             │ debg TestSubjects.click(discoverNewButton)
[00:01:13]             │ debg Find.clickByCssSelector('[data-test-subj="discoverNewButton"]') with timeout=10000
[00:01:13]             │ debg Find.findByCssSelector('[data-test-subj="discoverNewButton"]') with timeout=10000
[00:01:14]             │ debg isGlobalLoadingIndicatorVisible
[00:01:14]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:01:14]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:01:14]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:01:14]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:01:26]             └- ✓ pass  (13.1s) "Discover Click on new to clear the search"
[00:01:26]           └-> Open load saved search panel
[00:01:26]             └-> "before each" hook: global before each
[00:01:26]             │ debg TestSubjects.exists(loadSearchForm)
[00:01:26]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:01:29]             │ debg --- retry.tryForTime error: [data-test-subj="loadSearchForm"] is not displayed
[00:01:29]             │ debg Waiting up to 20000ms for saved search panel is opened...
[00:01:29]             │ debg TestSubjects.moveMouseTo(discoverOpenButton)
[00:01:29]             │ debg TestSubjects.find(discoverOpenButton)
[00:01:29]             │ debg Find.findByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:01:30]             │ debg TestSubjects.click(discoverOpenButton)
[00:01:30]             │ debg Find.clickByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:01:30]             │ debg Find.findByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:01:30]             │ debg isGlobalLoadingIndicatorVisible
[00:01:30]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:01:30]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:01:31]             │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[00:01:33]             │ debg --- retry.tryForTime failed again with the same message...
[00:01:33]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:01:33]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:01:33]             │ debg TestSubjects.exists(loadSearchForm)
[00:01:33]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:01:35]             │ debg TestSubjects.click(euiFlyoutCloseButton)
[00:01:35]             │ debg Find.clickByCssSelector('[data-test-subj="euiFlyoutCloseButton"]') with timeout=10000
[00:01:35]             │ debg Find.findByCssSelector('[data-test-subj="euiFlyoutCloseButton"]') with timeout=10000
[00:01:35]             └- ✓ pass  (8.9s) "Discover Open load saved search panel"
[00:01:35]           └-> Open inspector panel
[00:01:35]             └-> "before each" hook: global before each
[00:01:35]             │ debg Inspector.open
[00:01:35]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:35]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=2500
[00:01:38]             │ debg --- retry.tryForTime error: [data-test-subj="inspectorPanel"] is not displayed
[00:01:38]             │ debg TestSubjects.click(openInspectorButton)
[00:01:38]             │ debg Find.clickByCssSelector('[data-test-subj="openInspectorButton"]') with timeout=10000
[00:01:38]             │ debg Find.findByCssSelector('[data-test-subj="openInspectorButton"]') with timeout=10000
[00:01:39]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:39]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=2500
[00:01:41]             │ debg Close Inspector
[00:01:41]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:41]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=2500
[00:01:41]             │ debg Closing flyout inspectorPanel
[00:01:41]             │ debg TestSubjects.find(inspectorPanel)
[00:01:41]             │ debg Find.findByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=10000
[00:01:42]             │ debg Waiting up to 20000ms for flyout closed...
[00:01:42]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:42]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=1000
[00:01:43]             │ debg --- retry.tryForTime error: [data-test-subj="inspectorPanel"] is not displayed
[00:01:43]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:43]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=2500
[00:01:46]             │ debg --- retry.tryForTime error: [data-test-subj="inspectorPanel"] is not displayed
[00:01:46]             └- ✓ pass  (10.8s) "Discover Open inspector panel"
[00:01:46]           └-> Open add filter
[00:01:46]             └-> "before each" hook: global before each
[00:01:46]             │ debg TestSubjects.click(addFilter)
[00:01:46]             │ debg Find.clickByCssSelector('[data-test-subj="addFilter"]') with timeout=10000
[00:01:46]             │ debg Find.findByCssSelector('[data-test-subj="addFilter"]') with timeout=10000
[00:01:48]             └- ✓ pass  (1.9s) "Discover Open add filter"
[00:01:48]           └-> Select values for a filter
[00:01:48]             └-> "before each" hook: global before each
[00:01:48]             │ debg TestSubjects.click(addFilter)
[00:01:48]             │ debg Find.clickByCssSelector('[data-test-subj="addFilter"]') with timeout=10000
[00:01:48]             │ debg Find.findByCssSelector('[data-test-subj="addFilter"]') with timeout=10000
[00:01:48]             │ debg comboBox.set, comboBoxSelector: filterFieldSuggestionList
[00:01:48]             │ debg TestSubjects.find(filterFieldSuggestionList)
[00:01:48]             │ debg Find.findByCssSelector('[data-test-subj="filterFieldSuggestionList"]') with timeout=10000
[00:01:48]             │ debg comboBox.setElement, value: extension.raw
[00:01:48]             │ debg comboBox.isOptionSelected, value: extension.raw
[00:01:51]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:01:51]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:01:51]             │ debg Find.allByCssSelector('.euiFilterSelectItem[title^="extension.raw"]') with timeout=2500
[00:01:51]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:01:51]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:01:54]             │ debg --- retry.tryForTime error: [data-test-subj~="comboBoxOptionsList"] is not displayed
[00:01:54]             │ debg comboBox.set, comboBoxSelector: filterOperatorList
[00:01:54]             │ debg TestSubjects.find(filterOperatorList)
[00:01:54]             │ debg Find.findByCssSelector('[data-test-subj="filterOperatorList"]') with timeout=10000
[00:01:54]             │ debg comboBox.setElement, value: is one of
[00:01:54]             │ debg comboBox.isOptionSelected, value: is one of
[00:01:57]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:01:57]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:01:57]             │ debg Find.allByCssSelector('.euiFilterSelectItem[title^="is one of"]') with timeout=2500
[00:01:57]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:01:57]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:02:00]             │ debg --- retry.tryForTime error: [data-test-subj~="comboBoxOptionsList"] is not displayed
[00:02:00]             │ debg TestSubjects.find(filterParams)
[00:02:00]             │ debg Find.findByCssSelector('[data-test-subj="filterParams"]') with timeout=10000
[00:02:00]             │ debg comboBox.setElement, value: jpg
[00:02:00]             │ debg comboBox.isOptionSelected, value: jpg
[00:02:03]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:02:03]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:02:03]             │ debg Find.allByCssSelector('.euiFilterSelectItem[title^="jpg"]') with timeout=2500
[00:02:03]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:02:03]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:02:04]             │ debg TestSubjects.click(saveFilter)
[00:02:04]             │ debg Find.clickByCssSelector('[data-test-subj="saveFilter"]') with timeout=10000
[00:02:04]             │ debg Find.findByCssSelector('[data-test-subj="saveFilter"]') with timeout=10000
[00:02:04]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:02:04]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:02:20]             └- ✓ pass  (32.4s) "Discover Select values for a filter"
[00:02:20]           └-> Load a new search from the panel
[00:02:20]             └-> "before each" hook: global before each
[00:02:20]             │ debg TestSubjects.click(discoverSaveButton)
[00:02:20]             │ debg Find.clickByCssSelector('[data-test-subj="discoverSaveButton"]') with timeout=10000
[00:02:20]             │ debg Find.findByCssSelector('[data-test-subj="discoverSaveButton"]') with timeout=10000
[00:02:21]             │ debg TestSubjects.setValue(savedObjectTitle, filterSearch)
[00:02:21]             │ debg TestSubjects.click(savedObjectTitle)
[00:02:21]             │ debg Find.clickByCssSelector('[data-test-subj="savedObjectTitle"]') with timeout=10000
[00:02:21]             │ debg Find.findByCssSelector('[data-test-subj="savedObjectTitle"]') with timeout=10000
[00:02:22]             │ debg TestSubjects.click(confirmSaveSavedObjectButton)
[00:02:22]             │ debg Find.clickByCssSelector('[data-test-subj="confirmSaveSavedObjectButton"]') with timeout=10000
[00:02:22]             │ debg Find.findByCssSelector('[data-test-subj="confirmSaveSavedObjectButton"]') with timeout=10000
[00:02:22]             │ debg TestSubjects.exists(loadSearchForm)
[00:02:22]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:02:25]             │ debg --- retry.tryForTime error: [data-test-subj="loadSearchForm"] is not displayed
[00:02:25]             │ debg Waiting up to 20000ms for saved search panel is opened...
[00:02:25]             │ debg TestSubjects.moveMouseTo(discoverOpenButton)
[00:02:25]             │ debg TestSubjects.find(discoverOpenButton)
[00:02:25]             │ debg Find.findByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:02:26]             │ debg TestSubjects.click(discoverOpenButton)
[00:02:26]             │ debg Find.clickByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:02:26]             │ debg Find.findByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:02:26]             │ debg isGlobalLoadingIndicatorVisible
[00:02:26]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:02:26]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:02:27]             │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[00:02:28]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:02:28]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:02:28]             │ debg TestSubjects.exists(loadSearchForm)
[00:02:28]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:02:28]             │ debg TestSubjects.exists(loadSearchForm)
[00:02:28]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:02:28]             │ debg Find.byButtonText('filterSearch') with timeout=10000
[00:02:38]             │ debg --- retry.tryForTime error: stale element reference: element is not attached to the page document
[00:02:38]             │        (Session info: headless chrome=84.0.4147.135)
[00:02:38]             │ info Taking screenshot "/dev/shm/workspace/parallel/11/kibana/test/functional/screenshots/failure/Discover Load a new search from the panel.png"
[00:02:39]             │ info Current URL is: http://localhost:61111/app/discover#/view/b2f0c290-f69e-11ea-88e2-5d04608659fb?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:%272015-09-19T06:31:44.000Z%27,to:%272015-09-23T18:31:44.000Z%27))&_a=(columns:!(_source),filters:!((%27$state%27:(store:appState),meta:(alias:!n,disabled:!f,index:%27logstash-*%27,key:extension.raw,negate:!f,params:!(jpg),type:phrases,value:jpg),query:(bool:(minimum_should_match:1,should:!((match_phrase:(extension.raw:jpg))))))),index:%27logstash-*%27,interval:auto,query:(language:kuery,query:%27%27),sort:!())
[00:02:39]             │ info Saving page source to: /dev/shm/workspace/parallel/11/kibana/test/functional/failure_debug/html/Discover Load a new search from the panel.html
[00:02:39]             └- ✖ fail: Discover Load a new search from the panel
[00:02:39]             │      Error: retry.tryForTime timeout: StaleElementReferenceError: stale element reference: element is not attached to the page document
[00:02:39]             │   (Session info: headless chrome=84.0.4147.135)
[00:02:39]             │     at Object.throwDecodedError (/dev/shm/workspace/kibana/node_modules/selenium-webdriver/lib/error.js:550:15)
[00:02:39]             │     at parseHttpResponse (/dev/shm/workspace/kibana/node_modules/selenium-webdriver/lib/http.js:565:13)
[00:02:39]             │     at Executor.execute (/dev/shm/workspace/kibana/node_modules/selenium-webdriver/lib/http.js:491:26)
[00:02:39]             │     at process._tickCallback (internal/process/next_tick.js:68:7)
[00:02:39]             │       at onFailure (test/common/services/retry/retry_for_success.ts:28:9)
[00:02:39]             │       at retryForSuccess (test/common/services/retry/retry_for_success.ts:68:13)
[00:02:39]             │ 
[00:02:39]             │ 

Stack Trace

Error: retry.tryForTime timeout: StaleElementReferenceError: stale element reference: element is not attached to the page document
  (Session info: headless chrome=84.0.4147.135)
    at Object.throwDecodedError (/dev/shm/workspace/kibana/node_modules/selenium-webdriver/lib/error.js:550:15)
    at parseHttpResponse (/dev/shm/workspace/kibana/node_modules/selenium-webdriver/lib/http.js:565:13)
    at Executor.execute (/dev/shm/workspace/kibana/node_modules/selenium-webdriver/lib/http.js:491:26)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at onFailure (test/common/services/retry/retry_for_success.ts:28:9)
    at retryForSuccess (test/common/services/retry/retry_for_success.ts:68:13)

Build metrics

✅ unchanged

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@gmmorris gmmorris merged commit 8f54c50 into elastic:master Sep 14, 2020
gmmorris added a commit to gmmorris/kibana that referenced this pull request Sep 14, 2020
…6891)

Filters out invalid SOs from search results to prevent a never ending loop and spamming of logs in Task Manager.
gmmorris added a commit to gmmorris/kibana that referenced this pull request Sep 14, 2020
* master: (65 commits)
  [Security Solution][Resolver] Analyzed event styling (elastic#77115)
  filter invalid SOs from the searc hresults in Task Manager (elastic#76891)
  [RUM Dashboard] Visitors by region map (elastic#77135)
  [Security Solution][Endpoint][Admin] Task/endpoint list actions (elastic#76555)
  [Ingest pipelines] Forms for processors T-U (elastic#76710)
  updating datatable type (elastic#77320)
  [ML] Fix custom URLs processing for security app (elastic#76957)
  [telemetry] add schema guideline + schema_check new check for --path config (elastic#75747)
  [ML] Transforms: API schemas and integration tests (elastic#75164)
  [Mappings editor] Add support for wildcard field type (elastic#76574)
  [Ingest Manager] Fix flyout instruction selection (elastic#77071)
  [Telemetry Tools] update lodash to 4.17 (elastic#77317)
  [APM] Service inventory redesign (elastic#76744)
  Hide management sections based on cluster/index privileges (elastic#67791)
  [Snapshot Restore] Disable steps when form is invalid (elastic#76540)
  [Mappings editor] Add support for positive_score_impact to rank_feature (elastic#76824)
  Update apm.ts (elastic#77310)
  [OBS] Remove beta badge, change news feed size and add external icon to news feed link (elastic#77164)
  [Discover] Convert legacy sort to be compatible with multi sort (elastic#76986)
  [APM] API Snapshot Testing (elastic#77229)
  ...
gmmorris added a commit to gmmorris/kibana that referenced this pull request Sep 14, 2020
* master: (65 commits)
  [Security Solution][Resolver] Analyzed event styling (elastic#77115)
  filter invalid SOs from the searc hresults in Task Manager (elastic#76891)
  [RUM Dashboard] Visitors by region map (elastic#77135)
  [Security Solution][Endpoint][Admin] Task/endpoint list actions (elastic#76555)
  [Ingest pipelines] Forms for processors T-U (elastic#76710)
  updating datatable type (elastic#77320)
  [ML] Fix custom URLs processing for security app (elastic#76957)
  [telemetry] add schema guideline + schema_check new check for --path config (elastic#75747)
  [ML] Transforms: API schemas and integration tests (elastic#75164)
  [Mappings editor] Add support for wildcard field type (elastic#76574)
  [Ingest Manager] Fix flyout instruction selection (elastic#77071)
  [Telemetry Tools] update lodash to 4.17 (elastic#77317)
  [APM] Service inventory redesign (elastic#76744)
  Hide management sections based on cluster/index privileges (elastic#67791)
  [Snapshot Restore] Disable steps when form is invalid (elastic#76540)
  [Mappings editor] Add support for positive_score_impact to rank_feature (elastic#76824)
  Update apm.ts (elastic#77310)
  [OBS] Remove beta badge, change news feed size and add external icon to news feed link (elastic#77164)
  [Discover] Convert legacy sort to be compatible with multi sort (elastic#76986)
  [APM] API Snapshot Testing (elastic#77229)
  ...
gmmorris added a commit that referenced this pull request Sep 15, 2020
…77374)

Filters out invalid SOs from search results to prevent a never ending loop and spamming of logs in Task Manager.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Task Manager release_note:fix Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) v7.10.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Task manager can get in an endless loop when attempting to claim non-saved object tasks
5 participants