This PR adds the following:
1. We now validate the interval passed to `timeout` when a task type definition is registered.
2. replaces usage of `Joi` with `schema-type`
When a task expires it continues to reside in the queue until `TaskPool.cancelExpiredTasks()` is called. We call this in `TaskPool.run()`, but `run` won't get called if there is no capacity, as we gate the poller on `TaskPool.availableWorkers()` and that means that if you have as many expired tasks as you have workers - your poller will continually restart but the queue will remain full and that Task Manager is then in capable of taking on any more work. This is what caused `[Task Poller Monitor]: Observable Monitor: Hung Observable...`
* Instances latency distribution chart
Create an instances row component that does the data fetching for the
instances table and the distribution chart. Use the same data for both the chart and the table.
Tooltips and selection are disabled on the chart.
* import fix
* rename ServiceOverviewInstancesRow to ServiceOverviewInstancesChartAndTable
* Updates based on feedback
* remove stuff
* hasdata
* chore(NA): create new x-pack cigroups and rebalancing them all
* chore(NA): better cigroups balancing
* chore(NA): push rollup tests back into ciGroup1
* chore(NA): move some functional ml tests from cigroup3 into cigroup13
* chore(NA): move some more tests into ciGroup13
* chore(NA): use a single top level describe at x-pack/test/functional/apps/ml
* chore(NA): move settings into ciGroup13
* temporary test for es snapshots env
* Revert "temporary test for es snapshots env"
This reverts commit 789ebe7b9c.
* docs(NA): add missing documentation on the function tests describe split
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* add custom runner and config for load testing
* add full maven command
* add jenkins script
* run tests against build
* run kibana with no-base-path flag
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* usgin esarchive to load e2e
* using esarchive to load e2e
* using esarchive to load e2e
* using esarchive to load e2e
* using esarchive to load e2e
* chaning archiver script to copy file to both e2e and api tests
* chaning archiver script to copy file to both e2e and api tests
* removing task folder
* running e2e through script
* using cy.clock to set now
* adding basic test
* adding cypress run script
* adding cypress run script
* fixing some stuff
* excluding new e2e dir
* adding new project for new e2e dir
* adding new project for new e2e dir
* unformatting file
* adding unit tests
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Temporarily addresses https://github.com/elastic/kibana/issues/88450
A follow PR will address full fix.
### Issue
Exceptions table search not functioning as expected.
### Diagnostic
The exception list SO properties are mapped as keywords, meaning ES does not tokenize them. Need to add a `text` mapping for fields we want to search on in order for search to work as expected. Expectations for exceptions table search being:
- I can search `Endpoint Security` and get results that match `Endpoint` or `Security`
- I can search `"Endpoint Security"` and it will conduct an exact match search
It's too late in the release cycle for mappings updates - a follow up PR will properly fix search.
### Without Search
<img width="1766" alt="Screen Shot 2021-01-19 at 7 52 01 PM" src="https://user-images.githubusercontent.com/10927944/105112279-aed64300-5a90-11eb-95fc-1922eb2055e9.png">
### Checklist
- [ ] [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
* Add AnalyticsUnavailable component
* Add AnalyticsHeader component
+ update AnalyticsLogic to store allTags prop passed by API
+ convertTagsToSelectOptions util helper
* Add AnalyticsLayout that all subroutes will utilize
- Handles shared concerns of:
- Loading state & unavailable state
- Flash messages & log retention callout
- Reusing the header component
- Fetching data
- Reloading data based on filter updates
* Add very basic subroute views that utilize AnalyticsLayout
* Update QueryDetail pages to set breadcrumbs
* Fix QueryDetail breadcrumbs to not 404 on the 'Query' crumb
Redirect to the /analytics overview since we don't actually have a /query_details overview
* [PR feedback] Enforce date range defaults on the client side
- instead of using coincidence to sync our client side default range & server default range
- tags remain ''/undefined as default
* [PR feedback] Add explicit query vs analytics view prop
- to help devs more quickly distinguish at a glance whether a view will fetch analytics data or query data
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Making kibanaFeatures an optional parameter and catching error on plugin start
* Gracefully handle 404 errors when no access to features endpoint
* Adding functional test
* Only render location status badge when there are actually locations to display.
* Add aria-label to describe location section.
* Update test data to reflect real-world data better. Refactor enzyme tests.
* Refactor component test.
* Fix test names.
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Addresses issue issue 87110
**Issue**
When prepackaged rules were created during the Endpoint Security enrollment flow, the endpoint exceptions list was failing to be created. As a result, when a user navigated to the `Endpoint Security` rule to add an exception it would display errors and not allow a user to add exceptions.
* Await promises to ensure promise rejection does not crash kibana
* Fix test
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* partial failure if unmapped timestamp override field or unmapped @timestamp field
* fixes unit tests
* fix threat match rules integration tests
* unskip integration test for partial failure when not all indices have timestamp override field
* replace ts-expect-error in test with a partial type
* use destructured param and != null for ternary
* fix typo in utils.test.ts
* remove unnecessary optional chaining
* replace logger.debug with logger.error and update test case for threat match integration test to search auditbeat-* instead of empty index causing it to search wrong indicies like .kibana, etc..
* adds unit test to write a success when all shard failure messages are no mapping found for a timestamp field, moves privilege check and timestamp field cap check into utility functions and updates code to be more functional
* need to write an error, not a partial failure, if the rule cannot read ANY of the indices provided
* use isEmpty for checking timestamp override field param and remove let from hasReadIndexPrivileges util function
* replace references to helpers/toPromise | toError to use common/fp_utils, remove unnecessary flow wrappers, no need for checking if timestampField is null since it is typed as string and we do the checking beforehand, add a const bool to clean up logic for getting timestampFieldOverride
* replace usage of flow with pipe to make arguments explicit
* set width
* cleanup
* add show scale toggle in map settings
* tslint
* remove unmapped css comment
* move scale for full screen mode so they do not collide
* change default and add unit test for scale_control
* simplify scale
* add tilda to label
* update jest expects
* eslint
* eslint
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Update older tests mocking useValues to setMockValues
* Update older logic tests to use newer LogicMounter helper
- NOTE: shared logic files are still using resetContext however, in order to not accidentally override/mock kea + since they should be testing their own mount helpers
* Merge/DRY kea.mock helpers into a single import
* Remove unnecessary kea.mock file imports
- the automock already happens when you import something from the kea.mock file
- in some cases in WS the mock just wasn't needed
* Newline linting
- Do I need a hobby? yes
- Is this my hobby? ...maybe
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
A user received a `407` response when using a `registryProxyUrl` format like `http://user:pass@host:port`
I believe the issue is we're not including the [`auth` property as described in this issue](https://github.com/TooTallNate/node-https-proxy-agent/issues/12#issuecomment-216098644).
Add tests to ensure it only adds `auth` if username & password are given.
### Checklist
Delete any items that are not applicable to this PR.
- [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
```
getProxyAgentOptions
auth property
present & correct if given username and password
✓ proxy url is http (1 ms)
✓ proxy url is https
missing if not given username and password
✓ proxy url is http
✓ proxy url is https
```