diff --git a/benchmarks/src/main/java/org/elasticsearch/benchmark/search/aggregations/AggConstructionContentionBenchmark.java b/benchmarks/src/main/java/org/elasticsearch/benchmark/search/aggregations/AggConstructionContentionBenchmark.java index 1dafdbb9be2b9..5b139f800cb39 100644 --- a/benchmarks/src/main/java/org/elasticsearch/benchmark/search/aggregations/AggConstructionContentionBenchmark.java +++ b/benchmarks/src/main/java/org/elasticsearch/benchmark/search/aggregations/AggConstructionContentionBenchmark.java @@ -224,11 +224,6 @@ public Set getMatchingFieldNames(String pattern) { throw new UnsupportedOperationException(); } - @Override - public boolean isFieldMapped(String field) { - return field.startsWith("int"); - } - @Override public FactoryType compile(Script script, ScriptContext context) { throw new UnsupportedOperationException(); diff --git a/branches.json b/branches.json index c63328fb3ee22..c76417a198c57 100644 --- a/branches.json +++ b/branches.json @@ -7,9 +7,6 @@ { "branch": "8.11" }, - { - "branch": "8.10" - }, { "branch": "7.17" } diff --git a/client/rest-high-level/src/main/java/org/elasticsearch/client/analytics/StringStatsAggregationBuilder.java b/client/rest-high-level/src/main/java/org/elasticsearch/client/analytics/StringStatsAggregationBuilder.java index 13a72ee64c03f..f28aabe41f4a9 100644 --- a/client/rest-high-level/src/main/java/org/elasticsearch/client/analytics/StringStatsAggregationBuilder.java +++ b/client/rest-high-level/src/main/java/org/elasticsearch/client/analytics/StringStatsAggregationBuilder.java @@ -22,7 +22,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; import org.elasticsearch.search.aggregations.support.ValuesSourceAggregatorFactory; import org.elasticsearch.search.aggregations.support.ValuesSourceConfig; -import org.elasticsearch.search.aggregations.support.ValuesSourceRegistry; import org.elasticsearch.search.aggregations.support.ValuesSourceType; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.xcontent.ParseField; @@ -71,12 +70,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - // This would be called from the same thing that calls innerBuild, which also throws. So it's "safe" to throw here. - throw new UnsupportedOperationException(); - } - @Override public XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { return builder.field(StringStatsAggregationBuilder.SHOW_DISTRIBUTION_FIELD.getPreferredName(), showDistribution); diff --git a/docs/changelog/101333.yaml b/docs/changelog/101333.yaml new file mode 100644 index 0000000000000..4452687b995d3 --- /dev/null +++ b/docs/changelog/101333.yaml @@ -0,0 +1,29 @@ +pr: 101333 +summary: Fixed JWT principal from claims +area: Authorization +type: breaking +issues: [] +breaking: + title: Fixed JWT principal from claims + area: Authorization + details: "This changes the format of a JWT's principal before the JWT is actually\ + \ validated by any JWT realm. The JWT's principal is a convenient way to refer\ + \ to a JWT that has not yet been verified by a JWT realm. The JWT's principal\ + \ is printed in the audit and regular logs (notably for auditing authn failures)\ + \ as well as the smart realm chain reordering optimization. The JWT principal\ + \ is NOT required to be identical to the JWT-authenticated user's principal, but\ + \ in general, they should be similar. Previously, the JWT's principal was built\ + \ by individual realms in the same way the realms built the authenticated user's\ + \ principal. This had the advantage that, in simpler JWT realms configurations\ + \ (e.g. a single JWT realm in the chain), the JWT principal and the authenticated\ + \ user's principal are very similar. However the drawback is that, in general,\ + \ the JWT principal and the user principal can be very different (i.e. in the\ + \ case where one JWT realm builds the JWT principal and a different one builds\ + \ the user principal). Another downside is that the (unauthenticated) JWT principal\ + \ depended on realm ordering, which makes identifying the JWT from its principal\ + \ dependent on the ES authn realm configuration. This PR implements a consistent\ + \ fixed logic to build the JWT principal, which only depends on the JWT's claims\ + \ and no ES configuration." + impact: "Users will observe changed format and values for the `user.name` attribute\ + \ of `authentication_failed` audit log events, in the JWT (failed) authn case." + notable: false diff --git a/docs/changelog/101577.yaml b/docs/changelog/101577.yaml new file mode 100644 index 0000000000000..e485fd3811cb6 --- /dev/null +++ b/docs/changelog/101577.yaml @@ -0,0 +1,5 @@ +pr: 101577 +summary: Add metrics to the shared blob cache +area: Search +type: enhancement +issues: [] diff --git a/docs/changelog/101682.yaml b/docs/changelog/101682.yaml new file mode 100644 index 0000000000000..e512006057581 --- /dev/null +++ b/docs/changelog/101682.yaml @@ -0,0 +1,5 @@ +pr: 101682 +summary: "Add manage_enrich cluster privilege to kibana_system role" +area: Authentication +type: enhancement +issues: [] diff --git a/docs/changelog/101753.yaml b/docs/changelog/101753.yaml new file mode 100644 index 0000000000000..7b64075998430 --- /dev/null +++ b/docs/changelog/101753.yaml @@ -0,0 +1,5 @@ +pr: 101753 +summary: Expose roles by default in cat allocation API +area: CAT APIs +type: enhancement +issues: [] diff --git a/docs/changelog/101868.yaml b/docs/changelog/101868.yaml new file mode 100644 index 0000000000000..d7cf650d25ed2 --- /dev/null +++ b/docs/changelog/101868.yaml @@ -0,0 +1,5 @@ +pr: 101868 +summary: Read scores from downloaded vocabulary for XLM Roberta tokenizers +area: Machine Learning +type: enhancement +issues: [] diff --git a/docs/changelog/101892.yaml b/docs/changelog/101892.yaml new file mode 100644 index 0000000000000..175871de83d1a --- /dev/null +++ b/docs/changelog/101892.yaml @@ -0,0 +1,6 @@ +pr: 101892 +summary: Dry up `AsyncTaskIndexService` memory management and fix inefficient circuit + breaker use +area: Search +type: bug +issues: [] diff --git a/docs/changelog/101907.yaml b/docs/changelog/101907.yaml new file mode 100644 index 0000000000000..022c061555be1 --- /dev/null +++ b/docs/changelog/101907.yaml @@ -0,0 +1,6 @@ +pr: 101907 +summary: Fail listener on exception in `TcpTransport#openConnection` +area: Network +type: bug +issues: + - 100510 diff --git a/docs/reference/aggregations/pipeline/movfn-aggregation.asciidoc b/docs/reference/aggregations/pipeline/movfn-aggregation.asciidoc index b5f1315531916..44a00b9f5b99e 100644 --- a/docs/reference/aggregations/pipeline/movfn-aggregation.asciidoc +++ b/docs/reference/aggregations/pipeline/movfn-aggregation.asciidoc @@ -68,7 +68,7 @@ POST /_search -------------------------------------------------- // TEST[setup:sales] -<1> A `date_histogram` named "my_date_histo" is constructed on the "timestamp" field, with one-day intervals +<1> A `date_histogram` named "my_date_histo" is constructed on the "timestamp" field, with one-month intervals <2> A `sum` metric is used to calculate the sum of a field. This could be any numeric metric (sum, min, max, etc) <3> Finally, we specify a `moving_fn` aggregation which uses "the_sum" metric as its input. diff --git a/docs/reference/cat/allocation.asciidoc b/docs/reference/cat/allocation.asciidoc index 7153e99e503a8..f9574ed933398 100644 --- a/docs/reference/cat/allocation.asciidoc +++ b/docs/reference/cat/allocation.asciidoc @@ -6,7 +6,7 @@ [IMPORTANT] ==== -cat APIs are only intended for human consumption using the command line or {kib} +cat APIs are only intended for human consumption using the command line or {kib} console. They are _not_ intended for use by applications. ==== @@ -113,10 +113,10 @@ The API returns the following response: [source,txt] -------------------------------------------------- -shards disk.indices disk.used disk.avail disk.total disk.percent host ip node - 1 260b 47.3gb 43.4gb 100.7gb 46 127.0.0.1 127.0.0.1 CSUXak2 +shards disk.indices disk.used disk.avail disk.total disk.percent host ip node node.role + 1 260b 47.3gb 43.4gb 100.7gb 46 127.0.0.1 127.0.0.1 CSUXak2 himrst -------------------------------------------------- // TESTRESPONSE[s/\d+(\.\d+)?[tgmk]?b/\\d+(\\.\\d+)?[tgmk]?b/ s/46/\\d+/] -// TESTRESPONSE[s/CSUXak2/.+/ non_json] +// TESTRESPONSE[s/CSUXak2 himrst/.+/ non_json] This response shows a single shard is allocated to the one node available. diff --git a/docs/reference/esql/esql-limitations.asciidoc b/docs/reference/esql/esql-limitations.asciidoc index 85f107feeb8fd..f2b5c13aaa6f5 100644 --- a/docs/reference/esql/esql-limitations.asciidoc +++ b/docs/reference/esql/esql-limitations.asciidoc @@ -100,6 +100,12 @@ you query, and query `keyword` sub-fields instead of `text` fields. {esql} does not support querying time series data streams (TSDS). +[discrete] +[[esql-limitations-ccs]] +=== {ccs-cap} is not supported + +{esql} does not support {ccs}. + [discrete] [[esql-limitations-date-math]] === Date math limitations @@ -130,6 +136,15 @@ now() - 2023-10-26 include::esql-enrich-data.asciidoc[tag=limitations] +[discrete] +[[esql-limitations-mv]] +=== Multivalue limitations + +{esql} <>, but functions +return `null` when applied to a multivalued field, unless documented otherwise. +Work around this limitation by converting the field to single value with one of +the <>. + [discrete] [[esql-limitations-kibana]] === Kibana limitations diff --git a/docs/reference/esql/esql-using.asciidoc b/docs/reference/esql/esql-using.asciidoc index dbab521ead4d1..235c7defe559b 100644 --- a/docs/reference/esql/esql-using.asciidoc +++ b/docs/reference/esql/esql-using.asciidoc @@ -9,8 +9,8 @@ Using {esql} in {kib} to query and aggregate your data, create visualizations, and set up alerts. <>:: -Using {esql} in {elastic-sec} to investigate events in Timeline and create -detection rules. +Using {esql} in {elastic-sec} to investigate events in Timeline, create +detection rules, and build {esql} queries using Elastic AI Assistant. <>:: Using the <> to list and cancel {esql} queries. @@ -18,4 +18,4 @@ Using the <> to list and cancel {esql} queries. include::esql-rest.asciidoc[] include::esql-kibana.asciidoc[] include::esql-security-solution.asciidoc[] -include::task-management.asciidoc[] \ No newline at end of file +include::task-management.asciidoc[] diff --git a/docs/reference/esql/functions/case.asciidoc b/docs/reference/esql/functions/case.asciidoc index 73cefba12dfa5..84ff083147cb9 100644 --- a/docs/reference/esql/functions/case.asciidoc +++ b/docs/reference/esql/functions/case.asciidoc @@ -27,7 +27,8 @@ Accepts pairs of conditions and values. The function returns the value that belongs to the first condition that evaluates to `true`. If the number of arguments is odd, the last argument is the default value which -is returned when no condition matches. +is returned when no condition matches. If the number of arguments is even, and +no condition matches, the function returns `null`. *Example* diff --git a/docs/reference/esql/functions/starts_with.asciidoc b/docs/reference/esql/functions/starts_with.asciidoc index 38cee79ea63f8..f98a76ef68206 100644 --- a/docs/reference/esql/functions/starts_with.asciidoc +++ b/docs/reference/esql/functions/starts_with.asciidoc @@ -2,7 +2,7 @@ [[esql-starts_with]] === `STARTS_WITH` [.text-center] -image::esql/functions/signature/ends_with.svg[Embedded,opts=inline] +image::esql/functions/signature/starts_with.svg[Embedded,opts=inline] Returns a boolean that indicates whether a keyword string starts with another string: diff --git a/docs/reference/migration/migrate_8_11.asciidoc b/docs/reference/migration/migrate_8_11.asciidoc index a353d1a6a87fa..098456e1aca42 100644 --- a/docs/reference/migration/migrate_8_11.asciidoc +++ b/docs/reference/migration/migrate_8_11.asciidoc @@ -9,12 +9,61 @@ your application to {es} 8.11. See also <> and <>. -coming::[8.11.0] - [discrete] [[breaking-changes-8.11]] === Breaking changes -There are no breaking changes in {es} 8.11. +The following changes in {es} 8.11 might affect your applications +and prevent them from operating normally. +Before upgrading to 8.11, review these changes and take the described steps +to mitigate the impact. + + +There are no notable breaking changes in {es} 8.11. +But there are some less critical breaking changes. + +[discrete] +[[breaking_811_rest_api_changes]] +==== REST API changes + +[[remove_transport_versions_from_cluster_state_api]] +.Remove `transport_versions` from cluster state API +[%collapsible] +==== +*Details* + +The `transport_versions` subobject of the response to `GET _cluster/state` has been replaced by the `nodes_versions` subobject. + +*Impact* + +If needed, retrieve the per-node transport versions from the `nodes_versions` subobject. +==== + + +[discrete] +[[deprecated-8.11]] +=== Deprecations + +The following functionality has been deprecated in {es} 8.11 +and will be removed in a future version. +While this won't have an immediate impact on your applications, +we strongly encourage you to take the described steps to update your code +after upgrading to 8.11. + +To find out if you are using any deprecated functionality, +enable <>. + +[discrete] +[[deprecations_811_rollup]] +==== Rollup deprecations + +[[rollup_functionality_deprecated]] +.Rollup functionality is now deprecated +[%collapsible] +==== +*Details* + +<> has been deprecated and will be removed in a future release. Previously, rollups were available in technical preview. + +*Impact* + +Use <> to reduce storage costs for time series data by storing it at reduced granularity. +==== diff --git a/docs/reference/ml/trained-models/apis/put-trained-models.asciidoc b/docs/reference/ml/trained-models/apis/put-trained-models.asciidoc index 7da46e13a8ce4..5696a032b165c 100644 --- a/docs/reference/ml/trained-models/apis/put-trained-models.asciidoc +++ b/docs/reference/ml/trained-models/apis/put-trained-models.asciidoc @@ -443,121 +443,8 @@ include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] + -.Properties of tokenization -[%collapsible%open] -====== -`bert`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert] -+ -.Properties of bert -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-with-special-tokens] -======= -`roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta] -+ -.Properties of roberta -[%collapsible%open] -======= -`add_prefix_space`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-add-prefix-space] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`mpnet`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet] -+ -.Properties of mpnet -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet-with-special-tokens] -======= -`xlm_roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-xlm-roberta] -+ -.Properties of xlm_roberta -[%collapsible%open] -======= -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`bert_ja`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja] -+ -.Properties of bert_ja -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja-with-special-tokens] -======= -====== +Refer to <> to review the properties of the +`tokenization` object. ===== `ner`::: @@ -582,121 +469,8 @@ include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] + -.Properties of tokenization -[%collapsible%open] -====== -`bert`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert] -+ -.Properties of bert -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-with-special-tokens] -======= -`roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta] -+ -.Properties of roberta -[%collapsible%open] -======= -`add_prefix_space`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-add-prefix-space] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`mpnet`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet] -+ -.Properties of mpnet -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet-with-special-tokens] -======= -`xlm_roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-xlm-roberta] -+ -.Properties of xlm_roberta -[%collapsible%open] -======= -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`bert_ja`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja] -+ -.Properties of bert_ja -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja-with-special-tokens] -======= -====== +Refer to <> to review the +properties of the `tokenization` object. ===== `pass_through`::: @@ -714,738 +488,121 @@ include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] + -.Properties of tokenization -[%collapsible%open] -====== -`bert`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert] -+ -.Properties of bert -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] +Refer to <> to review the properties of the +`tokenization` object. +===== -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-with-special-tokens] -======= -`roberta`:::: +`question_answering`::: (Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-question-answering] + -.Properties of roberta +.Properties of question_answering inference [%collapsible%open] -======= -`add_prefix_space`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-add-prefix-space] - -`max_sequence_length`:::: +===== +`max_answer_length`:::: (Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] +The maximum amount of words in the answer. Defaults to `15`. -`truncate`:::: +`results_field`:::: (Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`mpnet`:::: +`tokenization`:::: (Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] + -.Properties of mpnet -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet-with-special-tokens] -======= -`xlm_roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-xlm-roberta] +Recommended to set `max_sentence_length` to `386` with `128` of `span` and set +`truncate` to `none`. + -.Properties of xlm_roberta -[%collapsible%open] -======= -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] +Refer to <> to review the properties of the +`tokenization` object. +===== -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`bert_ja`:::: +`regression`::: (Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja] -+ -.Properties of bert_ja -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja-with-special-tokens] -======= -====== -===== - -`question_answering`::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-question-answering] -+ -.Properties of question_answering inference -[%collapsible%open] -===== -`max_answer_length`:::: -(Optional, integer) -The maximum amount of words in the answer. Defaults to `15`. - -`results_field`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] - -`tokenization`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] -+ -Recommended to set `max_sentence_length` to `386` with `128` of `span` and set -`truncate` to `none`. -+ -.Properties of tokenization -[%collapsible%open] -====== -`bert`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert] -+ -.Properties of bert -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-with-special-tokens] -======= -`roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta] -+ -.Properties of roberta -[%collapsible%open] -======= -`add_prefix_space`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-add-prefix-space] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`mpnet`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet] -+ -.Properties of mpnet -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet-with-special-tokens] -======= -`xlm_roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-xlm-roberta] -+ -.Properties of xlm_roberta -[%collapsible%open] -======= -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`bert_ja`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja] -+ -.Properties of bert_ja -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja-with-special-tokens] -======= -====== -===== - -`regression`::: -(Optional, object) -Regression configuration for inference. +Regression configuration for inference. + .Properties of regression inference -[%collapsible%open] -===== -`num_top_feature_importance_values`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-regression-num-top-feature-importance-values] - -`results_field`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] -===== - -`text_classification`::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-classification] -+ -.Properties of text_classification inference -[%collapsible%open] -===== -`classification_labels`:::: -(Optional, string) An array of classification labels. - -`num_top_classes`:::: -(Optional, integer) -Specifies the number of top class predictions to return. Defaults to all classes (-1). - -`results_field`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] - -`tokenization`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] -+ -.Properties of tokenization -[%collapsible%open] -====== -`bert`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert] -+ -.Properties of bert -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-with-special-tokens] -======= -`roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta] -+ -.Properties of roberta -[%collapsible%open] -======= -`add_prefix_space`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-add-prefix-space] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`mpnet`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet] -+ -.Properties of mpnet -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet-with-special-tokens] -======= -`xlm_roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-xlm-roberta] -+ -.Properties of xlm_roberta -[%collapsible%open] -======= -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`bert_ja`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja] -+ -.Properties of bert_ja -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja-with-special-tokens] -======= -====== -===== -`text_embedding`::: -(Object, optional) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-embedding] -+ -.Properties of text_embedding inference -[%collapsible%open] -===== -`embedding_size`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-embedding-size] - -`results_field`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] - -`tokenization`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] -+ -.Properties of tokenization -[%collapsible%open] -====== -`bert`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert] -+ -.Properties of bert -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-with-special-tokens] -======= -`roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta] -+ -.Properties of roberta -[%collapsible%open] -======= -`add_prefix_space`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-add-prefix-space] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`mpnet`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet] -+ -.Properties of mpnet -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet-with-special-tokens] -======= -`xlm_roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-xlm-roberta] -+ -.Properties of xlm_roberta -[%collapsible%open] -======= -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`bert_ja`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja] -+ -.Properties of bert_ja -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja-with-special-tokens] -======= -====== -===== -`text_similarity`:::: -(Object, optional) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-similarity] -+ -.Properties of text_similarity inference -[%collapsible%open] -===== -`span_score_combination_function`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-similarity-span-score-func] - -`tokenization`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] -+ -.Properties of tokenization -[%collapsible%open] -====== -`bert`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert] -+ -.Properties of bert -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-with-special-tokens] -======= -`roberta`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta] -+ -.Properties of roberta -[%collapsible%open] -======= -`add_prefix_space`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-add-prefix-space] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] - -`truncate`:::: -(Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] - -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`mpnet`:::: -(Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet] -+ -.Properties of mpnet -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] - -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] - -`span`:::: +[%collapsible%open] +===== +`num_top_feature_importance_values`:::: (Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-regression-num-top-feature-importance-values] -`truncate`:::: +`results_field`:::: (Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] +===== -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet-with-special-tokens] -======= -`xlm_roberta`:::: +`text_classification`::: (Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-xlm-roberta] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-classification] + -.Properties of xlm_roberta +.Properties of text_classification inference [%collapsible%open] -======= -`max_sequence_length`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] +===== +`classification_labels`:::: +(Optional, string) An array of classification labels. -`span`:::: +`num_top_classes`:::: (Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] +Specifies the number of top class predictions to return. Defaults to all classes +(-1). -`truncate`:::: +`results_field`:::: (Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`bert_ja`:::: +`tokenization`:::: (Optional, object) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] + -.Properties of bert_ja -[%collapsible%open] -======= -`do_lower_case`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] +Refer to <> to review the properties of the +`tokenization` object. +===== -`max_sequence_length`:::: +`text_embedding`::: +(Object, optional) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-embedding] ++ +.Properties of text_embedding inference +[%collapsible%open] +===== +`embedding_size`:::: (Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-embedding-size] -`span`:::: -(Optional, integer) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] +`results_field`:::: +(Optional, string) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] + +`tokenization`:::: +(Optional, object) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] ++ +Refer to <> to review the properties of the +`tokenization` object. +===== -`truncate`:::: +`text_similarity`:::: +(Object, optional) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-similarity] ++ +.Properties of text_similarity inference +[%collapsible%open] +===== +`span_score_combination_function`:::: (Optional, string) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-text-similarity-span-score-func] -`with_special_tokens`:::: -(Optional, boolean) -include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja-with-special-tokens] -======= -====== +`tokenization`:::: +(Optional, object) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] ++ +Refer to <> to review the properties of the +`tokenization` object. ===== + `zero_shot_classification`::: (Object, optional) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-zero-shot-classification] @@ -1477,190 +634,215 @@ include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field] (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization] + -.Properties of tokenization +Refer to <> to review the properties of the +`tokenization` object. +===== +==== +//End of inference_config + +//Begin input +`input`:: +(Required, object) +The input field names for the model definition. ++ +.Properties of `input` [%collapsible%open] -====== -`bert`:::: +==== +`field_names`::: +(Required, string) +An array of input field names for the model. +==== +//End input + +// Begin location +`location`:: +(Optional, object) +The model definition location. If the `definition` or `compressed_definition` +are not specified, the `location` is required. ++ +.Properties of `location` +[%collapsible%open] +==== +`index`::: +(Required, object) +Indicates that the model definition is stored in an index. This object must be +empty as the index for storing model definitions is configured automatically. +==== +// End location + +`metadata`:: +(Optional, object) +An object map that contains metadata about the model. + +`model_size_bytes`:: +(Optional, integer) +The estimated memory usage in bytes to keep the trained model in memory. This +property is supported only if `defer_definition_decompression` is `true` or the +model definition is not supplied. + +`model_type`:: +(Optional, string) +The created model type. By default the model type is `tree_ensemble`. +Appropriate types are: ++ +-- +* `tree_ensemble`: The model definition is an ensemble model of decision trees. +* `lang_ident`: A special type reserved for language identification models. +* `pytorch`: The stored definition is a PyTorch (specifically a TorchScript) model. Currently only +NLP models are supported. For more information, refer to {ml-docs}/ml-nlp.html[{nlp-cap}]. +-- +`platform_architecture`:: +(Optional, string) +If the model only works on one platform, because it is heavily +optimized for a particular processor architecture and OS combination, +then this field specifies which. The format of the string must match +the platform identifiers used by Elasticsearch, so one of, `linux-x86_64`, +`linux-aarch64`, `darwin-x86_64`, `darwin-aarch64`, or `windows-x86_64`. +For portable models (those that work independent of processor architecture or +OS features), leave this field unset. + + +`tags`:: +(Optional, string) +An array of tags to organize the model. + + +[[tokenization-properties]] +=== Properties of `tokenizaton` + +The `tokenization` object has the following properties. + +`bert`:: (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert] + .Properties of bert [%collapsible%open] -======= -`do_lower_case`:::: +==== +`do_lower_case`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] -`max_sequence_length`:::: +`max_sequence_length`::: (Optional, integer) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] -`truncate`:::: +`span`::: +(Optional, integer) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] + +`truncate`::: (Optional, string) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] -`with_special_tokens`:::: +`with_special_tokens`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-with-special-tokens] -======= -`roberta`:::: +==== +`roberta`:: (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta] + .Properties of roberta [%collapsible%open] -======= -`add_prefix_space`:::: +==== +`add_prefix_space`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-add-prefix-space] -`max_sequence_length`:::: +`max_sequence_length`::: (Optional, integer) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] -`truncate`:::: +`span`::: +(Optional, integer) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] + +`truncate`::: (Optional, string) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] -`with_special_tokens`:::: +`with_special_tokens`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`mpnet`:::: +==== +`mpnet`:: (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet] + .Properties of mpnet [%collapsible%open] -======= -`do_lower_case`:::: +==== +`do_lower_case`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] -`max_sequence_length`:::: +`max_sequence_length`::: (Optional, integer) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] -`truncate`:::: +`span`::: +(Optional, integer) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] + +`truncate`::: (Optional, string) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] -`with_special_tokens`:::: +`with_special_tokens`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-mpnet-with-special-tokens] -======= -`xlm_roberta`:::: +==== +`xlm_roberta`:: (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-xlm-roberta] + .Properties of xlm_roberta [%collapsible%open] -======= -`max_sequence_length`:::: +==== +`max_sequence_length`::: (Optional, integer) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] -`truncate`:::: +`span`::: +(Optional, integer) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] + +`truncate`::: (Optional, string) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] -`with_special_tokens`:::: +`with_special_tokens`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-roberta-with-special-tokens] -======= -`bert_ja`:::: +==== +`bert_ja`:: (Optional, object) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja] + .Properties of bert_ja [%collapsible%open] -======= -`do_lower_case`:::: +==== +`do_lower_case`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-do-lower-case] -`max_sequence_length`:::: +`max_sequence_length`::: (Optional, integer) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-max-sequence-length] -`truncate`:::: +`span`::: +(Optional, integer) +include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-span] + +`truncate`::: (Optional, string) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-truncate] -`with_special_tokens`:::: +`with_special_tokens`::: (Optional, boolean) include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-nlp-tokenization-bert-ja-with-special-tokens] -======= -====== -===== -==== -//End of inference_config - -//Begin input -`input`:: -(Required, object) -The input field names for the model definition. -+ -.Properties of `input` -[%collapsible%open] -==== -`field_names`::: -(Required, string) -An array of input field names for the model. -==== -//End input - -// Begin location -`location`:: -(Optional, object) -The model definition location. If the `definition` or `compressed_definition` -are not specified, the `location` is required. -+ -.Properties of `location` -[%collapsible%open] -==== -`index`::: -(Required, object) -Indicates that the model definition is stored in an index. This object must be -empty as the index for storing model definitions is configured automatically. ==== -// End location - -`metadata`:: -(Optional, object) -An object map that contains metadata about the model. - -`model_size_bytes`:: -(Optional, integer) -The estimated memory usage in bytes to keep the trained model in memory. This -property is supported only if `defer_definition_decompression` is `true` or the -model definition is not supplied. - -`model_type`:: -(Optional, string) -The created model type. By default the model type is `tree_ensemble`. -Appropriate types are: -+ --- -* `tree_ensemble`: The model definition is an ensemble model of decision trees. -* `lang_ident`: A special type reserved for language identification models. -* `pytorch`: The stored definition is a PyTorch (specifically a TorchScript) model. Currently only -NLP models are supported. For more information, refer to {ml-docs}/ml-nlp.html[{nlp-cap}]. --- -`platform_architecture`:: -(Optional, string) -If the model only works on one platform, because it is heavily -optimized for a particular processor architecture and OS combination, -then this field specifies which. The format of the string must match -the platform identifiers used by Elasticsearch, so one of, `linux-x86_64`, -`linux-aarch64`, `darwin-x86_64`, `darwin-aarch64`, or `windows-x86_64`. -For portable models (those that work independent of processor architecture or -OS features), leave this field unset. - - -`tags`:: -(Optional, string) -An array of tags to organize the model. [[ml-put-trained-models-example]] diff --git a/docs/reference/monitoring/how-monitoring-works.asciidoc b/docs/reference/monitoring/how-monitoring-works.asciidoc index 80cd560bd8f09..13fa006bdbbe0 100644 --- a/docs/reference/monitoring/how-monitoring-works.asciidoc +++ b/docs/reference/monitoring/how-monitoring-works.asciidoc @@ -34,7 +34,6 @@ collection methods, you should migrate to using {agent} or {metricbeat}. * Monitoring {beats}: ** {auditbeat-ref}/monitoring.html[{auditbeat}] ** {filebeat-ref}/monitoring.html[{filebeat}] -** {functionbeat-ref}/monitoring.html[{functionbeat}] ** {heartbeat-ref}/monitoring.html[{heartbeat}] ** {metricbeat-ref}/monitoring.html[{metricbeat}] ** {packetbeat-ref}/monitoring.html[{packetbeat}] diff --git a/docs/reference/release-notes/8.11.0.asciidoc b/docs/reference/release-notes/8.11.0.asciidoc index a5c8c8c73128e..16ff5edd6d91a 100644 --- a/docs/reference/release-notes/8.11.0.asciidoc +++ b/docs/reference/release-notes/8.11.0.asciidoc @@ -1,8 +1,337 @@ [[release-notes-8.11.0]] == {es} version 8.11.0 -coming[8.11.0] - Also see <>. +[[breaking-8.11.0]] +[float] +=== Breaking changes + +Infra/Core:: +* Remove `transport_versions` from cluster state API {es-pull}99223[#99223] + +[[bug-8.11.0]] +[float] +=== Bug fixes + +Aggregations:: +* Adjust `DateHistogram's` bucket accounting to be iteratively {es-pull}101012[#101012] +* Allow parsing on non-string routing fields {es-pull}97729[#97729] +* Support runtime fields in synthetic source {es-pull}99796[#99796] (issue: {es-issue}98287[#98287]) + +Allocation:: +* Consider node shutdown in `DataTierAllocationDecider` {es-pull}98824[#98824] (issue: {es-issue}97207[#97207]) + +Application:: +* Align look-back with client-side cache {es-pull}101264[#101264] +* Increase K/V look-back time interval {es-pull}101205[#101205] +* Provide stable resampling {es-pull}101255[#101255] +* [Profiling] Tighten resource creation check {es-pull}99873[#99873] + +Authorization:: +* Allow `enrich_user` to read/view enrich indices {es-pull}100707[#100707] +* Grant editor and viewer access to profiling {es-pull}100594[#100594] + +CCR:: +* CCR: Use local cluster state request {es-pull}100323[#100323] + +CRUD:: +* Change `GetFromTranslog` to indices action {es-pull}99300[#99300] +* Wait for cluster to recover before resolving index template {es-pull}99797[#99797] + +Cluster Coordination:: +* Reset `GatewayService` flags before reroute {es-pull}98653[#98653] (issue: {es-issue}98606[#98606]) + +Data streams:: +* DSL waits for the tsdb time boundaries to lapse {es-pull}100470[#100470] (issue: {es-issue}99696[#99696]) +* Propagate cancellation in `DataTiersUsageTransportAction` {es-pull}100253[#100253] +* [DSL] skip deleting indices that have in-progress downsampling operations {es-pull}101495[#101495] + +Downsampling:: +* Make downsample target index replicas configurable {es-pull}99712[#99712] + +ES|QL:: +* "params" correctly parses the values including an optional "type" {es-pull}99310[#99310] (issue: {es-issue}99294[#99294]) +* Account for an exception being thrown when building a `BytesRefArrayBlock` {es-pull}99726[#99726] (issue: {es-issue}99472[#99472]) +* Add arithmetic operators {es-pull}98628[#98628] +* Add identity check in Block equality {es-pull}100377[#100377] (issue: {es-issue}100374[#100374]) +* Adds Enrich implicit `match_fields` to `field_caps` call {es-pull}101456[#101456] (issue: {es-issue}101328[#101328]) +* Better management of not stored TEXT fiels with synthetic source {es-pull}99695[#99695] +* Continue resolving attributes for Eval {es-pull}99601[#99601] (issue: {es-issue}99576[#99576]) +* Create a Vector when needed for IN {es-pull}99382[#99382] (issue: {es-issue}99347[#99347]) +* ESQL: Fix unreleased block in topn {es-pull}101648[#101648] (issue: {es-issue}101588[#101588]) +* ESQL: check type before casting {es-pull}101492[#101492] (issue: {es-issue}101489[#101489]) +* Fix NPE when aggregating literals {es-pull}99827[#99827] +* Fix escaping of backslash in LIKE operator {es-pull}101120[#101120] (issue: {es-issue}101106[#101106]) +* Fix eval of functions on foldable literals {es-pull}101438[#101438] (issue: {es-issue}101425[#101425]) +* Fix non-null value being returned for unsupported data types in `ValueSources` {es-pull}100656[#100656] (issue: {es-issue}100048[#100048]) +* Graceful handling of non-bool condition in the filter {es-pull}100645[#100645] (issues: {es-issue}100049[#100049], {es-issue}100409[#100409]) +* Handle queries with non-existing enrich policies and no field {es-pull}100647[#100647] (issue: {es-issue}100593[#100593]) +* Implement serialization of `InvalidMappedField` {es-pull}98972[#98972] (issue: {es-issue}98851[#98851]) +* Improve verifier error for incorrect agg declaration {es-pull}100650[#100650] (issue: {es-issue}100641[#100641]) +* Limit how many bytes `concat()` can process {es-pull}100360[#100360] +* Make DISSECT parameter `append_separator` case insensitive {es-pull}101358[#101358] (issue: {es-issue}101138[#101138]) +* Page shouldn't close a block twice {es-pull}100370[#100370] (issues: {es-issue}100356[#100356], {es-issue}100365[#100365]) +* Preserve intermediate aggregation output in local relation {es-pull}100866[#100866] (issue: {es-issue}100807[#100807]) +* Properly handle multi-values in fold() and date math {es-pull}100766[#100766] (issue: {es-issue}100497[#100497]) +* Remove aliasing inside Eval {es-pull}100238[#100238] (issue: {es-issue}100174[#100174]) +* Resilience to non-indexed fields {es-pull}99588[#99588] (issue: {es-issue}99506[#99506]) +* Skip synthetic attributes when planning the physical fragment {es-pull}99188[#99188] (issue: {es-issue}99170[#99170]) +* Support date and time intervals as input params {es-pull}101001[#101001] (issue: {es-issue}99570[#99570]) +* Support queries that don't return underlying fields {es-pull}98759[#98759] (issue: {es-issue}98404[#98404]) +* Use exact attributes for data source extraction {es-pull}99874[#99874] (issue: {es-issue}99183[#99183]) +* `mv_expand` pushes down limit and project and keep the limit after it untouched {es-pull}100782[#100782] (issues: {es-issue}99971[#99971], {es-issue}100774[#100774]) +* support metric tsdb fields while querying index patterns {es-pull}100351[#100351] (issue: {es-issue}100144[#100144]) + +Geo:: +* Use `NamedWritable` to enable `GeoBoundingBox` serialisation {es-pull}99163[#99163] (issue: {es-issue}99089[#99089]) + +Health:: +* Fix NPE in `StableMasterHealthIndicatorService` {es-pull}98635[#98635] +* Health report infrastructure doesn't trip the circuit breakers {es-pull}101629[#101629] +* Propagate cancellation in `GetHealthAction` {es-pull}100273[#100273] + +Highlighting:: +* Correctly handle `ScriptScoreQuery` in plain highlighter {es-pull}99804[#99804] (issue: {es-issue}99700[#99700]) +* Disable `weight_matches` when kNN query is present {es-pull}101713[#101713] + +ILM+SLM:: +* Compute SLM retention from `RepositoryData` {es-pull}100092[#100092] (issue: {es-issue}99953[#99953]) +* `WaitForSnapshotStep` verifies if the index belongs to the latest snapshot of that SLM policy {es-pull}100911[#100911] + +Infra/Core:: +* Add `java.net.NetPermission` to APM module's permissions {es-pull}99474[#99474] +* Don't update system index mappings in mixed clusters {es-pull}101778[#101778] (issues: {es-issue}101331[#101331], {es-issue}99778[#99778]) +* Revert "Kibana system index does not allow user templates to affect it" {es-pull}98888[#98888] +* Specify correct current `IndexVersion` after 8.10 release {es-pull}98574[#98574] (issue: {es-issue}98555[#98555]) +* Tracing: Use `doPriv` when working with spans, use `SpanId` {es-pull}100232[#100232] + +Infra/Scripting:: +* Improve painless error wrapping {es-pull}100872[#100872] + +Ingest Node:: +* Improving tika handling {es-pull}101486[#101486] +* Update enrich execution to only set index false on fields that support it {es-pull}98038[#98038] (issue: {es-issue}98019[#98019]) + +Machine Learning:: +* Avoid risk of OOM in datafeeds when memory is constrained {es-pull}98915[#98915] (issue: {es-issue}89769[#89769]) +* Fix for inference requests being sent to every node with a model allocation. If there are more nodes than items in the original request then empty requests were sent. {es-pull}100388[#100388] (issue: {es-issue}100180[#100180]) +* Preserve order of inference results when calling the _infer API with multiple inputs on a model deployment with more than one allocation the output results order was not guaranteed to match the input order. The fix ensures the output order matches the input order. {es-pull}100143[#100143] +* Remove noisy 'Could not find trained model' message {es-pull}100760[#100760] +* Safely drain deployment request queues before allowing node to shutdown {es-pull}98406[#98406] +* Use the correct writable name for model assignment metadata in mixed version clusters. Prevents a node failure due to IllegalArgumentException Unknown NamedWriteable [trained_model_assignment] {es-pull}100886[#100886] +* Wait to gracefully stop deployments until alternative allocation exists {es-pull}99107[#99107] + +Mapping:: +* Automatically disable `ignore_malformed` on datastream `@timestamp` fields {es-pull}99346[#99346] +* Correct behaviour of `ContentPath::remove()` {es-pull}98332[#98332] (issue: {es-issue}98327[#98327]) +* Fix merges of mappings with `subobjects: false` for composable index templates {es-pull}97317[#97317] (issue: {es-issue}96768[#96768]) +* Percolator to support parsing script score query with params {es-pull}101051[#101051] (issue: {es-issue}97377[#97377]) + +Network:: +* Do not report failure after connections are made {es-pull}99117[#99117] + +Percolator:: +* Fix percolator query for stored queries that expand on wildcard field names {es-pull}98878[#98878] + +Query Languages:: +* Preserve subfields for unsupported types {es-pull}100875[#100875] (issue: {es-issue}100869[#100869]) + +Recovery:: +* Fix interruption of `markAllocationIdAsInSync` {es-pull}100610[#100610] (issues: {es-issue}96578[#96578], {es-issue}100589[#100589]) + +Search:: +* Consistent scores for multi-term `SourceConfirmedTestQuery` {es-pull}100846[#100846] (issue: {es-issue}98712[#98712]) +* Fix UnsignedLong field range query gt "0" can get the result equal to 0 {es-pull}98843[#98843] +* Fix `advanceExact` for doc values from sources {es-pull}99685[#99685] +* Fork response-sending in `OpenPointInTimeAction` {es-pull}99222[#99222] +* [CI] `SearchResponseTests#testSerialization` failing resolved {es-pull}100020[#100020] (issue: {es-issue}100005[#100005]) +* fix fuzzy query rewrite parameter not work {es-pull}97642[#97642] + +Security:: +* Fix NullPointerException in RotableSecret {es-pull}100779[#100779] (issue: {es-issue}99759[#99759]) + +Snapshot/Restore:: +* Fix race condition in `SnapshotsService` {es-pull}101652[#101652] +* Fix snapshot double finalization {es-pull}101497[#101497] +* Fix thread context in `getRepositoryData` {es-pull}99627[#99627] +* Frozen index input clone copy cache file {es-pull}98930[#98930] +* Make S3 anti-contention delay configurable {es-pull}101245[#101245] +* More robust timeout for repo analysis {es-pull}101184[#101184] (issue: {es-issue}101182[#101182]) +* Register `repository_s3` settings {es-pull}101344[#101344] +* Reinstate `RepositoryData` BwC {es-pull}100447[#100447] + +TSDB:: +* Don't ignore empty index template that have no template definition {es-pull}98840[#98840] (issue: {es-issue}98834[#98834]) +* Fix painless execute api and tsdb issue {es-pull}101212[#101212] (issue: {es-issue}101072[#101072]) +* Make tsdb settings public in Serverless {es-pull}99567[#99567] (issue: {es-issue}99563[#99563]) + +Transform:: +* Fix possible NPE when getting transform stats for failed transforms {es-pull}98061[#98061] (issue: {es-issue}98052[#98052]) +* Ignore `IndexNotFound` error when refreshing destination index {es-pull}101627[#101627] +* Make Transform Feature Reset really wait for all the tasks {es-pull}100624[#100624] +* Make tasks that calculate checkpoints cancellable {es-pull}100808[#100808] + +Watcher:: +* Treating watcher webhook response header names as case-insensitive {es-pull}99717[#99717] + +[[deprecation-8.11.0]] +[float] +=== Deprecations + +Rollup:: +* Rollup functionality is now deprecated {es-pull}101265[#101265] + +[[enhancement-8.11.0]] +[float] +=== Enhancements + +Aggregations:: +* Disable `FilterByFilterAggregator` through `ClusterSettings` {es-pull}99417[#99417] (issue: {es-issue}99335[#99335]) +* Represent histogram value count as long {es-pull}99912[#99912] (issue: {es-issue}99820[#99820]) +* Skip `DisiPriorityQueue` on single filter agg {es-pull}99215[#99215] (issue: {es-issue}99202[#99202]) +* Use a competitive iterator in `FiltersAggregator` {es-pull}98360[#98360] (issue: {es-issue}97544[#97544]) + +Allocation:: +* Report a node's "roles" setting in the /_cluster/allocation/explain response {es-pull}98550[#98550] (issue: {es-issue}97859[#97859]) + +Application:: +* Add flamegraph API {es-pull}99091[#99091] +* [Profiling] Allow to customize the ILM policy {es-pull}99909[#99909] +* [Profiling] Allow to wait until resources created {es-pull}99655[#99655] + +Audit:: +* Reduce verbosity of the bulk indexing audit log {es-pull}98470[#98470] + +Authentication:: +* Allow native users/roles to be disabled via setting {es-pull}98654[#98654] + +CAT APIs:: +* Add 'dataset' size to cat indices and cat shards {es-pull}98622[#98622] (issue: {es-issue}95092[#95092]) + +Data streams:: +* Allow explain data stream lifecycle to accept a data stream {es-pull}98811[#98811] + +ES|QL:: +* Add `CEIL` function {es-pull}98847[#98847] +* Add ability to perform date math {es-pull}98870[#98870] (issue: {es-issue}98402[#98402]) +* Add support for TEXT fields in comparison operators and SORT {es-pull}98528[#98528] (issue: {es-issue}98642[#98642]) +* Compact topn {es-pull}99316[#99316] +* Date math for negatives {es-pull}99711[#99711] +* Enable arithmetics for durations and periods {es-pull}99432[#99432] (issue: {es-issue}99293[#99293]) +* Enhance SHOW FUNCTIONS command {es-pull}99736[#99736] (issue: {es-issue}99507[#99507]) +* Improve log messages {es-pull}99470[#99470] +* Log execution time consistently {es-pull}99286[#99286] +* Log query and execution time {es-pull}99058[#99058] +* Log start and end of queries {es-pull}99746[#99746] +* Lower the implicit limit, if none is user-provided {es-pull}99816[#99816] (issue: {es-issue}99458[#99458]) +* Make settings dynamic {es-pull}101516[#101516] +* Mark counter fields as unsupported {es-pull}99054[#99054] +* Remove the swapped-args check for date_xxx() {es-pull}101362[#101362] (issue: {es-issue}99562[#99562]) +* Serialize the source in expressions {es-pull}99956[#99956] +* Simple check if all blocks get released {es-pull}100199[#100199] +* Support unsigned long in sqrt and log10 {es-pull}98711[#98711] +* Use DEBUG log level to report execution steps {es-pull}99303[#99303] + +Engine:: +* Use `IndexWriter.flushNextBuffer()` to reclaim memory from indexing buffers {es-pull}94607[#94607] + +Health:: +* Avoiding the use of nodes that are no longer in the cluster when computing master stability {es-pull}98809[#98809] (issue: {es-issue}98636[#98636]) +* When a primary is inactive but this is considered expected, the same applies for the replica of this shard. {es-pull}99995[#99995] (issue: {es-issue}99951[#99951]) + +Infra/Core:: +* APM Metering API {es-pull}99832[#99832] +* Update the elastic-apm-agent version {es-pull}100064[#100064] +* Use mappings version to retrieve system index mappings at creation time {es-pull}99555[#99555] + +Infra/Node Lifecycle:: +* Add links to docs from failing bootstrap checks {es-pull}99644[#99644] (issue: {es-issue}99614[#99614]) +* Chunk `SingleNodeShutdownStatus` and `ShutdownShardMigrationStatus` (and related action) response {es-pull}99798[#99798] (issue: {es-issue}99678[#99678]) + +Infra/REST API:: +* Add `IndexVersion` to node info {es-pull}99515[#99515] +* Add component info versions to node info in a pluggable way {es-pull}99631[#99631] +* Return a 410 (Gone) status code for unavailable API endpoints {es-pull}97397[#97397] + +Machine Learning:: +* Add new _inference API {es-pull}99224[#99224] +* Adding an option for trained models to be platform specific {es-pull}99584[#99584] +* Log warnings for jobs unassigned for a long time {es-pull}100154[#100154] +* Simplify the Inference Ingest Processor configuration {es-pull}100205[#100205] + +Mapping:: +* Automatically flatten objects when subobjects:false {es-pull}97972[#97972] (issue: {es-issue}88934[#88934]) +* Explicit parsing object capabilities of `FieldMappers` {es-pull}98684[#98684] (issue: {es-issue}98537[#98537]) +* Reintroduce `sparse_vector` mapping {es-pull}98996[#98996] + +Network:: +* Chunk the cluster allocation explain response {es-pull}99641[#99641] (issue: {es-issue}97803[#97803]) + +Recovery:: +* Wait for cluster state in recovery {es-pull}99193[#99193] + +Search:: +* Add additional counters to `_clusters` response for all Cluster search states {es-pull}99566[#99566] (issue: {es-issue}98927[#98927]) +* Adding support for exist queries to `sparse_vector` fields {es-pull}99775[#99775] (issue: {es-issue}99319[#99319]) +* Make `_index` optional for pinned query docs {es-pull}97450[#97450] +* Reduce copying when creating scroll/PIT ids {es-pull}99219[#99219] +* Refactor `SearchResponseClusters` to use CHM {es-pull}100129[#100129] (issue: {es-issue}99101[#99101]) +* Support cluster/details for CCS minimize_roundtrips=false {es-pull}98457[#98457] + +Security:: +* Support rotatating the JWT shared secret {es-pull}99278[#99278] + +Snapshot/Restore:: +* Remove shard data files when they fail to write for snapshot {es-pull}99694[#99694] + +Stats:: +* Prune unnecessary information from TransportNodesInfoAction.NodeInfoRequest {es-pull}99938[#99938] (issue: {es-issue}99744[#99744]) + +TSDB:: +* Add `index.look_back_time` setting for tsdb data streams {es-pull}98518[#98518] (issue: {es-issue}98463[#98463]) +* Improve time-series error and documentation {es-pull}100018[#100018] +* Trim stored fields for `_id` field in tsdb {es-pull}97409[#97409] + +Transform:: +* Add accessors required to recreate `TransformStats` object from the fields {es-pull}98844[#98844] + +Vector Search:: +* Add new max_inner_product vector similarity function {es-pull}99527[#99527] +* Adds `nested` support for indexed `dense_vector` fields {es-pull}99763[#99763] +* Dense vector field types are indexed by default {es-pull}98268[#98268] +* Increase the max vector dims to 4096 {es-pull}99682[#99682] + +[[feature-8.11.0]] +[float] +=== New features + +Analysis:: +* Add support for Persian language stemmer {es-pull}99106[#99106] (issue: {es-issue}98911[#98911]) + +Application:: +* Automatically map float arrays of lengths 128 - 2048 as dense_vector {es-pull}98512[#98512] (issue: {es-issue}97532[#97532]) + +Data streams:: +* GA the data stream lifecycle {es-pull}100187[#100187] +* GET `_data_stream` displays both ILM and DSL information {es-pull}99947[#99947] + +ES|QL:: +* Integrate Elasticsearch Query Language, ES|QL {es-pull}98309[#98309] +* LEAST and GREATEST functions {es-pull}98630[#98630] +* LEFT function {es-pull}98942[#98942] +* LTRIM, RTRIM and fix unicode whitespace {es-pull}98590[#98590] +* RIGHT function {es-pull}98974[#98974] +* TopN sorting with min and max for multi-value fields {es-pull}98337[#98337] + +[[upgrade-8.11.0]] +[float] +=== Upgrades + +Packaging:: +* Update bundled JDK to 21.0.1 {es-pull}101133[#101133] + +Search:: +* Upgrade main to Lucene 9.8.0 {es-pull}100138[#100138] + diff --git a/modules/aggregations/src/main/java/org/elasticsearch/aggregations/bucket/histogram/AutoDateHistogramAggregationBuilder.java b/modules/aggregations/src/main/java/org/elasticsearch/aggregations/bucket/histogram/AutoDateHistogramAggregationBuilder.java index 83f7d496f698f..dd497e8ca5478 100644 --- a/modules/aggregations/src/main/java/org/elasticsearch/aggregations/bucket/histogram/AutoDateHistogramAggregationBuilder.java +++ b/modules/aggregations/src/main/java/org/elasticsearch/aggregations/bucket/histogram/AutoDateHistogramAggregationBuilder.java @@ -166,11 +166,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - public String getMinimumIntervalExpression() { return minimumIntervalExpression; } diff --git a/modules/data-streams/src/test/java/org/elasticsearch/datastreams/DataStreamGetWriteIndexTests.java b/modules/data-streams/src/test/java/org/elasticsearch/datastreams/DataStreamGetWriteIndexTests.java index e55ff022693b3..07a80683b24fa 100644 --- a/modules/data-streams/src/test/java/org/elasticsearch/datastreams/DataStreamGetWriteIndexTests.java +++ b/modules/data-streams/src/test/java/org/elasticsearch/datastreams/DataStreamGetWriteIndexTests.java @@ -290,7 +290,8 @@ public void cleanup() { } private ClusterState createInitialState() { - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of("logs-*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of("logs-*")) .template( new Template(Settings.builder().put("index.mode", "time_series").put("index.routing_path", "uid").build(), null, null) ) diff --git a/modules/data-streams/src/test/java/org/elasticsearch/datastreams/MetadataDataStreamRolloverServiceTests.java b/modules/data-streams/src/test/java/org/elasticsearch/datastreams/MetadataDataStreamRolloverServiceTests.java index 0391f91a35fb3..4c333c3f0ab8d 100644 --- a/modules/data-streams/src/test/java/org/elasticsearch/datastreams/MetadataDataStreamRolloverServiceTests.java +++ b/modules/data-streams/src/test/java/org/elasticsearch/datastreams/MetadataDataStreamRolloverServiceTests.java @@ -71,7 +71,8 @@ public void testRolloverClusterStateForDataStream() throws Exception { false, IndexMode.TIME_SERIES ); - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStream.getName() + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStream.getName() + "*")) .template( new Template(Settings.builder().put("index.mode", "time_series").put("index.routing_path", "uid").build(), null, null) ) @@ -176,7 +177,8 @@ public void testRolloverAndMigrateDataStream() throws Exception { false, dsIndexMode ); - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStream.getName() + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStream.getName() + "*")) .template( new Template(Settings.builder().put("index.mode", "time_series").put("index.routing_path", "uid").build(), null, null) ) @@ -262,7 +264,8 @@ public void testChangingIndexModeFromTimeSeriesToSomethingElseNoEffectOnExisting false, IndexMode.TIME_SERIES ); - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStream.getName() + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStream.getName() + "*")) .template( new Template(Settings.builder().put("index.mode", "time_series").put("index.routing_path", "uid").build(), null, null) ) @@ -477,7 +480,8 @@ private static ClusterState createClusterState(String dataStreamName, int number false, null ); - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStream.getName() + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStream.getName() + "*")) .template( new Template(Settings.builder().put("index.mode", "time_series").put("index.routing_path", "uid").build(), null, null) ) diff --git a/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportMultiSearchTemplateAction.java b/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportMultiSearchTemplateAction.java index d859fb509e915..4b0c365ba8b13 100644 --- a/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportMultiSearchTemplateAction.java +++ b/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportMultiSearchTemplateAction.java @@ -8,6 +8,9 @@ package org.elasticsearch.script.mustache; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.elasticsearch.ExceptionsHelper; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.search.MultiSearchRequest; import org.elasticsearch.action.search.MultiSearchResponse; @@ -31,6 +34,8 @@ public class TransportMultiSearchTemplateAction extends HandledTransportAction { + private static final Logger logger = LogManager.getLogger(TransportMultiSearchTemplateAction.class); + private final ScriptService scriptService; private final NamedXContentRegistry xContentRegistry; private final NodeClient client; @@ -76,6 +81,9 @@ protected void doExecute(Task task, MultiSearchTemplateRequest request, ActionLi searchRequest = convert(searchTemplateRequest, searchTemplateResponse, scriptService, xContentRegistry, searchUsageHolder); } catch (Exception e) { items[i] = new MultiSearchTemplateResponse.Item(null, e); + if (ExceptionsHelper.status(e).getStatus() >= 500 && ExceptionsHelper.isNodeOrShardUnavailableTypeException(e) == false) { + logger.warn("MultiSearchTemplate convert failure", e); + } continue; } items[i] = new MultiSearchTemplateResponse.Item(searchTemplateResponse, null); diff --git a/modules/parent-join/src/internalClusterTest/java/org/elasticsearch/join/query/ChildQuerySearchIT.java b/modules/parent-join/src/internalClusterTest/java/org/elasticsearch/join/query/ChildQuerySearchIT.java index 34ead2c21480b..cc9a3a1a248db 100644 --- a/modules/parent-join/src/internalClusterTest/java/org/elasticsearch/join/query/ChildQuerySearchIT.java +++ b/modules/parent-join/src/internalClusterTest/java/org/elasticsearch/join/query/ChildQuerySearchIT.java @@ -806,8 +806,10 @@ public void testHasChildInnerHitsHighlighting() throws Exception { assertThat(response.getHits().getHits()[0].getId(), equalTo("1")); SearchHit[] searchHits = response.getHits().getHits()[0].getInnerHits().get("child").getHits(); assertThat(searchHits.length, equalTo(1)); - assertThat(searchHits[0].getHighlightFields().get("c_field").getFragments().length, equalTo(1)); - assertThat(searchHits[0].getHighlightFields().get("c_field").getFragments()[0].string(), equalTo("foo bar")); + HighlightField highlightField1 = searchHits[0].getHighlightFields().get("c_field"); + assertThat(highlightField1.fragments().length, equalTo(1)); + HighlightField highlightField = searchHits[0].getHighlightFields().get("c_field"); + assertThat(highlightField.fragments()[0].string(), equalTo("foo bar")); } ); } @@ -1786,7 +1788,7 @@ public void testHighlightersIgnoreParentChild() throws IOException { assertHitCount(response, 1); assertThat(response.getHits().getAt(0).getId(), equalTo("parent-id")); HighlightField highlightField = response.getHits().getAt(0).getHighlightFields().get("searchText"); - assertThat(highlightField.getFragments()[0].string(), equalTo("quick brown fox")); + assertThat(highlightField.fragments()[0].string(), equalTo("quick brown fox")); } ); @@ -1799,7 +1801,7 @@ public void testHighlightersIgnoreParentChild() throws IOException { assertHitCount(response, 1); assertThat(response.getHits().getAt(0).getId(), equalTo("child-id")); HighlightField highlightField = response.getHits().getAt(0).getHighlightFields().get("searchText"); - assertThat(highlightField.getFragments()[0].string(), equalTo("quick brown fox")); + assertThat(highlightField.fragments()[0].string(), equalTo("quick brown fox")); } ); } diff --git a/modules/parent-join/src/internalClusterTest/java/org/elasticsearch/join/query/InnerHitsIT.java b/modules/parent-join/src/internalClusterTest/java/org/elasticsearch/join/query/InnerHitsIT.java index 39a84f2d16d7f..02eaacba0b1de 100644 --- a/modules/parent-join/src/internalClusterTest/java/org/elasticsearch/join/query/InnerHitsIT.java +++ b/modules/parent-join/src/internalClusterTest/java/org/elasticsearch/join/query/InnerHitsIT.java @@ -26,6 +26,7 @@ import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; +import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; import org.elasticsearch.search.sort.FieldSortBuilder; import org.elasticsearch.search.sort.SortBuilders; import org.elasticsearch.search.sort.SortOrder; @@ -183,10 +184,8 @@ public void testSimpleParentChild() throws Exception { response -> { SearchHits innerHits = response.getHits().getAt(0).getInnerHits().get("comment"); assertThat(innerHits.getHits().length, equalTo(1)); - assertThat( - innerHits.getAt(0).getHighlightFields().get("message").getFragments()[0].string(), - equalTo("fox eat quick") - ); + HighlightField highlightField = innerHits.getAt(0).getHighlightFields().get("message"); + assertThat(highlightField.fragments()[0].string(), equalTo("fox eat quick")); assertThat(innerHits.getAt(0).getExplanation().toString(), containsString("weight(message:fox")); assertThat(innerHits.getAt(0).getFields().get("message").getValue().toString(), equalTo("fox eat quick")); assertThat(innerHits.getAt(0).getFields().get("script").getValue().toString(), equalTo("5")); diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java b/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java index 57649129a638f..0de7b74759828 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java @@ -24,7 +24,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; import org.elasticsearch.search.aggregations.support.ValuesSourceAggregatorFactory; import org.elasticsearch.search.aggregations.support.ValuesSourceConfig; -import org.elasticsearch.search.aggregations.support.ValuesSourceRegistry; import org.elasticsearch.search.aggregations.support.ValuesSourceType; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentParser; @@ -175,11 +174,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return ValuesSourceRegistry.UNREGISTERED_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ParentAggregationBuilder.java b/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ParentAggregationBuilder.java index d608efcba9b83..b130411e5e099 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ParentAggregationBuilder.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ParentAggregationBuilder.java @@ -24,7 +24,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; import org.elasticsearch.search.aggregations.support.ValuesSourceAggregatorFactory; import org.elasticsearch.search.aggregations.support.ValuesSourceConfig; -import org.elasticsearch.search.aggregations.support.ValuesSourceRegistry; import org.elasticsearch.search.aggregations.support.ValuesSourceType; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentParser; @@ -178,11 +177,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return ValuesSourceRegistry.UNREGISTERED_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/plugins/mapper-annotated-text/src/main/java/org/elasticsearch/index/mapper/annotatedtext/AnnotatedTextHighlighter.java b/plugins/mapper-annotated-text/src/main/java/org/elasticsearch/index/mapper/annotatedtext/AnnotatedTextHighlighter.java index 45c2a9208b8d6..9b7c6afbb9f10 100644 --- a/plugins/mapper-annotated-text/src/main/java/org/elasticsearch/index/mapper/annotatedtext/AnnotatedTextHighlighter.java +++ b/plugins/mapper-annotated-text/src/main/java/org/elasticsearch/index/mapper/annotatedtext/AnnotatedTextHighlighter.java @@ -56,7 +56,7 @@ protected Analyzer wrapAnalyzer(Analyzer analyzer, Integer maxAnalyzedOffset) { } @Override - protected PassageFormatter getPassageFormatter(HitContext hitContext, SearchHighlightContext.Field field, Encoder encoder) { + protected PassageFormatter getPassageFormatter(SearchHighlightContext.Field field, Encoder encoder) { return new AnnotatedPassageFormatter(encoder); } diff --git a/qa/smoke-test-http/src/javaRestTest/java/org/elasticsearch/http/ClusterHealthRestCancellationIT.java b/qa/smoke-test-http/src/javaRestTest/java/org/elasticsearch/http/ClusterHealthRestCancellationIT.java index cf76d86c9298f..755bbce93c95b 100644 --- a/qa/smoke-test-http/src/javaRestTest/java/org/elasticsearch/http/ClusterHealthRestCancellationIT.java +++ b/qa/smoke-test-http/src/javaRestTest/java/org/elasticsearch/http/ClusterHealthRestCancellationIT.java @@ -18,9 +18,11 @@ import org.elasticsearch.cluster.ClusterStateUpdateTask; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.Priority; +import org.elasticsearch.test.junit.annotations.TestIssueLogging; import java.util.concurrent.CancellationException; import java.util.concurrent.CyclicBarrier; +import java.util.concurrent.TimeUnit; import static org.elasticsearch.action.support.ActionTestUtils.wrapAsRestResponseListener; import static org.elasticsearch.test.TaskAssertions.assertAllCancellableTasksAreCancelled; @@ -28,6 +30,10 @@ public class ClusterHealthRestCancellationIT extends HttpSmokeTestCase { + @TestIssueLogging( + issueUrl = "https://github.com/elastic/elasticsearch/issues/100062", + value = "org.elasticsearch.test.TaskAssertions:TRACE" + ) public void testClusterHealthRestCancellation() throws Exception { final var barrier = new CyclicBarrier(2); @@ -37,7 +43,18 @@ public void testClusterHealthRestCancellation() throws Exception { @Override public ClusterState execute(ClusterState currentState) { safeAwait(barrier); - safeAwait(barrier); + // safeAwait(barrier); + + // temporarily lengthen timeout on safeAwait while investigating #100062 + try { + barrier.await(60, TimeUnit.SECONDS); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new AssertionError("unexpected", e); + } catch (Exception e) { + throw new AssertionError("unexpected", e); + } + return currentState; } diff --git a/rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/cat.allocation/10_basic.yml b/rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/cat.allocation/10_basic.yml index f56a1945b2d7c..ed519438f1b1e 100644 --- a/rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/cat.allocation/10_basic.yml +++ b/rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/cat.allocation/10_basic.yml @@ -26,6 +26,10 @@ --- "One index": + - skip: + version: " - 8.11.99" + reason: "node.role column shown by default from 8.12.0 onwards" + - do: indices.create: index: test @@ -45,13 +49,14 @@ (\d+ \s+) #always should return value since we filter out non data nodes by default [-\w.]+ \s+ \d+(\.\d+){3} \s+ - [-\w.]+ + [-\w.]+ \s+ + [\w]+ \n )+ ( \s* #allow leading spaces to account for right-justified text \d+ \s+ - UNASSIGNED + UNASSIGNED \s* \n )? $/ @@ -59,6 +64,10 @@ --- "Node ID": + - skip: + version: " - 8.11.99" + reason: "node.role column shown by default from 8.12.0 onwards" + - do: cat.allocation: node_id: _master @@ -74,7 +83,8 @@ (\d+ \s+)? #no value from client nodes [-\w.]+ \s+ \d+(\.\d+){3} \s+ - [-\w.]+ + [-\w.]+ \s+ + [\w]+ \n ) $/ @@ -92,6 +102,10 @@ "All Nodes": + - skip: + version: " - 8.11.99" + reason: "node.role column shown by default from 8.12.0 onwards" + - do: cat.allocation: node_id: "*" @@ -108,13 +122,14 @@ (\d+ \s+)? #no value from client nodes [-\w.]+ \s+ \d+(\.\d+){3} \s+ - [-\w.]+ + [-\w.]+ \s+ + [\w]+ \n )+ ( \s* #allow leading spaces to account for right-justified text \d+ \s+ - UNASSIGNED + UNASSIGNED \s* \n )? $/ @@ -122,6 +137,10 @@ --- "Column headers": + - skip: + version: " - 8.11.99" + reason: "node.role column shown by default from 8.12.0 onwards" + - do: cat.allocation: v: true @@ -136,7 +155,8 @@ disk.percent \s+ host \s+ ip \s+ - node + node \s+ + node.role \n ( \s* #allow leading spaces to account for right-justified text @@ -148,7 +168,8 @@ (\d+ \s+) #always should return value since we filter out non data nodes by default [-\w.]+ \s+ \d+(\.\d+){3} \s+ - [-\w.]+ + [-\w.]+ \s+ + [\w]+ \n )+ $/ @@ -193,6 +214,10 @@ "Bytes": + - skip: + version: " - 8.11.99" + reason: "node.role column shown by default from 8.12.0 onwards" + - do: cat.allocation: bytes: gb @@ -208,7 +233,8 @@ (\d+ \s+) #always should return value since we filter out non data nodes by default [-\w.]+ \s+ \d+(\.\d+){3} \s+ - [-\w.]+ + [-\w.]+ \s+ + [\w]+ \n )+ $/ diff --git a/server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/CreateIndexIT.java b/server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/CreateIndexIT.java index 4b395ec6856e5..d19c61f97efd9 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/CreateIndexIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/CreateIndexIT.java @@ -206,7 +206,6 @@ public void testInvalidShardCountSettingsWithoutPrefix() throws Exception { } } - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/96578") public void testCreateAndDeleteIndexConcurrently() throws InterruptedException { createIndex("test"); final AtomicInteger indexVersion = new AtomicInteger(0); diff --git a/server/src/internalClusterTest/java/org/elasticsearch/cluster/routing/ShardRoutingRoleIT.java b/server/src/internalClusterTest/java/org/elasticsearch/cluster/routing/ShardRoutingRoleIT.java index 206b866bd4758..a12f7feb05b48 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/cluster/routing/ShardRoutingRoleIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/cluster/routing/ShardRoutingRoleIT.java @@ -377,7 +377,6 @@ private void assertEngineTypes() { } } - @AwaitsFix(bugUrl = "ES-4677") public void testRelocation() { var routingTableWatcher = new RoutingTableWatcher(); diff --git a/server/src/internalClusterTest/java/org/elasticsearch/search/aggregations/metrics/TopHitsIT.java b/server/src/internalClusterTest/java/org/elasticsearch/search/aggregations/metrics/TopHitsIT.java index ab9ab37894f70..616e036f35233 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/search/aggregations/metrics/TopHitsIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/search/aggregations/metrics/TopHitsIT.java @@ -630,8 +630,8 @@ public void testFetchFeatures() { SearchHit hit = hits.getAt(0); HighlightField highlightField = hit.getHighlightFields().get("text"); - assertThat(highlightField.getFragments().length, equalTo(1)); - assertThat(highlightField.getFragments()[0].string(), equalTo("some text to entertain")); + assertThat(highlightField.fragments().length, equalTo(1)); + assertThat(highlightField.fragments()[0].string(), equalTo("some text to entertain")); Explanation explanation = hit.getExplanation(); assertThat(explanation.toString(), containsString("text:text")); @@ -903,8 +903,8 @@ public void testNestedFetchFeatures() { assertThat(searchHit.getNestedIdentity().getOffset(), equalTo(0)); HighlightField highlightField = searchHit.getHighlightFields().get("comments.message"); - assertThat(highlightField.getFragments().length, equalTo(1)); - assertThat(highlightField.getFragments()[0].string(), equalTo("some comment")); + assertThat(highlightField.fragments().length, equalTo(1)); + assertThat(highlightField.fragments()[0].string(), equalTo("some comment")); // Can't explain nested hit with the main query, since both are in a different scopes, also the nested doc may not // even have matched with the main query. @@ -961,8 +961,8 @@ public void testTopHitsInNested() throws Exception { assertThat(extractValue("id", searchHits.getAt(j).getSourceAsMap()), equalTo(0)); HighlightField highlightField = searchHits.getAt(j).getHighlightFields().get("comments.message"); - assertThat(highlightField.getFragments().length, equalTo(1)); - assertThat(highlightField.getFragments()[0].string(), equalTo("some text")); + assertThat(highlightField.fragments().length, equalTo(1)); + assertThat(highlightField.fragments()[0].string(), equalTo("some text")); } } } diff --git a/server/src/internalClusterTest/java/org/elasticsearch/search/fetch/subphase/InnerHitsIT.java b/server/src/internalClusterTest/java/org/elasticsearch/search/fetch/subphase/InnerHitsIT.java index 00c5342577231..dcfee8994b56b 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/search/fetch/subphase/InnerHitsIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/search/fetch/subphase/InnerHitsIT.java @@ -27,6 +27,7 @@ import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; +import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; import org.elasticsearch.search.sort.FieldSortBuilder; import org.elasticsearch.search.sort.SortOrder; import org.elasticsearch.test.ESIntegTestCase; @@ -193,10 +194,8 @@ public void testSimpleNested() throws Exception { innerHits = response.getHits().getAt(0).getInnerHits().get("comments"); assertThat(innerHits.getTotalHits().value, equalTo(2L)); assertThat(innerHits.getHits().length, equalTo(1)); - assertThat( - innerHits.getAt(0).getHighlightFields().get("comments.message").getFragments()[0].string(), - equalTo("fox eat quick") - ); + HighlightField highlightField = innerHits.getAt(0).getHighlightFields().get("comments.message"); + assertThat(highlightField.fragments()[0].string(), equalTo("fox eat quick")); assertThat(innerHits.getAt(0).getExplanation().toString(), containsString("weight(comments.message:fox in")); assertThat( innerHits.getAt(0).getFields().get("comments").getValue(), diff --git a/server/src/internalClusterTest/java/org/elasticsearch/search/fetch/subphase/highlight/HighlighterSearchIT.java b/server/src/internalClusterTest/java/org/elasticsearch/search/fetch/subphase/highlight/HighlighterSearchIT.java index 79a28a053b3c2..6500b969ee273 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/search/fetch/subphase/highlight/HighlighterSearchIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/search/fetch/subphase/highlight/HighlighterSearchIT.java @@ -3264,10 +3264,8 @@ public void testKeywordFieldHighlighting() throws IOException { ).get(); assertNoFailures(search); assertThat(search.getHits().getTotalHits().value, equalTo(1L)); - assertThat( - search.getHits().getAt(0).getHighlightFields().get("keyword_field").getFragments()[0].string(), - equalTo("some text") - ); + HighlightField highlightField = search.getHits().getAt(0).getHighlightFields().get("keyword_field"); + assertThat(highlightField.fragments()[0].string(), equalTo("some text")); } public void testCopyToFields() throws Exception { @@ -3294,8 +3292,8 @@ public void testCopyToFields() throws Exception { assertHitCount(response, 1); HighlightField field = response.getHits().getAt(0).getHighlightFields().get("foo_copy"); - assertThat(field.getFragments().length, equalTo(1)); - assertThat(field.getFragments()[0].string(), equalTo("how now brown cow")); + assertThat(field.fragments().length, equalTo(1)); + assertThat(field.fragments()[0].string(), equalTo("how now brown cow")); } public void testACopyFieldWithNestedQuery() throws Exception { @@ -3343,9 +3341,9 @@ public void testACopyFieldWithNestedQuery() throws Exception { .get(); assertHitCount(searchResponse, 1); HighlightField field = searchResponse.getHits().getAt(0).getHighlightFields().get("foo_text"); - assertThat(field.getFragments().length, equalTo(2)); - assertThat(field.getFragments()[0].string(), equalTo("brown")); - assertThat(field.getFragments()[1].string(), equalTo("cow")); + assertThat(field.fragments().length, equalTo(2)); + assertThat(field.fragments()[0].string(), equalTo("brown")); + assertThat(field.fragments()[1].string(), equalTo("cow")); } public void testFunctionScoreQueryHighlight() throws Exception { @@ -3360,8 +3358,8 @@ public void testFunctionScoreQueryHighlight() throws Exception { .get(); assertHitCount(searchResponse, 1); HighlightField field = searchResponse.getHits().getAt(0).getHighlightFields().get("text"); - assertThat(field.getFragments().length, equalTo(1)); - assertThat(field.getFragments()[0].string(), equalTo("brown")); + assertThat(field.fragments().length, equalTo(1)); + assertThat(field.fragments()[0].string(), equalTo("brown")); } public void testFiltersFunctionScoreQueryHighlight() throws Exception { @@ -3383,8 +3381,8 @@ public void testFiltersFunctionScoreQueryHighlight() throws Exception { ).highlighter(new HighlightBuilder().field(new Field("text"))).get(); assertHitCount(searchResponse, 1); HighlightField field = searchResponse.getHits().getAt(0).getHighlightFields().get("text"); - assertThat(field.getFragments().length, equalTo(1)); - assertThat(field.getFragments()[0].string(), equalTo("brown")); + assertThat(field.fragments().length, equalTo(1)); + assertThat(field.fragments()[0].string(), equalTo("brown")); } public void testHighlightQueryRewriteDatesWithNow() throws Exception { @@ -3465,33 +3463,33 @@ public void testWithNestedQuery() throws Exception { ).highlighter(new HighlightBuilder().field(new Field("foo.text").highlighterType(type))).get(); assertHitCount(searchResponse, 1); HighlightField field = searchResponse.getHits().getAt(0).getHighlightFields().get("foo.text"); - assertThat(field.getFragments().length, equalTo(2)); - assertThat(field.getFragments()[0].string(), equalTo("brown shoes")); - assertThat(field.getFragments()[1].string(), equalTo("cow")); + assertThat(field.fragments().length, equalTo(2)); + assertThat(field.fragments()[0].string(), equalTo("brown shoes")); + assertThat(field.fragments()[1].string(), equalTo("cow")); searchResponse = prepareSearch().setQuery(nestedQuery("foo", prefixQuery("foo.text", "bro"), ScoreMode.None)) .highlighter(new HighlightBuilder().field(new Field("foo.text").highlighterType(type))) .get(); assertHitCount(searchResponse, 1); field = searchResponse.getHits().getAt(0).getHighlightFields().get("foo.text"); - assertThat(field.getFragments().length, equalTo(1)); - assertThat(field.getFragments()[0].string(), equalTo("brown shoes")); + assertThat(field.fragments().length, equalTo(1)); + assertThat(field.fragments()[0].string(), equalTo("brown shoes")); searchResponse = prepareSearch().setQuery(nestedQuery("foo", matchPhraseQuery("foo.text", "brown shoes"), ScoreMode.None)) .highlighter(new HighlightBuilder().field(new Field("foo.text").highlighterType(type))) .get(); assertHitCount(searchResponse, 1); field = searchResponse.getHits().getAt(0).getHighlightFields().get("foo.text"); - assertThat(field.getFragments().length, equalTo(1)); - assertThat(field.getFragments()[0].string(), equalTo("brown shoes")); + assertThat(field.fragments().length, equalTo(1)); + assertThat(field.fragments()[0].string(), equalTo("brown shoes")); searchResponse = prepareSearch().setQuery(nestedQuery("foo", matchPhrasePrefixQuery("foo.text", "bro"), ScoreMode.None)) .highlighter(new HighlightBuilder().field(new Field("foo.text").highlighterType(type))) .get(); assertHitCount(searchResponse, 1); field = searchResponse.getHits().getAt(0).getHighlightFields().get("foo.text"); - assertThat(field.getFragments().length, equalTo(1)); - assertThat(field.getFragments()[0].string(), equalTo("brown shoes")); + assertThat(field.fragments().length, equalTo(1)); + assertThat(field.fragments()[0].string(), equalTo("brown shoes")); } // For unified and fvh highlighters we just check that the nested query is correctly extracted @@ -3503,8 +3501,8 @@ public void testWithNestedQuery() throws Exception { .get(); assertHitCount(searchResponse, 1); HighlightField field = searchResponse.getHits().getAt(0).getHighlightFields().get("text"); - assertThat(field.getFragments().length, equalTo(1)); - assertThat(field.getFragments()[0].string(), equalTo("brown")); + assertThat(field.fragments().length, equalTo(1)); + assertThat(field.fragments()[0].string(), equalTo("brown")); } } @@ -3526,8 +3524,8 @@ public void testWithNormalizer() throws Exception { .get(); assertHitCount(searchResponse, 1); HighlightField field = searchResponse.getHits().getAt(0).getHighlightFields().get("keyword"); - assertThat(field.getFragments().length, equalTo(1)); - assertThat(field.getFragments()[0].string(), equalTo("hello world")); + assertThat(field.fragments().length, equalTo(1)); + assertThat(field.fragments()[0].string(), equalTo("hello world")); } } diff --git a/server/src/internalClusterTest/java/org/elasticsearch/snapshots/FeatureStateResetApiIT.java b/server/src/internalClusterTest/java/org/elasticsearch/snapshots/FeatureStateResetApiIT.java index 32a1d6724e0fd..1f86d4cb39ea4 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/snapshots/FeatureStateResetApiIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/snapshots/FeatureStateResetApiIT.java @@ -48,7 +48,6 @@ protected Collection> nodePlugins() { } /** Check that the reset method cleans up a feature */ - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/97780") public void testResetSystemIndices() throws Exception { String systemIndex1 = ".test-system-idx-1"; String systemIndex2 = ".second-test-system-idx-1"; diff --git a/server/src/internalClusterTest/java/org/elasticsearch/snapshots/SnapshotStressTestsIT.java b/server/src/internalClusterTest/java/org/elasticsearch/snapshots/SnapshotStressTestsIT.java index 4721b1a186a99..7eaa49b27007d 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/snapshots/SnapshotStressTestsIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/snapshots/SnapshotStressTestsIT.java @@ -55,6 +55,7 @@ import java.nio.file.Path; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; @@ -496,6 +497,11 @@ private void restoreSnapshot(SnapshotInfo snapshotInfo, Releasable releasePrevio final String[] indicesToRestore = indicesToRestoreList.toArray(new String[0]); final String[] indicesToClose = indicesToCloseList.toArray(new String[0]); final String[] indicesToDelete = indicesToDeleteList.toArray(new String[0]); + final String indicesToRestoreDescription = (restoreSpecificIndices ? "" : "*=") + Arrays.toString(indicesToRestore); + + if (restoreSpecificIndices == false) { + assertEquals(Set.copyOf(snapshotInfo.indices()), Set.of(indicesToRestore)); + } final ListenableFuture closeIndicesStep = new ListenableFuture<>(); final ListenableFuture deleteIndicesStep = new ListenableFuture<>(); @@ -515,15 +521,17 @@ private void restoreSnapshot(SnapshotInfo snapshotInfo, Releasable releasePrevio ); logger.info( - "--> closing indices {} in preparation for restoring from [{}:{}]", - indicesToRestoreList, + "--> closing indices {} in preparation for restoring {} from [{}:{}]", + indicesToClose, + indicesToRestoreDescription, snapshotInfo.repository(), snapshotInfo.snapshotId().getName() ); indicesAdmin().prepareClose(indicesToClose).execute(mustSucceed(closeIndexResponse -> { logger.info( - "--> finished closing indices {} in preparation for restoring from [{}:{}]", - indicesToRestoreList, + "--> finished closing indices {} in preparation for restoring {} from [{}:{}]", + indicesToClose, + indicesToRestoreDescription, snapshotInfo.repository(), snapshotInfo.snapshotId().getName() ); @@ -538,15 +546,17 @@ private void restoreSnapshot(SnapshotInfo snapshotInfo, Releasable releasePrevio if (indicesToDelete.length > 0) { logger.info( - "--> deleting indices {} in preparation for restoring from [{}:{}]", - indicesToRestoreList, + "--> deleting indices {} in preparation for restoring {} from [{}:{}]", + indicesToDelete, + indicesToRestore, snapshotInfo.repository(), snapshotInfo.snapshotId().getName() ); indicesAdmin().prepareDelete(indicesToDelete).execute(mustSucceed(deleteIndicesResponse -> { logger.info( - "--> finished deleting indices {} in preparation for restoring from [{}:{}]", - indicesToRestoreList, + "--> finished deleting indices {} in preparation for restoring {} from [{}:{}]", + indicesToDelete, + indicesToRestoreDescription, snapshotInfo.repository(), snapshotInfo.snapshotId().getName() ); @@ -569,9 +579,8 @@ private void restoreSnapshot(SnapshotInfo snapshotInfo, Releasable releasePrevio } logger.info( - "--> restoring indices {}{} from [{}:{}]", - restoreSpecificIndices ? "" : "*=", - indicesToRestoreList, + "--> restoring indices {} from [{}:{}]", + indicesToRestoreDescription, snapshotInfo.repository(), snapshotInfo.snapshotId().getName() ); @@ -579,7 +588,7 @@ private void restoreSnapshot(SnapshotInfo snapshotInfo, Releasable releasePrevio restoreSnapshotRequestBuilder.execute(mustSucceed(restoreSnapshotResponse -> { logger.info( "--> triggered restore of indices {} from [{}:{}], waiting for green health", - indicesToRestoreList, + indicesToRestoreDescription, snapshotInfo.repository(), snapshotInfo.snapshotId().getName() ); @@ -590,7 +599,7 @@ private void restoreSnapshot(SnapshotInfo snapshotInfo, Releasable releasePrevio logger.info( "--> indices {} successfully restored from [{}:{}]", - indicesToRestoreList, + indicesToRestoreDescription, snapshotInfo.repository(), snapshotInfo.snapshotId().getName() ); diff --git a/server/src/main/java/org/elasticsearch/ElasticsearchException.java b/server/src/main/java/org/elasticsearch/ElasticsearchException.java index 4bbfe994f7f6d..5c5133e478ee1 100644 --- a/server/src/main/java/org/elasticsearch/ElasticsearchException.java +++ b/server/src/main/java/org/elasticsearch/ElasticsearchException.java @@ -1131,12 +1131,7 @@ private enum ElasticsearchExceptionHandle { UNKNOWN_VERSION_ADDED ), // 26 was BatchOperationException - SNAPSHOT_CREATION_EXCEPTION( - org.elasticsearch.snapshots.SnapshotCreationException.class, - org.elasticsearch.snapshots.SnapshotCreationException::new, - 27, - UNKNOWN_VERSION_ADDED - ), + // 27 was SnapshotCreationException // 28 was DeleteFailedEngineException, deprecated in 6.0, removed in 7.0 DOCUMENT_MISSING_EXCEPTION( org.elasticsearch.index.engine.DocumentMissingException.class, diff --git a/server/src/main/java/org/elasticsearch/TransportVersions.java b/server/src/main/java/org/elasticsearch/TransportVersions.java index 0c7145730e447..b62a24fdc0b45 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersions.java +++ b/server/src/main/java/org/elasticsearch/TransportVersions.java @@ -202,15 +202,17 @@ static TransportVersion def(int id) { * If your git checkout has the expected minor-version-numbered branches and the expected release-version tags then you can find the * transport versions known by a particular release ... * - * git show v8.9.1:server/src/main/java/org/elasticsearch/TransportVersions.java | grep def + * git show v8.11.0:server/src/main/java/org/elasticsearch/TransportVersions.java | grep '= def' * * ... or by a particular branch ... * - * git show 8.10:server/src/main/java/org/elasticsearch/TransportVersions.java | grep def + * git show 8.11:server/src/main/java/org/elasticsearch/TransportVersions.java | grep '= def' * * ... and you can see which versions were added in between two versions too ... * - * git diff 8.10..main -- server/src/main/java/org/elasticsearch/TransportVersions.java + * git diff v8.11.0..main -- server/src/main/java/org/elasticsearch/TransportVersions.java + * + * In branches 8.7-8.10 see server/src/main/java/org/elasticsearch/TransportVersion.java for the equivalent definitions. */ /** diff --git a/server/src/main/java/org/elasticsearch/action/search/TransportMultiSearchAction.java b/server/src/main/java/org/elasticsearch/action/search/TransportMultiSearchAction.java index a2324010876bf..f51c700c8c8c9 100644 --- a/server/src/main/java/org/elasticsearch/action/search/TransportMultiSearchAction.java +++ b/server/src/main/java/org/elasticsearch/action/search/TransportMultiSearchAction.java @@ -8,6 +8,9 @@ package org.elasticsearch.action.search; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.elasticsearch.ExceptionsHelper; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; @@ -31,6 +34,7 @@ public class TransportMultiSearchAction extends HandledTransportAction { + private static final Logger logger = LogManager.getLogger(TransportMultiSearchAction.class); private final int allocatedProcessors; private final ThreadPool threadPool; private final ClusterService clusterService; @@ -155,6 +159,9 @@ public void onResponse(final SearchResponse searchResponse) { @Override public void onFailure(final Exception e) { + if (ExceptionsHelper.status(e).getStatus() >= 500 && ExceptionsHelper.isNodeOrShardUnavailableTypeException(e) == false) { + logger.warn("TransportMultiSearchAction failure", e); + } handleResponse(request.responseSlot, new MultiSearchResponse.Item(null, e)); } diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/ComposableIndexTemplate.java b/server/src/main/java/org/elasticsearch/cluster/metadata/ComposableIndexTemplate.java index 47ab1d099c037..faa3010adbf72 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/ComposableIndexTemplate.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/ComposableIndexTemplate.java @@ -107,6 +107,14 @@ public static ComposableIndexTemplate parse(XContentParser parser) throws IOExce return PARSER.parse(parser, null); } + public static Builder builder() { + return new Builder(); + } + + /** + * @deprecated use {@link Builder} instead + */ + @Deprecated(forRemoval = true) public ComposableIndexTemplate( List indexPatterns, @Nullable Template template, @@ -115,9 +123,13 @@ public ComposableIndexTemplate( @Nullable Long version, @Nullable Map metadata ) { - this(indexPatterns, template, componentTemplates, priority, version, metadata, null, null, null); + this(indexPatterns, template, componentTemplates, priority, version, metadata, null, null, null, null); } + /** + * @deprecated use {@link Builder} instead + */ + @Deprecated(forRemoval = true) public ComposableIndexTemplate( List indexPatterns, @Nullable Template template, @@ -127,9 +139,13 @@ public ComposableIndexTemplate( @Nullable Map metadata, @Nullable DataStreamTemplate dataStreamTemplate ) { - this(indexPatterns, template, componentTemplates, priority, version, metadata, dataStreamTemplate, null, null); + this(indexPatterns, template, componentTemplates, priority, version, metadata, dataStreamTemplate, null, null, null); } + /** + * @deprecated use {@link Builder} instead + */ + @Deprecated(forRemoval = true) public ComposableIndexTemplate( List indexPatterns, @Nullable Template template, @@ -140,34 +156,13 @@ public ComposableIndexTemplate( @Nullable DataStreamTemplate dataStreamTemplate, @Nullable Boolean allowAutoCreate ) { - this(indexPatterns, template, componentTemplates, priority, version, metadata, dataStreamTemplate, allowAutoCreate, null); - } - - ComposableIndexTemplate( - List indexPatterns, - @Nullable Template template, - @Nullable List componentTemplates, - @Nullable Long priority, - @Nullable Long version, - @Nullable Map metadata, - @Nullable DataStreamTemplate dataStreamTemplate, - @Nullable Boolean allowAutoCreate, - @Nullable List ignoreMissingComponentTemplates - ) { - this( - indexPatterns, - template, - componentTemplates, - priority, - version, - metadata, - dataStreamTemplate, - allowAutoCreate, - ignoreMissingComponentTemplates, - null - ); + this(indexPatterns, template, componentTemplates, priority, version, metadata, dataStreamTemplate, allowAutoCreate, null, null); } + /** + * @deprecated use {@link Builder} instead + */ + @Deprecated(forRemoval = true) public ComposableIndexTemplate( List indexPatterns, @Nullable Template template, @@ -287,10 +282,6 @@ public List getIgnoreMissingComponentTemplates() { return ignoreMissingComponentTemplates; } - public Boolean deprecated() { - return deprecated; - } - public boolean isDeprecated() { return Boolean.TRUE.equals(deprecated); } @@ -412,6 +403,10 @@ static boolean componentTemplatesEquals(List c1, List c2) { return false; } + public Builder toBuilder() { + return new Builder(this); + } + @Override public String toString() { return Strings.toString(this); @@ -535,8 +530,25 @@ public static class Builder { private List ignoreMissingComponentTemplates; private Boolean deprecated; + /** + * @deprecated use {@link ComposableIndexTemplate#builder()} + */ + @Deprecated(forRemoval = true) public Builder() {} + private Builder(ComposableIndexTemplate template) { + this.indexPatterns = template.indexPatterns; + this.template = template.template; + this.componentTemplates = template.componentTemplates; + this.priority = template.priority; + this.version = template.version; + this.metadata = template.metadata; + this.dataStreamTemplate = template.dataStreamTemplate; + this.allowAutoCreate = template.allowAutoCreate; + this.ignoreMissingComponentTemplates = template.ignoreMissingComponentTemplates; + this.deprecated = template.deprecated; + } + public Builder indexPatterns(List indexPatterns) { this.indexPatterns = indexPatterns; return this; diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java index e0dc1728eab6a..0c78d497d1194 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java @@ -615,18 +615,7 @@ public ClusterState addIndexTemplateV2( CompressedXContent mappings = innerTemplate.mappings(); CompressedXContent wrappedMappings = wrapMappingsIfNecessary(mappings, xContentRegistry); final Template finalTemplate = new Template(finalSettings, wrappedMappings, innerTemplate.aliases(), innerTemplate.lifecycle()); - finalIndexTemplate = new ComposableIndexTemplate( - template.indexPatterns(), - finalTemplate, - template.composedOf(), - template.priority(), - template.version(), - template.metadata(), - template.getDataStreamTemplate(), - template.getAllowAutoCreate(), - template.getIgnoreMissingComponentTemplates(), - template.deprecated() - ); + finalIndexTemplate = template.toBuilder().template(finalTemplate).build(); } if (finalIndexTemplate.equals(existing)) { @@ -713,23 +702,16 @@ private void validateIndexTemplateV2(String name, ComposableIndexTemplate indexT // Then apply settings resolved from templates: finalSettings.put(finalTemplate.map(Template::settings).orElse(Settings.EMPTY)); - var templateToValidate = new ComposableIndexTemplate( - indexTemplate.indexPatterns(), - new Template( - finalSettings.build(), - finalTemplate.map(Template::mappings).orElse(null), - finalTemplate.map(Template::aliases).orElse(null), - finalTemplate.map(Template::lifecycle).orElse(null) - ), - indexTemplate.composedOf(), - indexTemplate.priority(), - indexTemplate.version(), - indexTemplate.metadata(), - indexTemplate.getDataStreamTemplate(), - indexTemplate.getAllowAutoCreate(), - indexTemplate.getIgnoreMissingComponentTemplates(), - indexTemplate.deprecated() - ); + var templateToValidate = indexTemplate.toBuilder() + .template( + new Template( + finalSettings.build(), + finalTemplate.map(Template::mappings).orElse(null), + finalTemplate.map(Template::aliases).orElse(null), + finalTemplate.map(Template::lifecycle).orElse(null) + ) + ) + .build(); validate(name, templateToValidate); validateDataStreamsStillReferenced(currentState, name, templateToValidate); diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/ExpectedShardSizeEstimator.java b/server/src/main/java/org/elasticsearch/cluster/routing/ExpectedShardSizeEstimator.java new file mode 100644 index 0000000000000..05c0876669732 --- /dev/null +++ b/server/src/main/java/org/elasticsearch/cluster/routing/ExpectedShardSizeEstimator.java @@ -0,0 +1,86 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +package org.elasticsearch.cluster.routing; + +import org.elasticsearch.cluster.ClusterInfo; +import org.elasticsearch.cluster.metadata.IndexMetadata; +import org.elasticsearch.cluster.metadata.Metadata; +import org.elasticsearch.cluster.routing.allocation.RoutingAllocation; +import org.elasticsearch.index.Index; +import org.elasticsearch.index.shard.ShardId; +import org.elasticsearch.snapshots.SnapshotShardSizeInfo; + +import java.util.Set; + +public class ExpectedShardSizeEstimator { + + public static long getExpectedShardSize(ShardRouting shardRouting, long defaultSize, RoutingAllocation allocation) { + return getExpectedShardSize( + shardRouting, + defaultSize, + allocation.clusterInfo(), + allocation.snapshotShardSizeInfo(), + allocation.metadata(), + allocation.routingTable() + ); + } + + /** + * Returns the expected shard size for the given shard or the default value provided if not enough information are available + * to estimate the shards size. + */ + public static long getExpectedShardSize( + ShardRouting shard, + long defaultValue, + ClusterInfo clusterInfo, + SnapshotShardSizeInfo snapshotShardSizeInfo, + Metadata metadata, + RoutingTable routingTable + ) { + final IndexMetadata indexMetadata = metadata.getIndexSafe(shard.index()); + if (indexMetadata.getResizeSourceIndex() != null + && shard.active() == false + && shard.recoverySource().getType() == RecoverySource.Type.LOCAL_SHARDS) { + return getExpectedSizeOfResizedShard(shard, defaultValue, indexMetadata, clusterInfo, metadata, routingTable); + } else if (shard.unassigned() && shard.recoverySource().getType() == RecoverySource.Type.SNAPSHOT) { + return snapshotShardSizeInfo.getShardSize(shard, defaultValue); + } else { + return clusterInfo.getShardSize(shard, defaultValue); + } + } + + private static long getExpectedSizeOfResizedShard( + ShardRouting shard, + long defaultValue, + IndexMetadata indexMetadata, + ClusterInfo clusterInfo, + Metadata metadata, + RoutingTable routingTable + ) { + // in the shrink index case we sum up the source index shards since we basically make a copy of the shard in the worst case + long targetShardSize = 0; + final Index mergeSourceIndex = indexMetadata.getResizeSourceIndex(); + final IndexMetadata sourceIndexMetadata = metadata.index(mergeSourceIndex); + if (sourceIndexMetadata != null) { + final Set shardIds = IndexMetadata.selectRecoverFromShards( + shard.id(), + sourceIndexMetadata, + indexMetadata.getNumberOfShards() + ); + final IndexRoutingTable indexRoutingTable = routingTable.index(mergeSourceIndex.getName()); + for (int i = 0; i < indexRoutingTable.size(); i++) { + IndexShardRoutingTable shardRoutingTable = indexRoutingTable.shard(i); + if (shardIds.contains(shardRoutingTable.shardId())) { + targetShardSize += clusterInfo.getShardSize(shardRoutingTable.primaryShard(), 0); + } + } + } + return targetShardSize == 0 ? defaultValue : targetShardSize; + } +} diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/BalancedShardsAllocator.java b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/BalancedShardsAllocator.java index 8d336d2147e11..438c81b5fbb98 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/BalancedShardsAllocator.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/BalancedShardsAllocator.java @@ -31,7 +31,6 @@ import org.elasticsearch.cluster.routing.allocation.decider.AllocationDeciders; import org.elasticsearch.cluster.routing.allocation.decider.Decision; import org.elasticsearch.cluster.routing.allocation.decider.Decision.Type; -import org.elasticsearch.cluster.routing.allocation.decider.DiskThresholdDecider; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.DeprecationCategory; import org.elasticsearch.common.logging.DeprecationLogger; @@ -57,6 +56,7 @@ import java.util.stream.StreamSupport; import static org.elasticsearch.cluster.metadata.SingleNodeShutdownMetadata.Type.REPLACE; +import static org.elasticsearch.cluster.routing.ExpectedShardSizeEstimator.getExpectedShardSize; import static org.elasticsearch.cluster.routing.ShardRoutingState.RELOCATING; import static org.elasticsearch.common.settings.ClusterSettings.createBuiltInClusterSettings; @@ -1037,11 +1037,7 @@ private void allocateUnassigned() { logger.trace("Assigned shard [{}] to [{}]", shard, minNode.getNodeId()); } - final long shardSize = DiskThresholdDecider.getExpectedShardSize( - shard, - ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE, - allocation - ); + final long shardSize = getExpectedShardSize(shard, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE, allocation); shard = routingNodes.initializeShard(shard, minNode.getNodeId(), null, shardSize, allocation.changes()); minNode.addShard(shard); if (shard.primary() == false) { @@ -1064,11 +1060,7 @@ private void allocateUnassigned() { if (minNode != null) { // throttle decision scenario assert allocationDecision.getAllocationStatus() == AllocationStatus.DECIDERS_THROTTLED; - final long shardSize = DiskThresholdDecider.getExpectedShardSize( - shard, - ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE, - allocation - ); + final long shardSize = getExpectedShardSize(shard, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE, allocation); minNode.addShard(shard.initialize(minNode.getNodeId(), null, shardSize)); } else { if (logger.isTraceEnabled()) { diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/DesiredBalanceReconciler.java b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/DesiredBalanceReconciler.java index 048ade3ef86c5..6fac97e34d022 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/DesiredBalanceReconciler.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/DesiredBalanceReconciler.java @@ -21,7 +21,6 @@ import org.elasticsearch.cluster.routing.UnassignedInfo.AllocationStatus; import org.elasticsearch.cluster.routing.allocation.RoutingAllocation; import org.elasticsearch.cluster.routing.allocation.decider.Decision; -import org.elasticsearch.cluster.routing.allocation.decider.DiskThresholdDecider; import org.elasticsearch.common.Strings; import org.elasticsearch.common.settings.ClusterSettings; import org.elasticsearch.common.settings.Setting; @@ -40,6 +39,7 @@ import java.util.stream.IntStream; import static org.elasticsearch.cluster.metadata.SingleNodeShutdownMetadata.Type.REPLACE; +import static org.elasticsearch.cluster.routing.ExpectedShardSizeEstimator.getExpectedShardSize; /** * Given the current allocation of shards and the desired balance, performs the next (legal) shard movements towards the goal. @@ -271,14 +271,7 @@ private void allocateUnassigned() { switch (decision.type()) { case YES -> { logger.debug("Assigning shard [{}] to {} [{}]", shard, nodeIdsIterator.source, nodeId); - final long shardSize = DiskThresholdDecider.getExpectedShardSize( - shard, - ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE, - allocation.clusterInfo(), - allocation.snapshotShardSizeInfo(), - allocation.metadata(), - allocation.routingTable() - ); + long shardSize = getExpectedShardSize(shard, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE, allocation); routingNodes.initializeShard(shard, nodeId, null, shardSize, allocation.changes()); allocationOrdering.recordAllocation(nodeId); if (shard.primary() == false) { diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java index d916aa7638786..fe001480e5f46 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java @@ -15,8 +15,6 @@ import org.elasticsearch.cluster.DiskUsage; import org.elasticsearch.cluster.metadata.IndexMetadata; import org.elasticsearch.cluster.metadata.Metadata; -import org.elasticsearch.cluster.routing.IndexRoutingTable; -import org.elasticsearch.cluster.routing.IndexShardRoutingTable; import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.RoutingNode; import org.elasticsearch.cluster.routing.RoutingTable; @@ -29,12 +27,10 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.SettingsException; import org.elasticsearch.common.unit.ByteSizeValue; -import org.elasticsearch.index.Index; -import org.elasticsearch.index.shard.ShardId; -import org.elasticsearch.snapshots.SnapshotShardSizeInfo; import java.util.Map; -import java.util.Set; + +import static org.elasticsearch.cluster.routing.ExpectedShardSizeEstimator.getExpectedShardSize; /** * The {@link DiskThresholdDecider} checks that the node a shard is potentially @@ -541,61 +537,6 @@ private Decision earlyTerminate(Map usages) { return null; } - public static long getExpectedShardSize(ShardRouting shardRouting, long defaultSize, RoutingAllocation allocation) { - return DiskThresholdDecider.getExpectedShardSize( - shardRouting, - defaultSize, - allocation.clusterInfo(), - allocation.snapshotShardSizeInfo(), - allocation.metadata(), - allocation.routingTable() - ); - } - - /** - * Returns the expected shard size for the given shard or the default value provided if not enough information are available - * to estimate the shards size. - */ - public static long getExpectedShardSize( - ShardRouting shard, - long defaultValue, - ClusterInfo clusterInfo, - SnapshotShardSizeInfo snapshotShardSizeInfo, - Metadata metadata, - RoutingTable routingTable - ) { - final IndexMetadata indexMetadata = metadata.getIndexSafe(shard.index()); - if (indexMetadata.getResizeSourceIndex() != null - && shard.active() == false - && shard.recoverySource().getType() == RecoverySource.Type.LOCAL_SHARDS) { - // in the shrink index case we sum up the source index shards since we basically make a copy of the shard in - // the worst case - long targetShardSize = 0; - final Index mergeSourceIndex = indexMetadata.getResizeSourceIndex(); - final IndexMetadata sourceIndexMeta = metadata.index(mergeSourceIndex); - if (sourceIndexMeta != null) { - final Set shardIds = IndexMetadata.selectRecoverFromShards( - shard.id(), - sourceIndexMeta, - indexMetadata.getNumberOfShards() - ); - final IndexRoutingTable indexRoutingTable = routingTable.index(mergeSourceIndex.getName()); - for (int i = 0; i < indexRoutingTable.size(); i++) { - IndexShardRoutingTable shardRoutingTable = indexRoutingTable.shard(i); - if (shardIds.contains(shardRoutingTable.shardId())) { - targetShardSize += clusterInfo.getShardSize(shardRoutingTable.primaryShard(), 0); - } - } - } - return targetShardSize == 0 ? defaultValue : targetShardSize; - } else { - if (shard.unassigned() && shard.recoverySource().getType() == RecoverySource.Type.SNAPSHOT) { - return snapshotShardSizeInfo.getShardSize(shard, defaultValue); - } - return clusterInfo.getShardSize(shard, defaultValue); - } - } - record DiskUsageWithRelocations(DiskUsage diskUsage, long relocatingShardSize) { double getFreeDiskAsPercentage() { diff --git a/server/src/main/java/org/elasticsearch/repositories/ShardGenerations.java b/server/src/main/java/org/elasticsearch/repositories/ShardGenerations.java index 6e8ae1956f945..e42552d3e5f3c 100644 --- a/server/src/main/java/org/elasticsearch/repositories/ShardGenerations.java +++ b/server/src/main/java/org/elasticsearch/repositories/ShardGenerations.java @@ -9,6 +9,7 @@ package org.elasticsearch.repositories; import org.elasticsearch.cluster.SnapshotsInProgress; +import org.elasticsearch.common.Strings; import org.elasticsearch.core.Nullable; import org.elasticsearch.index.snapshots.IndexShardSnapshotStatus; @@ -219,12 +220,22 @@ public Builder put(IndexId indexId, int shardId, SnapshotsInProgress.ShardSnapsh } public Builder put(IndexId indexId, int shardId, ShardGeneration generation) { + assert noDuplicateIndicesWithSameName(indexId); ShardGeneration existingGeneration = generations.computeIfAbsent(indexId, i -> new HashMap<>()).put(shardId, generation); assert generation != null || existingGeneration == null : "must not overwrite existing generation with null generation [" + existingGeneration + "]"; return this; } + private boolean noDuplicateIndicesWithSameName(IndexId newId) { + for (IndexId id : generations.keySet()) { + if (id.getName().equals(newId.getName()) && id.equals(newId) == false) { + assert false : Strings.format("Unable to add: %s. There's another index id with the same name: %s", newId, id); + } + } + return true; + } + public ShardGenerations build() { return new ShardGenerations(generations.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, entry -> { final Set shardIds = entry.getValue().keySet(); diff --git a/server/src/main/java/org/elasticsearch/rest/action/cat/RestAllocationAction.java b/server/src/main/java/org/elasticsearch/rest/action/cat/RestAllocationAction.java index e2767e45f4858..2dc657582a0a1 100644 --- a/server/src/main/java/org/elasticsearch/rest/action/cat/RestAllocationAction.java +++ b/server/src/main/java/org/elasticsearch/rest/action/cat/RestAllocationAction.java @@ -92,7 +92,7 @@ protected Table getTableWithHeader(final RestRequest request) { table.addCell("host", "alias:h;desc:host of node"); table.addCell("ip", "desc:ip of node"); table.addCell("node", "alias:n;desc:name of node"); - table.addCell("node.role", "default:false;alias:r,role,nodeRole;desc:node roles"); + table.addCell("node.role", "alias:r,role,nodeRole;desc:node roles"); table.endHeaders(); return table; } diff --git a/server/src/main/java/org/elasticsearch/search/SearchHit.java b/server/src/main/java/org/elasticsearch/search/SearchHit.java index 9fa99bb4a773f..6c04f6feddc96 100644 --- a/server/src/main/java/org/elasticsearch/search/SearchHit.java +++ b/server/src/main/java/org/elasticsearch/search/SearchHit.java @@ -1001,7 +1001,7 @@ private static Map parseHighlightFields(XContentParser p Map highlightFields = new HashMap<>(); while ((parser.nextToken()) != XContentParser.Token.END_OBJECT) { HighlightField highlightField = HighlightField.fromXContent(parser); - highlightFields.put(highlightField.getName(), highlightField); + highlightFields.put(highlightField.name(), highlightField); } return highlightFields; } diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java b/server/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java index 98c131213b3fe..0738303020de5 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java @@ -366,7 +366,6 @@ public Builder addPipelineAggregator(PipelineAggregationBuilder pipelineAggregat public ActionRequestValidationException validate(ActionRequestValidationException e) { PipelineAggregationBuilder.ValidationContext context = PipelineAggregationBuilder.ValidationContext.forTreeRoot( aggregationBuilders, - pipelineAggregatorBuilders, e ); validatePipelines(context); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/PipelineAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/PipelineAggregationBuilder.java index 153a54bf890e4..6ce5b32864f18 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/PipelineAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/PipelineAggregationBuilder.java @@ -74,10 +74,9 @@ public abstract static class ValidationContext { */ public static ValidationContext forTreeRoot( Collection siblingAggregations, - Collection siblingPipelineAggregations, ActionRequestValidationException validationFailuresSoFar ) { - return new ForTreeRoot(siblingAggregations, siblingPipelineAggregations, validationFailuresSoFar); + return new ForTreeRoot(siblingAggregations, validationFailuresSoFar); } /** @@ -95,16 +94,10 @@ private ValidationContext(ActionRequestValidationException validationFailuresSoF private static class ForTreeRoot extends ValidationContext { private final Collection siblingAggregations; - private final Collection siblingPipelineAggregations; - ForTreeRoot( - Collection siblingAggregations, - Collection siblingPipelineAggregations, - ActionRequestValidationException validationFailuresSoFar - ) { + ForTreeRoot(Collection siblingAggregations, ActionRequestValidationException validationFailuresSoFar) { super(validationFailuresSoFar); this.siblingAggregations = Objects.requireNonNull(siblingAggregations); - this.siblingPipelineAggregations = Objects.requireNonNull(siblingPipelineAggregations); } @Override diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridAggregationBuilder.java index e0edebd7e5201..faeb569688994 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridAggregationBuilder.java @@ -110,11 +110,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoTileGridAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoTileGridAggregationBuilder.java index b7532bdcb4e5b..72d3ee2267a87 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoTileGridAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoTileGridAggregationBuilder.java @@ -106,11 +106,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.V_7_0_0; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java index 2653f9ac53553..20223f6f92524 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java @@ -401,11 +401,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override protected ValuesSourceAggregatorFactory innerBuild( AggregationContext context, diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java index f5fb2d128f75f..fa2c5dc219cba 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java @@ -360,11 +360,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override protected ValuesSourceAggregatorFactory innerBuild( AggregationContext context, diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/VariableWidthHistogramAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/VariableWidthHistogramAggregationBuilder.java index 04e73691979f8..cc7619070b96a 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/VariableWidthHistogramAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/VariableWidthHistogramAggregationBuilder.java @@ -232,11 +232,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.V_7_9_0; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java index 915d7c32b4c74..f7c190b443a79 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java @@ -114,11 +114,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/prefix/IpPrefixAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/prefix/IpPrefixAggregationBuilder.java index 733a306a70c75..a64c1221698c2 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/prefix/IpPrefixAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/prefix/IpPrefixAggregationBuilder.java @@ -188,11 +188,6 @@ protected void innerWriteTo(StreamOutput out) throws IOException { out.writeBoolean(keyed); } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override protected ValuesSourceType defaultValueSourceType() { return CoreValuesSourceType.IP; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/DateRangeAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/DateRangeAggregationBuilder.java index 59baf14f988f6..b6462f0f17bad 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/DateRangeAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/DateRangeAggregationBuilder.java @@ -124,11 +124,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; @@ -227,19 +222,6 @@ public DateRangeAggregationBuilder addRange(double from, double to) { return addRange(null, from, to); } - /** - * Add a new range with no lower bound. - * - * @param key - * the key to use for this range in the response - * @param to - * the upper bound on the dates, exclusive - */ - public DateRangeAggregationBuilder addUnboundedTo(String key, double to) { - addRange(new RangeAggregator.Range(key, null, to)); - return this; - } - /** * Add a new range with no upper bound. * diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/GeoDistanceAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/GeoDistanceAggregationBuilder.java index ffc6d68f21a05..dc0b42f507d84 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/GeoDistanceAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/GeoDistanceAggregationBuilder.java @@ -401,11 +401,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - public GeoDistanceAggregationBuilder unit(DistanceUnit unit) { if (unit == null) { throw new IllegalArgumentException("[unit] must not be null: [" + name + "]"); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/IpRangeAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/IpRangeAggregationBuilder.java index 42f6d9957c329..9c22917b81c8e 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/IpRangeAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/IpRangeAggregationBuilder.java @@ -226,20 +226,11 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - public IpRangeAggregationBuilder keyed(boolean keyed) { this.keyed = keyed; return this; } - public boolean keyed() { - return keyed; - } - /** Add a new {@link Range} to this aggregation. */ public IpRangeAggregationBuilder addRange(Range range) { ranges.add(range); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java index f9fc993c3f347..e94d7c1ebcaed 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java @@ -198,11 +198,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java index 90c29a8e3556f..e77b15e1ed1d4 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java @@ -185,11 +185,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalMappedRareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalMappedRareTerms.java index f1b9608c9c2cf..aaa9857fc1562 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalMappedRareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalMappedRareTerms.java @@ -28,8 +28,6 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; -import java.util.function.Function; -import java.util.stream.Collectors; public abstract class InternalMappedRareTerms, B extends InternalRareTerms.Bucket> extends InternalRareTerms { @@ -156,14 +154,6 @@ public List getBuckets() { return buckets; } - @Override - public B getBucketByKey(String term) { - if (bucketMap == null) { - bucketMap = buckets.stream().collect(Collectors.toMap(InternalRareTerms.Bucket::getKeyAsString, Function.identity())); - } - return bucketMap.get(term); - } - @Override public boolean equals(Object obj) { if (this == obj) return true; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalRareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalRareTerms.java index a9870d113ae3a..6cd4c76317106 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalRareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalRareTerms.java @@ -141,9 +141,6 @@ protected final void doWriteTo(StreamOutput out) throws IOException { @Override public abstract List getBuckets(); - @Override - public abstract B getBucketByKey(String term); - @Override public InternalAggregation reduce(List aggregations, AggregationReduceContext reduceContext) { throw new UnsupportedOperationException(); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongRareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongRareTerms.java index 2f8b685d4d623..f8e7ca460ea48 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongRareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongRareTerms.java @@ -57,11 +57,6 @@ public Object getKey() { return term; } - @Override - public Number getKeyAsNumber() { - return term; - } - @Override public int compareKey(Bucket other) { return Long.compare(term, other.term); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedLongRareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedLongRareTerms.java index c383d27022648..616bfb3d5a115 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedLongRareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedLongRareTerms.java @@ -57,10 +57,6 @@ public String getKeyAsString() { return null; } - public Number getKeyAsNumber() { - return key; - } - @Override protected XContentBuilder keyToXContent(XContentBuilder builder) throws IOException { builder.field(CommonFields.KEY.getPreferredName(), key); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedRareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedRareTerms.java index 3edf31b9ed69d..e1e865760d5e7 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedRareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedRareTerms.java @@ -29,16 +29,6 @@ public List getBuckets() { return buckets; } - @Override - public RareTerms.Bucket getBucketByKey(String term) { - for (RareTerms.Bucket bucket : getBuckets()) { - if (bucket.getKeyAsString().equals(term)) { - return bucket; - } - } - return null; - } - @Override protected XContentBuilder doXContentBody(XContentBuilder builder, Params params) throws IOException { builder.startArray(CommonFields.BUCKETS.getPreferredName()); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedSignificantLongTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedSignificantLongTerms.java index 9f7bfb564b73f..13cdc88a0082d 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedSignificantLongTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedSignificantLongTerms.java @@ -52,10 +52,6 @@ public String getKeyAsString() { return Long.toString(key); } - public Number getKeyAsNumber() { - return key; - } - @Override protected XContentBuilder keyToXContent(XContentBuilder builder) throws IOException { builder.field(CommonFields.KEY.getPreferredName(), key); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedSignificantStringTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedSignificantStringTerms.java index f2b1375b7bd94..28cb9a6fb2a44 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedSignificantStringTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedSignificantStringTerms.java @@ -54,10 +54,6 @@ public String getKeyAsString() { return key.utf8ToString(); } - public Number getKeyAsNumber() { - return Double.parseDouble(key.utf8ToString()); - } - @Override protected XContentBuilder keyToXContent(XContentBuilder builder) throws IOException { return builder.field(CommonFields.KEY.getPreferredName(), getKey()); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedStringRareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedStringRareTerms.java index 24923a115b27c..e19d07f5ee22d 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedStringRareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/ParsedStringRareTerms.java @@ -59,13 +59,6 @@ public String getKeyAsString() { return null; } - public Number getKeyAsNumber() { - if (key != null) { - return Double.parseDouble(key.utf8ToString()); - } - return null; - } - @Override protected XContentBuilder keyToXContent(XContentBuilder builder) throws IOException { return builder.field(CommonFields.KEY.getPreferredName(), getKey()); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/RareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/RareTerms.java index 9b544296982e8..33d4443a49148 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/RareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/RareTerms.java @@ -18,7 +18,6 @@ public interface RareTerms extends MultiBucketsAggregation { */ interface Bucket extends MultiBucketsAggregation.Bucket { - Number getKeyAsNumber(); } /** @@ -27,9 +26,4 @@ interface Bucket extends MultiBucketsAggregation.Bucket { @Override List getBuckets(); - /** - * Get the bucket for the given term, or null if there is no such bucket. - */ - Bucket getBucketByKey(String term); - } diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/RareTermsAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/RareTermsAggregationBuilder.java index 0422428e6b728..f2ea616802655 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/RareTermsAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/RareTermsAggregationBuilder.java @@ -237,11 +237,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.V_7_3_0; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantLongTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantLongTerms.java index 6040c5e42e841..3d188e1fd09f7 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantLongTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantLongTerms.java @@ -72,11 +72,6 @@ public String getKeyAsString() { return format.format(term).toString(); } - @Override - public Number getKeyAsNumber() { - return term; - } - @Override protected XContentBuilder keyToXContent(XContentBuilder builder) throws IOException { builder.field(CommonFields.KEY.getPreferredName(), term); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantStringTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantStringTerms.java index 9782093401396..b35359c80a75e 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantStringTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantStringTerms.java @@ -66,12 +66,6 @@ public void writeTo(StreamOutput out) throws IOException { aggregations.writeTo(out); } - @Override - public Number getKeyAsNumber() { - // this method is needed for scripted numeric aggregations - return Double.parseDouble(termBytes.utf8ToString()); - } - @Override public String getKeyAsString() { return format.format(termBytes).toString(); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTerms.java index 55be3342a10d7..f28054aaf52eb 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTerms.java @@ -47,10 +47,6 @@ interface Bucket extends MultiBucketsAggregation.Bucket { */ long getSupersetSize(); - /** - * @return The key, expressed as a number - */ - Number getKeyAsNumber(); } @Override diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTermsAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTermsAggregationBuilder.java index bb89e7d54bcb6..056a8a00dd72f 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTermsAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTermsAggregationBuilder.java @@ -360,11 +360,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.V_7_3_0; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/StringRareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/StringRareTerms.java index 18cc44c7e32ab..1cbb38790ed37 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/StringRareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/StringRareTerms.java @@ -50,20 +50,6 @@ public Object getKey() { return getKeyAsString(); } - // this method is needed for scripted numeric aggs - @Override - public Number getKeyAsNumber() { - /* - * If the term is a long greater than 2^52 then parsing as a double would lose accuracy. Therefore, we first parse as a long and - * if this fails then we attempt to parse the term as a double. - */ - try { - return Long.parseLong(termBytes.utf8ToString()); - } catch (final NumberFormatException ignored) { - return Double.parseDouble(termBytes.utf8ToString()); - } - } - @Override public String getKeyAsString() { return format.format(termBytes).toString(); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java index 46b5e2d6d7980..ebc6b2c1cc70c 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java @@ -436,11 +436,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/UnmappedRareTerms.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/UnmappedRareTerms.java index 2ad69b98597e2..eb504e05292a6 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/UnmappedRareTerms.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/UnmappedRareTerms.java @@ -107,9 +107,4 @@ public List getBuckets() { return emptyList(); } - @Override - public UnmappedRareTerms.Bucket getBucketByKey(String term) { - return null; - } - } diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/AvgAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/AvgAggregationBuilder.java index e66d3d0a34580..3038e35dc06ac 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/AvgAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/AvgAggregationBuilder.java @@ -99,11 +99,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/CardinalityAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/CardinalityAggregationBuilder.java index 615b46434226d..25d38b11b03ff 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/CardinalityAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/CardinalityAggregationBuilder.java @@ -132,25 +132,6 @@ public CardinalityAggregationBuilder precisionThreshold(long precisionThreshold) return this; } - /** - * Get the precision threshold. Higher values improve accuracy but also - * increase memory usage. Will return null if the - * precisionThreshold has not been set yet. - */ - public Long precisionThreshold() { - return precisionThreshold; - } - - /** - * Get the execution hint. This is an optional user specified hint that - * will be used to decide on the specific collection algorithm. Since this - * is a hint, the implementation may choose to ignore it (typically when - * the specified method is not applicable to the given field type) - */ - public String ExecutionHint() { - return executionHint; - } - /** * Set the execution hint. This is an optional user specified hint that * will be used to decide on the specific collection algorithm. Since this @@ -213,11 +194,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ExtendedStatsAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ExtendedStatsAggregationBuilder.java index 21b3ebfeeaf4d..91257fb2cd88e 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ExtendedStatsAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ExtendedStatsAggregationBuilder.java @@ -140,11 +140,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/GeoBoundsAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/GeoBoundsAggregationBuilder.java index 3360ed63b2307..e109cb4066785 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/GeoBoundsAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/GeoBoundsAggregationBuilder.java @@ -144,11 +144,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/GeoCentroidAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/GeoCentroidAggregationBuilder.java index ac0ffae7ac2e1..d5fbeb0459a3b 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/GeoCentroidAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/GeoCentroidAggregationBuilder.java @@ -106,11 +106,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalStats.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalStats.java index 6dccdf0c2fae4..2c6b28362c128 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalStats.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalStats.java @@ -226,7 +226,7 @@ public XContentBuilder doXContentBody(XContentBuilder builder, Params params) th return builder; } - protected XContentBuilder otherStatsToXContent(XContentBuilder builder, Params params) throws IOException { + protected XContentBuilder otherStatsToXContent(XContentBuilder builder, @SuppressWarnings("unused") Params params) throws IOException { return builder; } diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MaxAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MaxAggregationBuilder.java index b4bb1f01b0662..e14de225dcd92 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MaxAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MaxAggregationBuilder.java @@ -103,11 +103,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MedianAbsoluteDeviationAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MedianAbsoluteDeviationAggregationBuilder.java index 315e0bab027c5..8f5d3c1b9f322 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MedianAbsoluteDeviationAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MedianAbsoluteDeviationAggregationBuilder.java @@ -81,13 +81,6 @@ protected MedianAbsoluteDeviationAggregationBuilder( this.executionHint = clone.executionHint; } - /** - * Returns the compression factor of the t-digest sketches used - */ - public double compression() { - return compression; - } - /** * Set the compression factor of the t-digest sketches used */ @@ -187,11 +180,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MinAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MinAggregationBuilder.java index 3d4957feba7db..d410fb032117e 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MinAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/MinAggregationBuilder.java @@ -105,11 +105,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/PercentileRanksAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/PercentileRanksAggregationBuilder.java index e61105b5822cf..6854ff8f8b632 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/PercentileRanksAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/PercentileRanksAggregationBuilder.java @@ -110,11 +110,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/PercentilesAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/PercentilesAggregationBuilder.java index 0347d157cf3c5..934619ae76b7d 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/PercentilesAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/PercentilesAggregationBuilder.java @@ -146,11 +146,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ScriptedMetricAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ScriptedMetricAggregationBuilder.java index 8386bb8bbdb06..0596af8cbb51d 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ScriptedMetricAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ScriptedMetricAggregationBuilder.java @@ -127,13 +127,6 @@ public ScriptedMetricAggregationBuilder initScript(Script initScript) { return this; } - /** - * Get the {@code init} script. - */ - public Script initScript() { - return initScript; - } - /** * Set the {@code map} script. */ @@ -145,13 +138,6 @@ public ScriptedMetricAggregationBuilder mapScript(Script mapScript) { return this; } - /** - * Get the {@code map} script. - */ - public Script mapScript() { - return mapScript; - } - /** * Set the {@code combine} script. */ @@ -163,13 +149,6 @@ public ScriptedMetricAggregationBuilder combineScript(Script combineScript) { return this; } - /** - * Get the {@code combine} script. - */ - public Script combineScript() { - return combineScript; - } - /** * Set the {@code reduce} script. */ @@ -181,13 +160,6 @@ public ScriptedMetricAggregationBuilder reduceScript(Script reduceScript) { return this; } - /** - * Get the {@code reduce} script. - */ - public Script reduceScript() { - return reduceScript; - } - /** * Set parameters that will be available in the {@code init}, * {@code map} and {@code combine} phases. @@ -200,14 +172,6 @@ public ScriptedMetricAggregationBuilder params(Map params) { return this; } - /** - * Get parameters that will be available in the {@code init}, - * {@code map} and {@code combine} phases. - */ - public Map params() { - return params; - } - @Override public BucketCardinality bucketCardinality() { return BucketCardinality.NONE; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/StatsAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/StatsAggregationBuilder.java index e978ffec42b4a..f6a04a9d64684 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/StatsAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/StatsAggregationBuilder.java @@ -110,11 +110,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/SumAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/SumAggregationBuilder.java index da441363020bd..feeecc2d5a06a 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/SumAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/SumAggregationBuilder.java @@ -103,11 +103,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ValueCountAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ValueCountAggregationBuilder.java index 71f745559fc77..3b815640e1199 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ValueCountAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/ValueCountAggregationBuilder.java @@ -112,11 +112,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.ZERO; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/support/AggregationContext.java b/server/src/main/java/org/elasticsearch/search/aggregations/support/AggregationContext.java index 822dd6d983e5c..c2aa26409f010 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/support/AggregationContext.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/support/AggregationContext.java @@ -150,11 +150,6 @@ public final FieldContext buildFieldContext(MappedFieldType ft) { */ public abstract Set getMatchingFieldNames(String pattern); - /** - * Returns true if the field identified by the provided name is mapped, false otherwise - */ - public abstract boolean isFieldMapped(String field); - /** * Compile a script. */ @@ -474,11 +469,6 @@ public Set getMatchingFieldNames(String pattern) { return context.getMatchingFieldNames(pattern); } - @Override - public boolean isFieldMapped(String field) { - return context.isFieldMapped(field); - } - @Override public FactoryType compile(Script script, ScriptContext scriptContext) { return context.compile(script, scriptContext); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceFieldConfig.java b/server/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceFieldConfig.java index 9f698528dcefb..42330b995ae94 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceFieldConfig.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceFieldConfig.java @@ -310,37 +310,21 @@ public static class Builder { private String format = null; private IncludeExclude includeExclude = null; - public String getFieldName() { - return fieldName; - } - public Builder setFieldName(String fieldName) { this.fieldName = fieldName; return this; } - public Object getMissing() { - return missing; - } - public Builder setMissing(Object missing) { this.missing = missing; return this; } - public Script getScript() { - return script; - } - public Builder setScript(Script script) { this.script = script; return this; } - public ZoneId getTimeZone() { - return timeZone; - } - public Builder setTimeZone(ZoneId timeZone) { this.timeZone = timeZone; return this; @@ -356,19 +340,11 @@ public Builder setUserValueTypeHint(ValueType userValueTypeHint) { return this; } - public ValueType getUserValueTypeHint() { - return userValueTypeHint; - } - public Builder setFormat(String format) { this.format = format; return this; } - public String getFormat() { - return format; - } - public Builder setIncludeExclude(IncludeExclude includeExclude) { this.includeExclude = includeExclude; return this; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/support/TimeSeriesIndexSearcher.java b/server/src/main/java/org/elasticsearch/search/aggregations/support/TimeSeriesIndexSearcher.java index 375ccd127dc9e..21138f46e974e 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/support/TimeSeriesIndexSearcher.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/support/TimeSeriesIndexSearcher.java @@ -240,8 +240,6 @@ private static class LeafWalker { private final SortedNumericDocValues timestamps; // TODO can we have this just a NumericDocValues? private final BytesRefBuilder scratch = new BytesRefBuilder(); - private final Scorer scorer; - int docId = -1; int tsidOrd; long timestamp; @@ -252,7 +250,6 @@ private static class LeafWalker { this.collector = bucketCollector.getLeafCollector(aggCtx); liveDocs = context.reader().getLiveDocs(); this.collector.setScorer(scorer); - this.scorer = scorer; iterator = scorer.iterator(); tsids = DocValues.getSorted(context.reader(), TimeSeriesIdFieldMapper.NAME); timestamps = DocValues.getSortedNumeric(context.reader(), DataStream.TIMESTAMP_FIELD_NAME); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValueType.java b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValueType.java index 2106976252581..bc83a5b5cd3b1 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValueType.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValueType.java @@ -49,7 +49,7 @@ public enum ValueType implements Writeable { final ValuesSourceType valuesSourceType; final DocValueFormat defaultFormat; private final byte id; - private String preferredName; + private final String preferredName; public static final ParseField VALUE_TYPE = new ParseField("value_type", "valueType"); @@ -101,10 +101,6 @@ public boolean isNotA(ValueType valueType) { return isA(valueType) == false; } - public DocValueFormat defaultFormat() { - return defaultFormat; - } - public static ValueType lenientParse(String type) { return switch (type) { case "string" -> STRING; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceAggregationBuilder.java b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceAggregationBuilder.java index c1b9b8c376a59..2b7e27eb97c7d 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceAggregationBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceAggregationBuilder.java @@ -374,14 +374,6 @@ public AB missing(Object missing) { return (AB) this; } - /** - * Gets the value to use when the aggregation finds a missing value in a - * document - */ - public Object missing() { - return missing; - } - /** * Sets the time zone to use for this aggregation */ @@ -422,8 +414,6 @@ protected final ValuesSourceAggregatorFactory doBuild(AggregationContext context return factory; } - protected abstract ValuesSourceRegistry.RegistryKey getRegistryKey(); - /** * Aggregations should use this method to define a {@link ValuesSourceType} of last resort. This will only be used when the resolver * can't find a field and the user hasn't provided a value type hint. diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceRegistry.java b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceRegistry.java index 6249612184157..c33ad5266d4e2 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceRegistry.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceRegistry.java @@ -150,7 +150,7 @@ public ValuesSourceRegistry build() { /** Maps Aggregation names to (ValuesSourceType, Supplier) pairs, keyed by ValuesSourceType */ private final AggregationUsageService usageService; - private Map, Map> aggregatorRegistry; + private final Map, Map> aggregatorRegistry; public ValuesSourceRegistry( Map, List>> aggregatorRegistry, @@ -160,10 +160,6 @@ public ValuesSourceRegistry( this.usageService = usageService; } - public boolean isRegistered(RegistryKey registryKey) { - return aggregatorRegistry.containsKey(registryKey); - } - public T getAggregator(RegistryKey registryKey, ValuesSourceConfig valuesSourceConfig) { if (registryKey != null && aggregatorRegistry.containsKey(registryKey)) { @SuppressWarnings("unchecked") diff --git a/server/src/main/java/org/elasticsearch/search/dfs/AggregatedDfs.java b/server/src/main/java/org/elasticsearch/search/dfs/AggregatedDfs.java index 1bd70b5c14817..0ce6824ec432b 100644 --- a/server/src/main/java/org/elasticsearch/search/dfs/AggregatedDfs.java +++ b/server/src/main/java/org/elasticsearch/search/dfs/AggregatedDfs.java @@ -21,9 +21,9 @@ public class AggregatedDfs implements Writeable { - private Map termStatistics; - private Map fieldStatistics; - private long maxDoc; + private final Map termStatistics; + private final Map fieldStatistics; + private final long maxDoc; public AggregatedDfs(StreamInput in) throws IOException { int size = in.readVInt(); @@ -51,10 +51,6 @@ public Map fieldStatistics() { return fieldStatistics; } - public long maxDoc() { - return maxDoc; - } - @Override public void writeTo(final StreamOutput out) throws IOException { out.writeMap(termStatistics, (o, k) -> { diff --git a/server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java b/server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java index 5a04404c2e38a..91ac7356a9670 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java @@ -91,7 +91,7 @@ private static class PreloadedSourceProvider implements SourceProvider { Source source; @Override - public Source getSource(LeafReaderContext ctx, int doc) throws IOException { + public Source getSource(LeafReaderContext ctx, int doc) { return source; } } diff --git a/server/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java b/server/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java index ae0e52ab69091..c3a91fde896bd 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java @@ -115,7 +115,7 @@ public boolean equals(Object o) { StoredFieldsContext that = (StoredFieldsContext) o; if (fetchFields != that.fetchFields) return false; - return fieldNames != null ? fieldNames.equals(that.fieldNames) : that.fieldNames == null; + return Objects.equals(fieldNames, that.fieldNames); } @@ -164,7 +164,7 @@ public static StoredFieldsContext fromXContent(String fieldName, XContentParser return fromList(Collections.singletonList(parser.text())); } else if (token == XContentParser.Token.START_ARRAY) { ArrayList list = new ArrayList<>(); - while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { + while (parser.nextToken() != XContentParser.Token.END_ARRAY) { list.add(parser.text()); } return fromList(list); diff --git a/server/src/main/java/org/elasticsearch/search/fetch/StoredFieldsSpec.java b/server/src/main/java/org/elasticsearch/search/fetch/StoredFieldsSpec.java index 45054a90c749f..48aea98887ff0 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/StoredFieldsSpec.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/StoredFieldsSpec.java @@ -27,12 +27,12 @@ public boolean noRequirements() { /** * Use when no stored fields are required */ - public static StoredFieldsSpec NO_REQUIREMENTS = new StoredFieldsSpec(false, false, Set.of()); + public static final StoredFieldsSpec NO_REQUIREMENTS = new StoredFieldsSpec(false, false, Set.of()); /** * Use when the source should be loaded but no other stored fields are required */ - public static StoredFieldsSpec NEEDS_SOURCE = new StoredFieldsSpec(true, false, Set.of()); + public static final StoredFieldsSpec NEEDS_SOURCE = new StoredFieldsSpec(true, false, Set.of()); /** * Combine these stored field requirements with those from another StoredFieldsSpec diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceContext.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceContext.java index bba614dce78a5..4587d7560b2d9 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceContext.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceContext.java @@ -26,8 +26,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Map; -import java.util.function.Function; /** * Context used to fetch the {@code _source}. @@ -42,7 +40,6 @@ public class FetchSourceContext implements Writeable, ToXContentObject { private final boolean fetchSource; private final String[] includes; private final String[] excludes; - private Function, Map> filter; public static FetchSourceContext of(boolean fetchSource) { return fetchSource ? FETCH_SOURCE : DO_NOT_FETCH_SOURCE; @@ -153,33 +150,9 @@ public static FetchSourceContext fromXContent(XContentParser parser) throws IOEx currentFieldName = parser.currentName(); } else if (token == XContentParser.Token.START_ARRAY) { if (INCLUDES_FIELD.match(currentFieldName, parser.getDeprecationHandler())) { - List includesList = new ArrayList<>(); - while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { - if (token == XContentParser.Token.VALUE_STRING) { - includesList.add(parser.text()); - } else { - throw new ParsingException( - parser.getTokenLocation(), - "Unknown key for a " + token + " in [" + currentFieldName + "].", - parser.getTokenLocation() - ); - } - } - includes = includesList.toArray(Strings.EMPTY_ARRAY); + includes = parseStringArray(parser, currentFieldName); } else if (EXCLUDES_FIELD.match(currentFieldName, parser.getDeprecationHandler())) { - List excludesList = new ArrayList<>(); - while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { - if (token == XContentParser.Token.VALUE_STRING) { - excludesList.add(parser.text()); - } else { - throw new ParsingException( - parser.getTokenLocation(), - "Unknown key for a " + token + " in [" + currentFieldName + "].", - parser.getTokenLocation() - ); - } - } - excludes = excludesList.toArray(Strings.EMPTY_ARRAY); + excludes = parseStringArray(parser, currentFieldName); } else { throw new ParsingException( parser.getTokenLocation(), @@ -227,6 +200,25 @@ public static FetchSourceContext fromXContent(XContentParser parser) throws IOEx return FetchSourceContext.of(fetchSource, includes, excludes); } + private static String[] parseStringArray(XContentParser parser, String currentFieldName) throws IOException { + XContentParser.Token token; + String[] excludes; + List excludesList = new ArrayList<>(); + while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { + if (token == XContentParser.Token.VALUE_STRING) { + excludesList.add(parser.text()); + } else { + throw new ParsingException( + parser.getTokenLocation(), + "Unknown key for a " + token + " in [" + currentFieldName + "].", + parser.getTokenLocation() + ); + } + } + excludes = excludesList.toArray(Strings.EMPTY_ARRAY); + return excludes; + } + @Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { if (fetchSource) { diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java index 3207f1ffa99f0..36cda88a063ec 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java @@ -451,13 +451,6 @@ public HB boundaryScannerLocale(String boundaryScannerLocale) { return (HB) this; } - /** - * @return the value set by {@link #boundaryScannerLocale(String)} - */ - public Locale boundaryScannerLocale() { - return this.boundaryScannerLocale; - } - /** * Allows to set custom options for custom highlighters. */ diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/CustomQueryScorer.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/CustomQueryScorer.java index 31e704fe30ff9..cae353bb91014 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/CustomQueryScorer.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/CustomQueryScorer.java @@ -8,7 +8,6 @@ package org.elasticsearch.search.fetch.subphase.highlight; -import org.apache.lucene.index.IndexReader; import org.apache.lucene.search.Query; import org.apache.lucene.search.highlight.QueryScorer; import org.apache.lucene.search.highlight.WeightedSpanTerm; @@ -22,18 +21,6 @@ public final class CustomQueryScorer extends QueryScorer { - public CustomQueryScorer(Query query, IndexReader reader, String field, String defaultField) { - super(query, reader, field, defaultField); - } - - public CustomQueryScorer(Query query, IndexReader reader, String field) { - super(query, reader, field); - } - - public CustomQueryScorer(Query query, String field, String defaultField) { - super(query, field, defaultField); - } - public CustomQueryScorer(Query query, String field) { super(query, field); } @@ -42,10 +29,6 @@ public CustomQueryScorer(Query query) { super(query); } - public CustomQueryScorer(WeightedSpanTerm[] weightedTerms) { - super(weightedTerms); - } - @Override protected WeightedSpanTermExtractor newTermExtractor(String defaultField) { return defaultField == null ? new CustomWeightedSpanTermExtractor() : new CustomWeightedSpanTermExtractor(defaultField); @@ -69,7 +52,6 @@ protected void extractUnknownQuery(Query query, Map te protected void extract(Query query, float boost, Map terms) throws IOException { if (isChildOrParentQuery(query.getClass())) { // skip has_child or has_parent queries, see: https://github.com/elastic/elasticsearch/issues/14999 - return; } else if (query instanceof FunctionScoreQuery) { super.extract(((FunctionScoreQuery) query).getSubQuery(), boost, terms); } else if (query instanceof ESToParentBlockJoinQuery) { diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/DefaultHighlighter.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/DefaultHighlighter.java index d90aba24a94df..e77436ba61423 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/DefaultHighlighter.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/DefaultHighlighter.java @@ -32,7 +32,6 @@ import org.elasticsearch.lucene.search.uhighlight.Snippet; import org.elasticsearch.search.fetch.FetchContext; import org.elasticsearch.search.fetch.FetchSubPhase; -import org.elasticsearch.search.fetch.FetchSubPhase.HitContext; import java.io.IOException; import java.text.BreakIterator; @@ -120,7 +119,7 @@ CustomUnifiedHighlighter buildHighlighter(FieldHighlightContext fieldContext) { fieldContext.context.getSearchExecutionContext().getIndexAnalyzer(f -> Lucene.KEYWORD_ANALYZER), queryMaxAnalyzedOffset ); - PassageFormatter passageFormatter = getPassageFormatter(fieldContext.hitContext, fieldContext.field, encoder); + PassageFormatter passageFormatter = getPassageFormatter(fieldContext.field, encoder); IndexSearcher searcher = fieldContext.context.searcher(); OffsetSource offsetSource = getOffsetSource(fieldContext.context, fieldContext.fieldType); BreakIterator breakIterator; @@ -161,7 +160,7 @@ CustomUnifiedHighlighter buildHighlighter(FieldHighlightContext fieldContext) { ); } - protected PassageFormatter getPassageFormatter(HitContext hitContext, SearchHighlightContext.Field field, Encoder encoder) { + protected PassageFormatter getPassageFormatter(SearchHighlightContext.Field field, Encoder encoder) { return new CustomPassageFormatter(field.fieldOptions().preTags()[0], field.fieldOptions().postTags()[0], encoder); } diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java index 75a1777ae7d8f..8417c9d747981 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java @@ -312,6 +312,6 @@ private static class FieldHighlightEntry { private static class HighlighterEntry { public org.apache.lucene.search.vectorhighlight.FastVectorHighlighter fvh; - public Map fields = new HashMap<>(); + public final Map fields = new HashMap<>(); } } diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FragmentBuilderHelper.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FragmentBuilderHelper.java index 9c761936863d6..5421cd59a23e4 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FragmentBuilderHelper.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FragmentBuilderHelper.java @@ -8,15 +8,11 @@ package org.elasticsearch.search.fetch.subphase.highlight; -import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.search.vectorhighlight.FastVectorHighlighter; import org.apache.lucene.search.vectorhighlight.FieldFragList.WeightedFragInfo; import org.apache.lucene.search.vectorhighlight.FieldFragList.WeightedFragInfo.SubInfo; import org.apache.lucene.search.vectorhighlight.FragmentsBuilder; import org.apache.lucene.util.CollectionUtil; -import org.elasticsearch.index.analysis.AnalyzerComponentsProvider; -import org.elasticsearch.index.analysis.NamedAnalyzer; -import org.elasticsearch.index.analysis.TokenFilterFactory; import java.util.List; @@ -45,7 +41,7 @@ public static WeightedFragInfo fixWeightedFragInfo(WeightedFragInfo fragInfo) { CollectionUtil.introSort(subInfos, (o1, o2) -> { int startOffset = o1.getTermsOffsets().get(0).getStartOffset(); int startOffset2 = o2.getTermsOffsets().get(0).getStartOffset(); - return compare(startOffset, startOffset2); + return Integer.compare(startOffset, startOffset2); }); return new WeightedFragInfo( Math.min(fragInfo.getSubInfos().get(0).getTermsOffsets().get(0).getStartOffset(), fragInfo.getStartOffset()), @@ -58,23 +54,4 @@ public static WeightedFragInfo fixWeightedFragInfo(WeightedFragInfo fragInfo) { } } - private static int compare(int x, int y) { - return (x < y) ? -1 : ((x == y) ? 0 : 1); - } - - private static boolean containsBrokenAnalysis(Analyzer analyzer) { - // TODO maybe we need a getter on Namedanalyzer that tells if this uses broken Analysis - if (analyzer instanceof NamedAnalyzer) { - analyzer = ((NamedAnalyzer) analyzer).analyzer(); - } - if (analyzer instanceof AnalyzerComponentsProvider) { - final TokenFilterFactory[] tokenFilters = ((AnalyzerComponentsProvider) analyzer).getComponents().getTokenFilters(); - for (TokenFilterFactory tokenFilterFactory : tokenFilters) { - if (tokenFilterFactory.breaksFastVectorHighlighter()) { - return true; - } - } - } - return false; - } } diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java index 7d371ac372774..0042b1eafba71 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java @@ -45,8 +45,6 @@ * @see org.elasticsearch.search.builder.SearchSourceBuilder#highlight() */ public final class HighlightBuilder extends AbstractHighlighterBuilder { - /** default for whether to highlight fields based on the source even if stored separately */ - public static final boolean DEFAULT_FORCE_SOURCE = false; /** default for whether a field should be highlighted only if a query matches that field */ public static final boolean DEFAULT_REQUIRE_FIELD_MATCH = true; /** default for whether to stop highlighting at the defined max_analyzed_offset to avoid exceptions for longer texts */ @@ -149,17 +147,6 @@ public HighlightBuilder field(String name) { return field(new Field(name)); } - /** - * Adds a field to be highlighted with a provided fragment size (in characters), and - * default number of fragments of 5. - * - * @param name The field to highlight - * @param fragmentSize The size of a fragment in characters - */ - public HighlightBuilder field(String name, int fragmentSize) { - return field(new Field(name).fragmentSize(fragmentSize)); - } - /** * Adds a field to be highlighted with a provided fragment size (in characters), and * a provided (maximum) number of fragments. diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightField.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightField.java index d4b5234f4e0b2..6bc9f65ac655f 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightField.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightField.java @@ -30,23 +30,12 @@ */ public class HighlightField implements ToXContentFragment, Writeable { - private String name; + private final String name; - private Text[] fragments; + private final Text[] fragments; public HighlightField(StreamInput in) throws IOException { - name = in.readString(); - if (in.readBoolean()) { - int size = in.readVInt(); - if (size == 0) { - fragments = Text.EMPTY_ARRAY; - } else { - fragments = new Text[size]; - for (int i = 0; i < size; i++) { - fragments[i] = in.readText(); - } - } - } + this(in.readString(), in.readOptionalArray(StreamInput::readText, Text[]::new)); } public HighlightField(String name, Text[] fragments) { @@ -61,13 +50,6 @@ public String name() { return name; } - /** - * The name of the field highlighted. - */ - public String getName() { - return name(); - } - /** * The highlighted fragments. {@code null} if failed to highlight (for example, the field is not stored). */ @@ -75,13 +57,6 @@ public Text[] fragments() { return fragments; } - /** - * The highlighted fragments. {@code null} if failed to highlight (for example, the field is not stored). - */ - public Text[] getFragments() { - return fragments(); - } - @Override public String toString() { return "[" + name + "], fragments[" + Arrays.toString(fragments) + "]"; @@ -101,14 +76,14 @@ public void writeTo(StreamOutput out) throws IOException { public static HighlightField fromXContent(XContentParser parser) throws IOException { ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.currentToken(), parser); String fieldName = parser.currentName(); - Text[] fragments = null; + Text[] fragments; XContentParser.Token token = parser.nextToken(); if (token == XContentParser.Token.START_ARRAY) { List values = new ArrayList<>(); while (parser.nextToken() != XContentParser.Token.END_ARRAY) { values.add(new Text(parser.text())); } - fragments = values.toArray(new Text[values.size()]); + fragments = values.toArray(Text.EMPTY_ARRAY); } else if (token == XContentParser.Token.VALUE_NULL) { fragments = null; } else { diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceScoreOrderFragmentsBuilder.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceScoreOrderFragmentsBuilder.java index f1bb3f2c773ac..79c7198564be5 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceScoreOrderFragmentsBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceScoreOrderFragmentsBuilder.java @@ -8,7 +8,6 @@ package org.elasticsearch.search.fetch.subphase.highlight; import org.apache.lucene.document.Field; -import org.apache.lucene.document.TextField; import org.apache.lucene.index.IndexReader; import org.apache.lucene.search.highlight.Encoder; import org.apache.lucene.search.vectorhighlight.BoundaryScanner; @@ -20,8 +19,6 @@ import org.elasticsearch.search.lookup.Source; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; public class SourceScoreOrderFragmentsBuilder extends ScoreOrderFragmentsBuilder { @@ -51,19 +48,7 @@ public SourceScoreOrderFragmentsBuilder( @Override protected Field[] getFields(IndexReader reader, int docId, String fieldName) throws IOException { // we know its low level reader, and matching docId, since that's how we call the highlighter with - List values = valueFetcher.fetchValues(source, docId, new ArrayList<>()); - if (values.size() > 1 && fetchContext.sourceLoader().reordersFieldValues()) { - throw new IllegalArgumentException( - "The fast vector highlighter doesn't support loading multi-valued fields from _source in index [" - + fetchContext.getIndexName() - + "] because _source can reorder field values" - ); - } - Field[] fields = new Field[values.size()]; - for (int i = 0; i < values.size(); i++) { - fields[i] = new Field(fieldType.name(), values.get(i).toString(), TextField.TYPE_NOT_STORED); - } - return fields; + return SourceSimpleFragmentsBuilder.doGetFields(docId, valueFetcher, source, fetchContext, fieldType); } @Override diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceSimpleFragmentsBuilder.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceSimpleFragmentsBuilder.java index 0a7a5d300339b..c6b69717b8f75 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceSimpleFragmentsBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceSimpleFragmentsBuilder.java @@ -46,6 +46,11 @@ public SourceSimpleFragmentsBuilder( @Override protected Field[] getFields(IndexReader reader, int docId, String fieldName) throws IOException { // we know its low level reader, and matching docId, since that's how we call the highlighter with + return doGetFields(docId, valueFetcher, source, fetchContext, fieldType); + } + + static Field[] doGetFields(int docId, ValueFetcher valueFetcher, Source source, FetchContext fetchContext, MappedFieldType fieldType) + throws IOException { List values = valueFetcher.fetchValues(source, docId, new ArrayList<>()); if (values.isEmpty()) { return EMPTY_FIELDS; @@ -63,5 +68,4 @@ protected Field[] getFields(IndexReader reader, int docId, String fieldName) thr } return fields; } - } diff --git a/server/src/main/java/org/elasticsearch/snapshots/SnapshotCreationException.java b/server/src/main/java/org/elasticsearch/snapshots/SnapshotCreationException.java deleted file mode 100644 index 7c2dde414c8ad..0000000000000 --- a/server/src/main/java/org/elasticsearch/snapshots/SnapshotCreationException.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -package org.elasticsearch.snapshots; - -import org.elasticsearch.common.io.stream.StreamInput; - -import java.io.IOException; - -/** - * Thrown when snapshot creation fails completely - * TODO: Remove this class in 8.0 - * @deprecated This exception isn't thrown anymore. It's only here for BwC. - */ -@Deprecated -public class SnapshotCreationException extends SnapshotException { - - public SnapshotCreationException(StreamInput in) throws IOException { - super(in); - } -} diff --git a/server/src/main/java/org/elasticsearch/transport/TcpTransport.java b/server/src/main/java/org/elasticsearch/transport/TcpTransport.java index 9bf773d083f5f..8612b5221c77b 100644 --- a/server/src/main/java/org/elasticsearch/transport/TcpTransport.java +++ b/server/src/main/java/org/elasticsearch/transport/TcpTransport.java @@ -362,23 +362,24 @@ protected Recycler createRecycler(Settings settings, PageCacheRecycler @Override public void openConnection(DiscoveryNode node, ConnectionProfile profile, ActionListener listener) { - - Objects.requireNonNull(profile, "connection profile cannot be null"); - if (node == null) { - throw new ConnectTransportException(null, "can't open connection to a null node"); - } - ConnectionProfile finalProfile = maybeOverrideConnectionProfile(profile); - if (closeLock.readLock().tryLock() == false) { - ensureOpen(); - assert false : "should not get here ever because close-write-lock should only be held on shutdown"; - throw new ConnectTransportException(node, "failed to acquire close-read-lock"); - } - try { - ensureOpen(); - initiateConnection(node, finalProfile, listener); - } finally { - closeLock.readLock().unlock(); - } + ActionListener.run(listener, l -> { + Objects.requireNonNull(profile, "connection profile cannot be null"); + if (node == null) { + throw new ConnectTransportException(null, "can't open connection to a null node"); + } + final var finalProfile = maybeOverrideConnectionProfile(profile); + if (closeLock.readLock().tryLock() == false) { + ensureOpen(); + assert false : "should not get here ever because close-write-lock should only be held on shutdown"; + throw new ConnectTransportException(node, "failed to acquire close-read-lock"); + } + try { + ensureOpen(); + initiateConnection(node, finalProfile, l); + } finally { + closeLock.readLock().unlock(); + } + }); } private void initiateConnection(DiscoveryNode node, ConnectionProfile connectionProfile, ActionListener listener) { diff --git a/server/src/test/java/org/elasticsearch/ExceptionSerializationTests.java b/server/src/test/java/org/elasticsearch/ExceptionSerializationTests.java index 405211423f602..abf79243b6a61 100644 --- a/server/src/test/java/org/elasticsearch/ExceptionSerializationTests.java +++ b/server/src/test/java/org/elasticsearch/ExceptionSerializationTests.java @@ -693,7 +693,7 @@ public void testIds() { ids.put(24, org.elasticsearch.search.SearchContextMissingException.class); ids.put(25, org.elasticsearch.script.GeneralScriptException.class); ids.put(26, null); - ids.put(27, org.elasticsearch.snapshots.SnapshotCreationException.class); + ids.put(27, null); // was SnapshotCreationException ids.put(28, null); // was DeleteFailedEngineException, deprecated in 6.0 and removed in 7.0 ids.put(29, org.elasticsearch.index.engine.DocumentMissingException.class); ids.put(30, org.elasticsearch.snapshots.SnapshotException.class); diff --git a/server/src/test/java/org/elasticsearch/action/admin/indices/create/AutoCreateActionTests.java b/server/src/test/java/org/elasticsearch/action/admin/indices/create/AutoCreateActionTests.java index f09f565582f4a..9c390cefdcda0 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/indices/create/AutoCreateActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/indices/create/AutoCreateActionTests.java @@ -25,17 +25,19 @@ public void testResolveTemplates() { { Metadata.Builder mdBuilder = new Metadata.Builder(); DataStreamTemplate dataStreamTemplate = new DataStreamTemplate(); - mdBuilder.put("1", new ComposableIndexTemplate.Builder().indexPatterns(List.of("legacy-logs-*")).priority(10L).build()); + mdBuilder.put("1", ComposableIndexTemplate.builder().indexPatterns(List.of("legacy-logs-*")).priority(10L).build()); mdBuilder.put( "2", - new ComposableIndexTemplate.Builder().indexPatterns(List.of("logs-*")) + ComposableIndexTemplate.builder() + .indexPatterns(List.of("logs-*")) .priority(20L) .dataStreamTemplate(dataStreamTemplate) .build() ); mdBuilder.put( "3", - new ComposableIndexTemplate.Builder().indexPatterns(List.of("logs-*")) + ComposableIndexTemplate.builder() + .indexPatterns(List.of("logs-*")) .priority(30L) .dataStreamTemplate(dataStreamTemplate) .build() diff --git a/server/src/test/java/org/elasticsearch/action/admin/indices/rollover/MetadataRolloverServiceTests.java b/server/src/test/java/org/elasticsearch/action/admin/indices/rollover/MetadataRolloverServiceTests.java index 8b5e6182060b4..83bdc68d0b9c0 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/indices/rollover/MetadataRolloverServiceTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/indices/rollover/MetadataRolloverServiceTests.java @@ -348,7 +348,8 @@ public void testRejectDuplicateAliasV2() { Map aliases = new HashMap<>(); aliases.put("foo-write", AliasMetadata.builder("foo-write").build()); aliases.put("bar-write", AliasMetadata.builder("bar-write").writeIndex(randomBoolean()).build()); - final ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(Arrays.asList("foo-*", "bar-*")) + final ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(Arrays.asList("foo-*", "bar-*")) .template(new Template(null, null, aliases)) .build(); @@ -370,7 +371,8 @@ public void testRejectDuplicateAliasV2UsingComponentTemplates() { aliases.put("foo-write", AliasMetadata.builder("foo-write").build()); aliases.put("bar-write", AliasMetadata.builder("bar-write").writeIndex(randomBoolean()).build()); final ComponentTemplate ct = new ComponentTemplate(new Template(null, null, aliases), null, null); - final ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(Arrays.asList("foo-*", "bar-*")) + final ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(Arrays.asList("foo-*", "bar-*")) .componentTemplates(Collections.singletonList("ct")) .build(); @@ -396,9 +398,10 @@ public void testRolloverDoesntRejectOperationIfValidComposableTemplateOverridesL .build(); // v2 template overrides the v1 template and does not define the rollover aliases - final ComposableIndexTemplate composableTemplate = new ComposableIndexTemplate.Builder().indexPatterns( - Arrays.asList("foo-*", "bar-*") - ).template(new Template(null, null, null)).build(); + final ComposableIndexTemplate composableTemplate = ComposableIndexTemplate.builder() + .indexPatterns(Arrays.asList("foo-*", "bar-*")) + .template(new Template(null, null, null)) + .build(); final Metadata metadata = Metadata.builder() .put(createMetadata(randomAlphaOfLengthBetween(5, 7)), false) @@ -441,7 +444,8 @@ public void testHiddenAffectsResolvedV2Templates() { Map aliases = new HashMap<>(); aliases.put("foo-write", AliasMetadata.builder("foo-write").build()); aliases.put("bar-write", AliasMetadata.builder("bar-write").writeIndex(randomBoolean()).build()); - final ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(Collections.singletonList("*")) + final ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(Collections.singletonList("*")) .template(new Template(null, null, aliases)) .build(); @@ -472,7 +476,8 @@ public void testHiddenAffectsResolvedV2ComponentTemplates() { aliases.put("foo-write", AliasMetadata.builder("foo-write").build()); aliases.put("bar-write", AliasMetadata.builder("bar-write").writeIndex(randomBoolean()).build()); final ComponentTemplate ct = new ComponentTemplate(new Template(null, null, aliases), null, null); - final ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(Collections.singletonList("*")) + final ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(Collections.singletonList("*")) .componentTemplates(Collections.singletonList("ct")) .build(); @@ -575,7 +580,8 @@ public void testRolloverClusterStateForDataStream() throws Exception { final DataStream dataStream = DataStreamTestHelper.randomInstance() // ensure no replicate data stream .promoteDataStream(); - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStream.getName() + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStream.getName() + "*")) .dataStreamTemplate(new ComposableIndexTemplate.DataStreamTemplate()) .build(); Metadata.Builder builder = Metadata.builder(); @@ -651,7 +657,8 @@ public void testValidation() throws Exception { rolloverTarget = dataStream.getName(); sourceIndexName = dataStream.getIndices().get(dataStream.getIndices().size() - 1).getName(); defaultRolloverIndexName = DataStream.getDefaultBackingIndexName(dataStream.getName(), dataStream.getGeneration() + 1); - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStream.getName() + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStream.getName() + "*")) .dataStreamTemplate(new ComposableIndexTemplate.DataStreamTemplate()) .build(); builder.put("template", template); diff --git a/server/src/test/java/org/elasticsearch/action/admin/indices/template/post/SimulateIndexTemplateRequestTests.java b/server/src/test/java/org/elasticsearch/action/admin/indices/template/post/SimulateIndexTemplateRequestTests.java index 452ef77d9d963..ee1c423c74a4d 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/indices/template/post/SimulateIndexTemplateRequestTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/indices/template/post/SimulateIndexTemplateRequestTests.java @@ -52,9 +52,7 @@ public void testIndexNameCannotBeNullOrEmpty() { public void testAddingGlobalTemplateWithHiddenIndexSettingIsIllegal() { Template template = new Template(Settings.builder().put(IndexMetadata.SETTING_INDEX_HIDDEN, true).build(), null, null); - ComposableIndexTemplate globalTemplate = new ComposableIndexTemplate.Builder().indexPatterns(List.of("*")) - .template(template) - .build(); + ComposableIndexTemplate globalTemplate = ComposableIndexTemplate.builder().indexPatterns(List.of("*")).template(template).build(); PutComposableIndexTemplateAction.Request request = new PutComposableIndexTemplateAction.Request("test"); request.indexTemplate(globalTemplate); diff --git a/server/src/test/java/org/elasticsearch/action/admin/indices/template/post/SimulateTemplateRequestTests.java b/server/src/test/java/org/elasticsearch/action/admin/indices/template/post/SimulateTemplateRequestTests.java index cfcdb61813b99..05cfe6ef7068c 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/indices/template/post/SimulateTemplateRequestTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/indices/template/post/SimulateTemplateRequestTests.java @@ -55,9 +55,7 @@ public void testIndexNameCannotBeNullOrEmpty() { public void testAddingGlobalTemplateWithHiddenIndexSettingIsIllegal() { Template template = new Template(Settings.builder().put(IndexMetadata.SETTING_INDEX_HIDDEN, true).build(), null, null); - ComposableIndexTemplate globalTemplate = new ComposableIndexTemplate.Builder().indexPatterns(List.of("*")) - .template(template) - .build(); + ComposableIndexTemplate globalTemplate = ComposableIndexTemplate.builder().indexPatterns(List.of("*")).template(template).build(); PutComposableIndexTemplateAction.Request request = new PutComposableIndexTemplateAction.Request("test"); request.indexTemplate(globalTemplate); diff --git a/server/src/test/java/org/elasticsearch/action/admin/indices/template/put/PutComposableIndexTemplateRequestTests.java b/server/src/test/java/org/elasticsearch/action/admin/indices/template/put/PutComposableIndexTemplateRequestTests.java index 31855a5c7bf67..cd5c1c477a108 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/indices/template/put/PutComposableIndexTemplateRequestTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/indices/template/put/PutComposableIndexTemplateRequestTests.java @@ -46,9 +46,7 @@ protected PutComposableIndexTemplateAction.Request mutateInstance(PutComposableI public void testPutGlobalTemplatesCannotHaveHiddenIndexSetting() { Template template = new Template(Settings.builder().put(IndexMetadata.SETTING_INDEX_HIDDEN, true).build(), null, null); - ComposableIndexTemplate globalTemplate = new ComposableIndexTemplate.Builder().indexPatterns(List.of("*")) - .template(template) - .build(); + ComposableIndexTemplate globalTemplate = ComposableIndexTemplate.builder().indexPatterns(List.of("*")).template(template).build(); PutComposableIndexTemplateAction.Request request = new PutComposableIndexTemplateAction.Request("test"); request.indexTemplate(globalTemplate); @@ -74,7 +72,7 @@ public void testPutIndexTemplateV2RequestMustContainTemplate() { public void testValidationOfPriority() { PutComposableIndexTemplateAction.Request req = new PutComposableIndexTemplateAction.Request("test"); - req.indexTemplate(new ComposableIndexTemplate.Builder().indexPatterns(Arrays.asList("foo", "bar")).priority(-5L).build()); + req.indexTemplate(ComposableIndexTemplate.builder().indexPatterns(Arrays.asList("foo", "bar")).priority(-5L).build()); ActionRequestValidationException validationException = req.validate(); assertThat(validationException, is(notNullValue())); List validationErrors = validationException.validationErrors(); @@ -85,13 +83,11 @@ public void testValidationOfPriority() { public void testValidateNoTemplate() { PutComposableIndexTemplateAction.Request req = new PutComposableIndexTemplateAction.Request("test"); - req.indexTemplate(new ComposableIndexTemplate.Builder().indexPatterns(Collections.singletonList("*")).build()); + req.indexTemplate(ComposableIndexTemplate.builder().indexPatterns(Collections.singletonList("*")).build()); assertNull(req.validate()); req.indexTemplate( - new ComposableIndexTemplate.Builder().indexPatterns(Collections.singletonList("*")) - .template(new Template(null, null, null)) - .build() + ComposableIndexTemplate.builder().indexPatterns(Collections.singletonList("*")).template(new Template(null, null, null)).build() ); assertNull(req.validate()); } diff --git a/server/src/test/java/org/elasticsearch/action/search/SearchQueryThenFetchAsyncActionTests.java b/server/src/test/java/org/elasticsearch/action/search/SearchQueryThenFetchAsyncActionTests.java index 2ed24e95c16d5..b0364209a811a 100644 --- a/server/src/test/java/org/elasticsearch/action/search/SearchQueryThenFetchAsyncActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/search/SearchQueryThenFetchAsyncActionTests.java @@ -237,6 +237,7 @@ public void run() { assertThat(((FieldDoc) phase.sortedTopDocs().scoreDocs()[0]).fields[0], equalTo(0)); } + @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/101932") public void testMinimumVersionSameAsNewVersion() throws Exception { Version newVersion = Version.CURRENT; Version oldVersion = VersionUtils.randomVersionBetween( @@ -354,6 +355,7 @@ public void onResponse(SearchResponse response) { ); } + @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/101932") public void testMinimumVersionSameAsOldVersion() throws Exception { Version newVersion = Version.CURRENT; Version oldVersion = VersionUtils.randomVersionBetween( @@ -500,6 +502,7 @@ public void run() { assertThat(phase.totalHits().relation, equalTo(TotalHits.Relation.GREATER_THAN_OR_EQUAL_TO)); } + @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/101932") public void testMinimumVersionShardDuringPhaseExecution() throws Exception { Version newVersion = Version.CURRENT; Version oldVersion = VersionUtils.randomVersionBetween( diff --git a/server/src/test/java/org/elasticsearch/action/support/AutoCreateIndexTests.java b/server/src/test/java/org/elasticsearch/action/support/AutoCreateIndexTests.java index afe8e10516a4e..6e68276721efb 100644 --- a/server/src/test/java/org/elasticsearch/action/support/AutoCreateIndexTests.java +++ b/server/src/test/java/org/elasticsearch/action/support/AutoCreateIndexTests.java @@ -232,7 +232,8 @@ public void testUpdate() { */ public void testNullAllowAutoCreateInTemplateDoesNotOverrideMatchingAutoCreateIndexSetting() { String randomIndex = randomAlphaOfLengthBetween(2, 10); - final ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(randomIndex.charAt(0) + "*")) + final ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(randomIndex.charAt(0) + "*")) .componentTemplates(List.of()) .metadata(Map.of()) .build(); @@ -252,7 +253,8 @@ public void testNullAllowAutoCreateInTemplateDoesNotOverrideMatchingAutoCreateIn */ public void testCanHandleNullAutoCreateSettingInTemplate() { String randomIndex = randomAlphaOfLengthBetween(2, 10); - final ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(randomIndex.charAt(0) + "*")) + final ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(randomIndex.charAt(0) + "*")) .componentTemplates(List.of()) .metadata(Map.of()) .build(); @@ -275,7 +277,8 @@ public void testCanHandleNullAutoCreateSettingInTemplate() { */ public void testDisabledAutoCreateTemplateSettingDoesNotOverride() { String randomIndex = randomAlphaOfLengthBetween(2, 10); - final ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(randomIndex.charAt(0) + "*")) + final ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(randomIndex.charAt(0) + "*")) .componentTemplates(List.of()) .metadata(Map.of()) .allowAutoCreate(false) @@ -299,7 +302,8 @@ public void testDisabledAutoCreateTemplateSettingDoesNotOverride() { */ public void testEnabledAutoCreateTemplateSettingDoesOverride() { String randomIndex = randomAlphaOfLengthBetween(2, 10); - final ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(randomIndex.charAt(0) + "*")) + final ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(randomIndex.charAt(0) + "*")) .componentTemplates(List.of()) .metadata(Map.of()) .allowAutoCreate(true) diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/ComposableIndexTemplateTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/ComposableIndexTemplateTests.java index f617692710ebc..ac969eb7c9a10 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/ComposableIndexTemplateTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/ComposableIndexTemplateTests.java @@ -84,18 +84,18 @@ public static ComposableIndexTemplate randomInstance() { List indexPatterns = randomList(1, 4, () -> randomAlphaOfLength(4)); List ignoreMissingComponentTemplates = randomList(0, 4, () -> randomAlphaOfLength(4)); - return new ComposableIndexTemplate( - indexPatterns, - template, - randomBoolean() ? null : randomList(0, 10, () -> randomAlphaOfLength(5)), - randomBoolean() ? null : randomNonNegativeLong(), - randomBoolean() ? null : randomNonNegativeLong(), - meta, - dataStreamTemplate, - randomOptionalBoolean(), - ignoreMissingComponentTemplates, - randomOptionalBoolean() - ); + return ComposableIndexTemplate.builder() + .indexPatterns(indexPatterns) + .template(template) + .componentTemplates(randomBoolean() ? null : randomList(0, 10, () -> randomAlphaOfLength(5))) + .priority(randomBoolean() ? null : randomNonNegativeLong()) + .version(randomBoolean() ? null : randomNonNegativeLong()) + .metadata(meta) + .dataStreamTemplate(dataStreamTemplate) + .allowAutoCreate(randomOptionalBoolean()) + .ignoreMissingComponentTemplates(ignoreMissingComponentTemplates) + .deprecated(randomOptionalBoolean()) + .build(); } private static Map randomAliases() { @@ -165,130 +165,39 @@ public static ComposableIndexTemplate mutateTemplate(ComposableIndexTemplate ori orig.indexPatterns(), () -> randomList(1, 4, () -> randomAlphaOfLength(4)) ); - return new ComposableIndexTemplate( - newIndexPatterns, - orig.template(), - orig.composedOf(), - orig.priority(), - orig.version(), - orig.metadata(), - orig.getDataStreamTemplate(), - null, - orig.getIgnoreMissingComponentTemplates(), - orig.deprecated() - ); + return orig.toBuilder().indexPatterns(newIndexPatterns).build(); case 1: - return new ComposableIndexTemplate( - orig.indexPatterns(), - randomValueOtherThan( - orig.template(), - () -> new Template(randomSettings(), randomMappings(orig.getDataStreamTemplate()), randomAliases()) - ), - orig.composedOf(), - orig.priority(), - orig.version(), - orig.metadata(), - orig.getDataStreamTemplate(), - orig.getAllowAutoCreate(), - orig.getIgnoreMissingComponentTemplates(), - orig.deprecated() - ); + return orig.toBuilder() + .template( + randomValueOtherThan( + orig.template(), + () -> new Template(randomSettings(), randomMappings(orig.getDataStreamTemplate()), randomAliases()) + ) + ) + .build(); case 2: List newComposedOf = randomValueOtherThan(orig.composedOf(), () -> randomList(0, 10, () -> randomAlphaOfLength(5))); - return new ComposableIndexTemplate( - orig.indexPatterns(), - orig.template(), - newComposedOf, - orig.priority(), - orig.version(), - orig.metadata(), - orig.getDataStreamTemplate(), - orig.getAllowAutoCreate(), - orig.getIgnoreMissingComponentTemplates(), - orig.deprecated() - ); + return orig.toBuilder().componentTemplates(newComposedOf).build(); case 3: - return new ComposableIndexTemplate( - orig.indexPatterns(), - orig.template(), - orig.composedOf(), - randomValueOtherThan(orig.priority(), ESTestCase::randomNonNegativeLong), - orig.version(), - orig.metadata(), - orig.getDataStreamTemplate(), - orig.getAllowAutoCreate(), - orig.getIgnoreMissingComponentTemplates(), - orig.deprecated() - ); + return orig.toBuilder().priority(randomValueOtherThan(orig.priority(), ESTestCase::randomNonNegativeLong)).build(); case 4: - return new ComposableIndexTemplate( - orig.indexPatterns(), - orig.template(), - orig.composedOf(), - orig.priority(), - randomValueOtherThan(orig.version(), ESTestCase::randomNonNegativeLong), - orig.metadata(), - orig.getDataStreamTemplate(), - orig.getAllowAutoCreate(), - orig.getIgnoreMissingComponentTemplates(), - orig.deprecated() - ); + return orig.toBuilder().version(randomValueOtherThan(orig.version(), ESTestCase::randomNonNegativeLong)).build(); case 5: - return new ComposableIndexTemplate( - orig.indexPatterns(), - orig.template(), - orig.composedOf(), - orig.priority(), - orig.version(), - randomValueOtherThan(orig.metadata(), ComposableIndexTemplateTests::randomMeta), - orig.getDataStreamTemplate(), - orig.getAllowAutoCreate(), - orig.getIgnoreMissingComponentTemplates(), - orig.deprecated() - ); + return orig.toBuilder().metadata(randomValueOtherThan(orig.metadata(), ComposableIndexTemplateTests::randomMeta)).build(); case 6: - return new ComposableIndexTemplate( - orig.indexPatterns(), - orig.template(), - orig.composedOf(), - orig.priority(), - orig.version(), - orig.metadata(), - randomValueOtherThan(orig.getDataStreamTemplate(), ComposableIndexTemplateTests::randomDataStreamTemplate), - orig.getAllowAutoCreate(), - orig.getIgnoreMissingComponentTemplates(), - orig.deprecated() - ); + return orig.toBuilder() + .dataStreamTemplate( + randomValueOtherThan(orig.getDataStreamTemplate(), ComposableIndexTemplateTests::randomDataStreamTemplate) + ) + .build(); case 7: List ignoreMissingComponentTemplates = randomValueOtherThan( orig.getIgnoreMissingComponentTemplates(), () -> randomList(1, 4, () -> randomAlphaOfLength(4)) ); - return new ComposableIndexTemplate( - orig.indexPatterns(), - orig.template(), - orig.composedOf(), - orig.priority(), - orig.version(), - orig.metadata(), - orig.getDataStreamTemplate(), - orig.getAllowAutoCreate(), - ignoreMissingComponentTemplates, - orig.deprecated() - ); + return orig.toBuilder().ignoreMissingComponentTemplates(ignoreMissingComponentTemplates).build(); case 8: - return new ComposableIndexTemplate( - orig.indexPatterns(), - orig.template(), - orig.composedOf(), - orig.priority(), - orig.version(), - orig.metadata(), - orig.getDataStreamTemplate(), - orig.getAllowAutoCreate(), - orig.getIgnoreMissingComponentTemplates(), - orig.isDeprecated() ? randomFrom(false, null) : true - ); + return orig.toBuilder().deprecated(orig.isDeprecated() ? randomFrom(false, null) : true).build(); default: throw new IllegalStateException("illegal randomization branch"); } @@ -342,4 +251,9 @@ public void testXContentSerializationWithRollover() throws IOException { } } } + + public void testBuilderRoundtrip() { + ComposableIndexTemplate template = randomInstance(); + assertEquals(template, template.toBuilder().build()); + } } diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamServiceTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamServiceTests.java index a8403ef7e9dcd..2b40e28416129 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamServiceTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamServiceTests.java @@ -49,7 +49,8 @@ public class MetadataCreateDataStreamServiceTests extends ESTestCase { public void testCreateDataStream() throws Exception { final MetadataCreateIndexService metadataCreateIndexService = getMetadataCreateIndexService(); final String dataStreamName = "my-data-stream"; - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStreamName + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStreamName + "*")) .dataStreamTemplate(new ComposableIndexTemplate.DataStreamTemplate()) .build(); ClusterState cs = ClusterState.builder(new ClusterName("_name")) @@ -84,7 +85,8 @@ public void testCreateDataStreamWithAliasFromTemplate() throws Exception { final AliasMetadata am = randomAlias(null); aliases.put(am.alias(), am); } - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStreamName + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStreamName + "*")) .dataStreamTemplate(new DataStreamTemplate()) .template(new Template(null, null, aliases)) .build(); @@ -156,7 +158,8 @@ public void testCreateDataStreamWithAliasFromComponentTemplate() throws Exceptio } allAliases.add(aliases); - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStreamName + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStreamName + "*")) .dataStreamTemplate(new DataStreamTemplate()) .template(new Template(null, null, aliases)) .componentTemplates(ctNames) @@ -305,7 +308,7 @@ public void testCreateDataStreamNoTemplate() throws Exception { public void testCreateDataStreamNoValidTemplate() throws Exception { final MetadataCreateIndexService metadataCreateIndexService = getMetadataCreateIndexService(); final String dataStreamName = "my-data-stream"; - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStreamName + "*")).build(); + ComposableIndexTemplate template = ComposableIndexTemplate.builder().indexPatterns(List.of(dataStreamName + "*")).build(); ClusterState cs = ClusterState.builder(new ClusterName("_name")) .metadata(Metadata.builder().put("template", template).build()) .build(); @@ -322,7 +325,8 @@ public void testCreateDataStreamNoValidTemplate() throws Exception { public static ClusterState createDataStream(final String dataStreamName) throws Exception { final MetadataCreateIndexService metadataCreateIndexService = getMetadataCreateIndexService(); - ComposableIndexTemplate template = new ComposableIndexTemplate.Builder().indexPatterns(List.of(dataStreamName + "*")) + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(List.of(dataStreamName + "*")) .dataStreamTemplate(new ComposableIndexTemplate.DataStreamTemplate()) .build(); ClusterState cs = ClusterState.builder(new ClusterName("_name")) diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateServiceTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateServiceTests.java index 24afb569a8167..5d1c3fd0650d7 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateServiceTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateServiceTests.java @@ -1789,17 +1789,11 @@ public void testRemoveComponentTemplateInUse() throws Exception { } public void testRemoveRequiredAndNonRequiredComponents() throws Exception { - ComposableIndexTemplate composableIndexTemplate = new ComposableIndexTemplate( - Collections.singletonList("pattern"), - null, - List.of("required1", "non-required", "required2"), - null, - null, - null, - null, - null, - Collections.singletonList("non-required") - ); + ComposableIndexTemplate composableIndexTemplate = ComposableIndexTemplate.builder() + .indexPatterns(Collections.singletonList("pattern")) + .componentTemplates(List.of("required1", "non-required", "required2")) + .ignoreMissingComponentTemplates(Collections.singletonList("non-required")) + .build(); ComponentTemplate ct = new ComponentTemplate(new Template(null, new CompressedXContent("{}"), null), null, null); final MetadataIndexTemplateService service = getMetadataIndexTemplateService(); @@ -2423,17 +2417,12 @@ public void testIgnoreMissingComponentTemplateValid() throws Exception { ignoreMissingComponentTemplates.add("bar"); ignoreMissingComponentTemplates.add("foo"); - ComposableIndexTemplate template = new ComposableIndexTemplate( - Arrays.asList("metrics-test-*"), - null, - componentTemplates, - 1L, - null, - null, - null, - null, - ignoreMissingComponentTemplates - ); + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(Arrays.asList("metrics-test-*")) + .componentTemplates(componentTemplates) + .priority(1L) + .ignoreMissingComponentTemplates(ignoreMissingComponentTemplates) + .build(); MetadataIndexTemplateService metadataIndexTemplateService = getMetadataIndexTemplateService(); ClusterState state = metadataIndexTemplateService.addIndexTemplateV2(ClusterState.EMPTY_STATE, false, indexTemplateName, template); @@ -2452,17 +2441,12 @@ public void testIgnoreMissingComponentTemplateInvalid() throws Exception { ignoreMissingComponentTemplates.add("bar"); ignoreMissingComponentTemplates.add("foo"); - ComposableIndexTemplate template = new ComposableIndexTemplate( - Arrays.asList("metrics-foo-*"), - null, - componentTemplates, - 1L, - null, - null, - null, - null, - ignoreMissingComponentTemplates - ); + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(Arrays.asList("metrics-foo-*")) + .componentTemplates(componentTemplates) + .priority(1L) + .ignoreMissingComponentTemplates(ignoreMissingComponentTemplates) + .build(); MetadataIndexTemplateService metadataIndexTemplateService = getMetadataIndexTemplateService(); ClusterState state = metadataIndexTemplateService.addIndexTemplateV2(ClusterState.EMPTY_STATE, false, indexTemplateName, template); @@ -2492,17 +2476,12 @@ public void testAddInvalidTemplateIgnoreService() throws Exception { ignoreMissingComponentTemplates.add("bar"); ignoreMissingComponentTemplates.add("foo"); - ComposableIndexTemplate template = new ComposableIndexTemplate( - Arrays.asList("metrics-foo-*"), - null, - componentTemplates, - 1L, - null, - null, - null, - null, - ignoreMissingComponentTemplates - ); + ComposableIndexTemplate template = ComposableIndexTemplate.builder() + .indexPatterns(Arrays.asList("metrics-foo-*")) + .componentTemplates(componentTemplates) + .priority(1L) + .ignoreMissingComponentTemplates(ignoreMissingComponentTemplates) + .build(); ComponentTemplate ct = new ComponentTemplate(new Template(Settings.EMPTY, null, null), null, null); @@ -2604,18 +2583,11 @@ public void testAddIndexTemplateWithDeprecatedComponentTemplate() throws Excepti ComponentTemplate ct = ComponentTemplateTests.randomInstance(false, true); state = service.addComponentTemplate(state, true, "ct", ct); - ComposableIndexTemplate it = new ComposableIndexTemplate( - List.of("test*"), - null, - List.of("ct"), - null, - 1L, - null, - null, - null, - null, - null - ); + ComposableIndexTemplate it = ComposableIndexTemplate.builder() + .indexPatterns(List.of("test*")) + .componentTemplates(List.of("ct")) + .version(1L) + .build(); service.addIndexTemplateV2(state, false, "foo", it); assertWarnings("index template [foo] uses deprecated component template [ct]"); diff --git a/server/src/test/java/org/elasticsearch/cluster/routing/ExpectedShardSizeEstimatorTests.java b/server/src/test/java/org/elasticsearch/cluster/routing/ExpectedShardSizeEstimatorTests.java new file mode 100644 index 0000000000000..c894585edd776 --- /dev/null +++ b/server/src/test/java/org/elasticsearch/cluster/routing/ExpectedShardSizeEstimatorTests.java @@ -0,0 +1,149 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +package org.elasticsearch.cluster.routing; + +import org.elasticsearch.cluster.ClusterInfo; +import org.elasticsearch.cluster.ClusterName; +import org.elasticsearch.cluster.ClusterState; +import org.elasticsearch.cluster.ESAllocationTestCase; +import org.elasticsearch.cluster.metadata.IndexMetadata; +import org.elasticsearch.cluster.metadata.Metadata; +import org.elasticsearch.cluster.routing.allocation.RoutingAllocation; +import org.elasticsearch.cluster.routing.allocation.decider.AllocationDeciders; +import org.elasticsearch.index.IndexVersion; +import org.elasticsearch.index.shard.ShardId; +import org.elasticsearch.repositories.IndexId; +import org.elasticsearch.snapshots.InternalSnapshotsInfoService; +import org.elasticsearch.snapshots.Snapshot; +import org.elasticsearch.snapshots.SnapshotId; +import org.elasticsearch.snapshots.SnapshotShardSizeInfo; + +import java.util.List; +import java.util.Map; + +import static org.elasticsearch.cluster.metadata.IndexMetadata.INDEX_RESIZE_SOURCE_NAME_KEY; +import static org.elasticsearch.cluster.metadata.IndexMetadata.INDEX_RESIZE_SOURCE_UUID_KEY; +import static org.elasticsearch.cluster.routing.ExpectedShardSizeEstimator.getExpectedShardSize; +import static org.elasticsearch.cluster.routing.TestShardRouting.newShardRouting; +import static org.hamcrest.Matchers.equalTo; + +public class ExpectedShardSizeEstimatorTests extends ESAllocationTestCase { + + private final long defaultValue = randomLongBetween(-1, 0); + + public void testShouldFallbackToDefaultValue() { + + var state = ClusterState.builder(ClusterName.DEFAULT).metadata(metadata(index("my-index"))).build(); + var shard = newShardRouting("my-index", 0, randomIdentifier(), true, ShardRoutingState.INITIALIZING); + + var allocation = createRoutingAllocation(state, ClusterInfo.EMPTY, SnapshotShardSizeInfo.EMPTY); + + assertThat(getExpectedShardSize(shard, defaultValue, allocation), equalTo(defaultValue)); + } + + public void testShouldReadExpectedSizeFromClusterInfo() { + + var shardSize = randomLongBetween(100, 1000); + var state = ClusterState.builder(ClusterName.DEFAULT).metadata(metadata(index("my-index"))).build(); + var shard = newShardRouting("my-index", 0, randomIdentifier(), true, ShardRoutingState.INITIALIZING); + + var clusterInfo = createClusterInfo(shard, shardSize); + var allocation = createRoutingAllocation(state, clusterInfo, SnapshotShardSizeInfo.EMPTY); + + assertThat(getExpectedShardSize(shard, defaultValue, allocation), equalTo(shardSize)); + } + + public void testShouldReadExpectedSizeWhenInitializingFromSnapshot() { + + var snapshotShardSize = randomLongBetween(100, 1000); + var state = ClusterState.builder(ClusterName.DEFAULT).metadata(metadata(index("my-index"))).build(); + + var snapshot = new Snapshot("repository", new SnapshotId("snapshot-1", "na")); + var indexId = new IndexId("my-index", "_na_"); + + var shard = newShardRouting( + new ShardId("my-index", "_na_", 0), + null, + true, + ShardRoutingState.UNASSIGNED, + new RecoverySource.SnapshotRecoverySource(randomUUID(), snapshot, IndexVersion.current(), indexId) + ); + + var snapshotShardSizeInfo = new SnapshotShardSizeInfo( + Map.of(new InternalSnapshotsInfoService.SnapshotShard(snapshot, indexId, shard.shardId()), snapshotShardSize) + ); + var allocation = createRoutingAllocation(state, ClusterInfo.EMPTY, snapshotShardSizeInfo); + + assertThat(getExpectedShardSize(shard, defaultValue, allocation), equalTo(snapshotShardSize)); + } + + public void testShouldReadSizeFromClonedShard() { + + var sourceShardSize = randomLongBetween(100, 1000); + var source = newShardRouting(new ShardId("source", "_na_", 0), randomIdentifier(), true, ShardRoutingState.STARTED); + var target = newShardRouting( + new ShardId("target", "_na_", 0), + randomIdentifier(), + true, + ShardRoutingState.INITIALIZING, + RecoverySource.LocalShardsRecoverySource.INSTANCE + ); + + var state = ClusterState.builder(ClusterName.DEFAULT) + .metadata( + metadata( + IndexMetadata.builder("source").settings(indexSettings(IndexVersion.current(), 2, 0)), + IndexMetadata.builder("target") + .settings( + indexSettings(IndexVersion.current(), 1, 0) // + .put(INDEX_RESIZE_SOURCE_NAME_KEY, "source") // + .put(INDEX_RESIZE_SOURCE_UUID_KEY, "_na_") + ) + ) + ) + .routingTable(RoutingTable.builder().add(IndexRoutingTable.builder(source.index()).addShard(source))) + .build(); + + var clusterInfo = createClusterInfo(source, sourceShardSize); + var allocation = createRoutingAllocation(state, clusterInfo, SnapshotShardSizeInfo.EMPTY); + + assertThat(getExpectedShardSize(target, defaultValue, allocation), equalTo(sourceShardSize)); + } + + private static RoutingAllocation createRoutingAllocation( + ClusterState state, + ClusterInfo clusterInfo, + SnapshotShardSizeInfo snapshotShardSizeInfo + ) { + return new RoutingAllocation(new AllocationDeciders(List.of()), state, clusterInfo, snapshotShardSizeInfo, 0); + } + + private static IndexMetadata.Builder index(String name) { + return IndexMetadata.builder(name).settings(indexSettings(IndexVersion.current(), 1, 0)); + } + + private static Metadata metadata(IndexMetadata.Builder... indices) { + var builder = Metadata.builder(); + for (IndexMetadata.Builder index : indices) { + builder.put(index.build(), false); + } + return builder.build(); + } + + private static ClusterInfo createClusterInfo(ShardRouting shard, Long size) { + return new ClusterInfo( + Map.of(), + Map.of(), + Map.of(ClusterInfo.shardIdentifierFromRouting(shard), size), + Map.of(), + Map.of(), + Map.of() + ); + } +} diff --git a/server/src/test/java/org/elasticsearch/cluster/routing/allocation/ExpectedShardSizeAllocationTests.java b/server/src/test/java/org/elasticsearch/cluster/routing/allocation/ExpectedShardSizeAllocationTests.java index a99c77b0be3cb..9ccc80ae8d1b4 100644 --- a/server/src/test/java/org/elasticsearch/cluster/routing/allocation/ExpectedShardSizeAllocationTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/routing/allocation/ExpectedShardSizeAllocationTests.java @@ -12,37 +12,170 @@ import org.elasticsearch.cluster.ClusterInfo; import org.elasticsearch.cluster.ClusterName; import org.elasticsearch.cluster.ClusterState; +import org.elasticsearch.cluster.DiskUsage; import org.elasticsearch.cluster.ESAllocationTestCase; +import org.elasticsearch.cluster.RestoreInProgress; import org.elasticsearch.cluster.TestShardRoutingRoleStrategies; import org.elasticsearch.cluster.metadata.IndexMetadata; import org.elasticsearch.cluster.metadata.Metadata; import org.elasticsearch.cluster.node.DiscoveryNodes; +import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.RoutingTable; +import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.routing.ShardRoutingState; import org.elasticsearch.cluster.routing.allocation.command.AllocationCommands; import org.elasticsearch.cluster.routing.allocation.command.MoveAllocationCommand; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.index.IndexVersion; import org.elasticsearch.index.shard.ShardId; +import org.elasticsearch.repositories.IndexId; +import org.elasticsearch.snapshots.InternalSnapshotsInfoService; +import org.elasticsearch.snapshots.Snapshot; +import org.elasticsearch.snapshots.SnapshotId; +import org.elasticsearch.snapshots.SnapshotShardSizeInfo; +import org.elasticsearch.test.gateway.TestGatewayAllocator; +import java.util.Collection; +import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.function.Function; +import static java.util.stream.Collectors.toMap; import static org.elasticsearch.cluster.routing.RoutingNodesHelper.shardsWithState; +import static org.elasticsearch.cluster.routing.ShardRoutingState.INITIALIZING; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; public class ExpectedShardSizeAllocationTests extends ESAllocationTestCase { + + public void testAllocateToCorrectNodeUsingShardSizeFromClusterInfo() { + + var indexMetadata = IndexMetadata.builder("test").settings(indexSettings(IndexVersion.current(), 1, 0)).build(); + + var clusterState = ClusterState.builder(ClusterName.DEFAULT) + .nodes(DiscoveryNodes.builder().add(newNode("node-1")).add(newNode("node-2")).add(newNode("node-3"))) + .metadata(Metadata.builder().put(indexMetadata, false)) + .routingTable(RoutingTable.builder(TestShardRoutingRoleStrategies.DEFAULT_ROLE_ONLY).addAsNew(indexMetadata)) + .build(); + var dataNodeIds = clusterState.nodes().getDataNodes().keySet(); + + long shardSize = ByteSizeValue.ofGb(1).getBytes(); + long diskSize = ByteSizeValue.ofGb(5).getBytes(); + long headRoom = diskSize / 10; + var expectedNodeId = randomFrom(dataNodeIds); + var clusterInfo = createClusterInfo( + createDiskUsage( + dataNodeIds, + nodeId -> createDiskUsage(nodeId, diskSize, headRoom + shardSize + (Objects.equals(nodeId, expectedNodeId) ? +1 : -1)) + ), + Map.of(ClusterInfo.shardIdentifierFromRouting(new ShardId(indexMetadata.getIndex(), 0), true), shardSize) + ); + + AllocationService service = createAllocationService(Settings.EMPTY, () -> clusterInfo); + clusterState = service.reroute(clusterState, "reroute", ActionListener.noop()); + + assertThatShard( + clusterState.routingTable().index(indexMetadata.getIndex()).shard(0).primaryShard(), + INITIALIZING, + expectedNodeId, + shardSize + ); + } + + public void testAllocateToCorrectNodeAccordingToSnapshotShardInfo() { + + var snapshot = new Snapshot("repository", new SnapshotId("snapshot-1", "na")); + var indexId = new IndexId("my-index", "_na_"); + var restoreId = "restore-id"; + + var indexMetadata = IndexMetadata.builder("test") + .settings(indexSettings(IndexVersion.current(), 1, 0)) + .putInSyncAllocationIds(0, Set.of(randomUUID())) + .build(); + + var clusterState = ClusterState.builder(ClusterName.DEFAULT) + .nodes(DiscoveryNodes.builder().add(newNode("node-1")).add(newNode("node-2")).add(newNode("node-3"))) + .metadata(Metadata.builder().put(indexMetadata, false)) + .routingTable( + RoutingTable.builder(TestShardRoutingRoleStrategies.DEFAULT_ROLE_ONLY) + .addAsRestore( + indexMetadata, + new RecoverySource.SnapshotRecoverySource(restoreId, snapshot, IndexVersion.current(), indexId) + ) + ) + .customs( + Map.of( + RestoreInProgress.TYPE, + new RestoreInProgress.Builder().add( + new RestoreInProgress.Entry( + restoreId, + snapshot, + RestoreInProgress.State.STARTED, + false, + List.of(indexMetadata.getIndex().getName()), + Map.of(new ShardId(indexMetadata.getIndex(), 0), new RestoreInProgress.ShardRestoreStatus(randomIdentifier())) + ) + ).build() + ) + ) + .build(); + var dataNodeIds = clusterState.nodes().getDataNodes().keySet(); + + long shardSize = ByteSizeValue.ofGb(1).getBytes(); + long diskSize = ByteSizeValue.ofGb(5).getBytes(); + long headRoom = diskSize / 10; + var expectedNodeId = randomFrom(dataNodeIds); + var clusterInfo = createClusterInfo( + createDiskUsage( + dataNodeIds, + nodeId -> createDiskUsage(nodeId, diskSize, headRoom + shardSize + (Objects.equals(nodeId, expectedNodeId) ? +1 : -1)) + ), + Map.of() + ); + var snapshotShardSizeInfo = new SnapshotShardSizeInfo( + Map.of(new InternalSnapshotsInfoService.SnapshotShard(snapshot, indexId, new ShardId(indexMetadata.getIndex(), 0)), shardSize) + ); + + AllocationService service = createAllocationService( + Settings.EMPTY, + new TestGatewayAllocator(), + () -> clusterInfo, + () -> snapshotShardSizeInfo + ); + clusterState = service.reroute(clusterState, "reroute", ActionListener.noop()); + + assertThatShard( + clusterState.routingTable().index(indexMetadata.getIndex()).shard(0).primaryShard(), + INITIALIZING, + expectedNodeId, + shardSize + ); + } + + private static void assertThatShard(ShardRouting shard, ShardRoutingState state, String nodeId, long expectedShardSize) { + assertThat(shard.state(), equalTo(state)); + assertThat(shard.currentNodeId(), equalTo(nodeId)); + assertThat(shard.getExpectedShardSize(), equalTo(expectedShardSize)); + } + + private static Map createDiskUsage(Collection nodeIds, Function diskUsageCreator) { + return nodeIds.stream().collect(toMap(Function.identity(), diskUsageCreator)); + } + + private static DiskUsage createDiskUsage(String nodeId, long totalBytes, long freeBytes) { + return new DiskUsage(nodeId, nodeId, "/data", totalBytes, freeBytes); + } + public void testInitializingHasExpectedSize() { final long byteSize = randomIntBetween(0, Integer.MAX_VALUE); final ClusterInfo clusterInfo = createClusterInfoWith(new ShardId("test", "_na_", 0), byteSize); AllocationService strategy = createAllocationService(Settings.EMPTY, () -> clusterInfo); logger.info("Building initial routing table"); - var indexMetadata = IndexMetadata.builder("test") - .settings(settings(IndexVersion.current())) - .numberOfShards(1) - .numberOfReplicas(1) - .build(); + var indexMetadata = IndexMetadata.builder("test").settings(indexSettings(IndexVersion.current(), 1, 1)).build(); ClusterState clusterState = ClusterState.builder(ClusterName.DEFAULT) .metadata(Metadata.builder().put(indexMetadata, false)) @@ -52,11 +185,8 @@ public void testInitializingHasExpectedSize() { logger.info("Adding one node and performing rerouting"); clusterState = strategy.reroute(clusterState, "reroute", ActionListener.noop()); - assertEquals(1, clusterState.getRoutingNodes().node("node1").numberOfShardsWithState(ShardRoutingState.INITIALIZING)); - assertEquals( - byteSize, - shardsWithState(clusterState.getRoutingNodes(), ShardRoutingState.INITIALIZING).get(0).getExpectedShardSize() - ); + assertEquals(1, clusterState.getRoutingNodes().node("node1").numberOfShardsWithState(INITIALIZING)); + assertEquals(byteSize, shardsWithState(clusterState.getRoutingNodes(), INITIALIZING).get(0).getExpectedShardSize()); logger.info("Start the primary shard"); clusterState = startInitializingShardsAndReroute(strategy, clusterState); @@ -67,11 +197,8 @@ public void testInitializingHasExpectedSize() { clusterState = ClusterState.builder(clusterState).nodes(DiscoveryNodes.builder(clusterState.nodes()).add(newNode("node2"))).build(); clusterState = strategy.reroute(clusterState, "reroute", ActionListener.noop()); - assertEquals(1, clusterState.getRoutingNodes().node("node2").numberOfShardsWithState(ShardRoutingState.INITIALIZING)); - assertEquals( - byteSize, - shardsWithState(clusterState.getRoutingNodes(), ShardRoutingState.INITIALIZING).get(0).getExpectedShardSize() - ); + assertEquals(1, clusterState.getRoutingNodes().node("node2").numberOfShardsWithState(INITIALIZING)); + assertEquals(byteSize, shardsWithState(clusterState.getRoutingNodes(), INITIALIZING).get(0).getExpectedShardSize()); } public void testExpectedSizeOnMove() { @@ -79,11 +206,7 @@ public void testExpectedSizeOnMove() { final ClusterInfo clusterInfo = createClusterInfoWith(new ShardId("test", "_na_", 0), byteSize); final AllocationService allocation = createAllocationService(Settings.EMPTY, () -> clusterInfo); logger.info("creating an index with 1 shard, no replica"); - var indexMetadata = IndexMetadata.builder("test") - .settings(settings(IndexVersion.current())) - .numberOfShards(1) - .numberOfReplicas(0) - .build(); + var indexMetadata = IndexMetadata.builder("test").settings(indexSettings(IndexVersion.current(), 1, 0)).build(); ClusterState clusterState = ClusterState.builder(ClusterName.DEFAULT) .metadata(Metadata.builder().put(indexMetadata, false)) .routingTable(RoutingTable.builder(TestShardRoutingRoleStrategies.DEFAULT_ROLE_ONLY).addAsNew(indexMetadata)) @@ -111,7 +234,7 @@ public void testExpectedSizeOnMove() { assertThat(commandsResult.clusterState(), not(equalTo(clusterState))); clusterState = commandsResult.clusterState(); assertEquals(clusterState.getRoutingNodes().node(existingNodeId).iterator().next().state(), ShardRoutingState.RELOCATING); - assertEquals(clusterState.getRoutingNodes().node(toNodeId).iterator().next().state(), ShardRoutingState.INITIALIZING); + assertEquals(clusterState.getRoutingNodes().node(toNodeId).iterator().next().state(), INITIALIZING); assertEquals(clusterState.getRoutingNodes().node(existingNodeId).iterator().next().getExpectedShardSize(), byteSize); assertEquals(clusterState.getRoutingNodes().node(toNodeId).iterator().next().getExpectedShardSize(), byteSize); @@ -137,4 +260,8 @@ private static ClusterInfo createClusterInfoWith(ShardId shardId, long size) { Map.of() ); } + + private static ClusterInfo createClusterInfo(Map diskUsage, Map shardSizes) { + return new ClusterInfo(diskUsage, diskUsage, shardSizes, Map.of(), Map.of(), Map.of()); + } } diff --git a/server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDeciderUnitTests.java b/server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDeciderUnitTests.java index 41af35629790d..88c7dc24b4089 100644 --- a/server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDeciderUnitTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDeciderUnitTests.java @@ -51,6 +51,7 @@ import java.util.Map; import static java.util.Collections.emptySet; +import static org.elasticsearch.cluster.routing.ExpectedShardSizeEstimator.getExpectedShardSize; import static org.elasticsearch.index.IndexModule.INDEX_STORE_TYPE_SETTING; import static org.elasticsearch.snapshots.SearchableSnapshotsSettings.SEARCHABLE_SNAPSHOT_STORE_TYPE; import static org.hamcrest.Matchers.containsString; @@ -459,9 +460,9 @@ public void testShardSizeAndRelocatingSize() { test_2 = ShardRoutingHelper.initialize(test_2, "node1"); test_2 = ShardRoutingHelper.moveToStarted(test_2); - assertEquals(1000L, DiskThresholdDecider.getExpectedShardSize(test_2, 0L, allocation)); - assertEquals(100L, DiskThresholdDecider.getExpectedShardSize(test_1, 0L, allocation)); - assertEquals(10L, DiskThresholdDecider.getExpectedShardSize(test_0, 0L, allocation)); + assertEquals(1000L, getExpectedShardSize(test_2, 0L, allocation)); + assertEquals(100L, getExpectedShardSize(test_1, 0L, allocation)); + assertEquals(10L, getExpectedShardSize(test_0, 0L, allocation)); RoutingNode node = RoutingNodesHelper.routingNode( "node1", @@ -484,7 +485,7 @@ public void testShardSizeAndRelocatingSize() { ); test_3 = ShardRoutingHelper.initialize(test_3, "node1"); test_3 = ShardRoutingHelper.moveToStarted(test_3); - assertEquals(0L, DiskThresholdDecider.getExpectedShardSize(test_3, 0L, allocation)); + assertEquals(0L, getExpectedShardSize(test_3, 0L, allocation)); boolean primary = randomBoolean(); ShardRouting other_0 = ShardRouting.newUnassigned( @@ -725,10 +726,10 @@ public void testSizeShrinkIndex() { ShardRouting.Role.DEFAULT ); test_3 = ShardRoutingHelper.initialize(test_3, "node1"); - assertEquals(500L, DiskThresholdDecider.getExpectedShardSize(test_3, 0L, allocation)); - assertEquals(500L, DiskThresholdDecider.getExpectedShardSize(test_2, 0L, allocation)); - assertEquals(100L, DiskThresholdDecider.getExpectedShardSize(test_1, 0L, allocation)); - assertEquals(10L, DiskThresholdDecider.getExpectedShardSize(test_0, 0L, allocation)); + assertEquals(500L, getExpectedShardSize(test_3, 0L, allocation)); + assertEquals(500L, getExpectedShardSize(test_2, 0L, allocation)); + assertEquals(100L, getExpectedShardSize(test_1, 0L, allocation)); + assertEquals(10L, getExpectedShardSize(test_0, 0L, allocation)); ShardRouting target = ShardRouting.newUnassigned( new ShardId(new Index("target", "5678"), 0), @@ -737,7 +738,7 @@ public void testSizeShrinkIndex() { new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "foo"), ShardRouting.Role.DEFAULT ); - assertEquals(1110L, DiskThresholdDecider.getExpectedShardSize(target, 0L, allocation)); + assertEquals(1110L, getExpectedShardSize(target, 0L, allocation)); ShardRouting target2 = ShardRouting.newUnassigned( new ShardId(new Index("target2", "9101112"), 0), @@ -746,7 +747,7 @@ public void testSizeShrinkIndex() { new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "foo"), ShardRouting.Role.DEFAULT ); - assertEquals(110L, DiskThresholdDecider.getExpectedShardSize(target2, 0L, allocation)); + assertEquals(110L, getExpectedShardSize(target2, 0L, allocation)); target2 = ShardRouting.newUnassigned( new ShardId(new Index("target2", "9101112"), 1), @@ -755,7 +756,7 @@ public void testSizeShrinkIndex() { new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "foo"), ShardRouting.Role.DEFAULT ); - assertEquals(1000L, DiskThresholdDecider.getExpectedShardSize(target2, 0L, allocation)); + assertEquals(1000L, getExpectedShardSize(target2, 0L, allocation)); // check that the DiskThresholdDecider still works even if the source index has been deleted ClusterState clusterStateWithMissingSourceIndex = ClusterState.builder(clusterState) @@ -765,8 +766,8 @@ public void testSizeShrinkIndex() { allocationService.reroute(clusterState, "foo", ActionListener.noop()); RoutingAllocation allocationWithMissingSourceIndex = new RoutingAllocation(null, clusterStateWithMissingSourceIndex, info, null, 0); - assertEquals(42L, DiskThresholdDecider.getExpectedShardSize(target, 42L, allocationWithMissingSourceIndex)); - assertEquals(42L, DiskThresholdDecider.getExpectedShardSize(target2, 42L, allocationWithMissingSourceIndex)); + assertEquals(42L, getExpectedShardSize(target, 42L, allocationWithMissingSourceIndex)); + assertEquals(42L, getExpectedShardSize(target2, 42L, allocationWithMissingSourceIndex)); } public void testDiskUsageWithRelocations() { diff --git a/server/src/test/java/org/elasticsearch/index/mapper/NumberFieldTypeTests.java b/server/src/test/java/org/elasticsearch/index/mapper/NumberFieldTypeTests.java index 20b9661ad0b42..40d1f2488749a 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/NumberFieldTypeTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/NumberFieldTypeTests.java @@ -573,7 +573,6 @@ public void doTestDocValueRangeQueries(NumberType type, Supplier valueSu dir.close(); } - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/74057") public void testIndexSortIntRange() throws Exception { doTestIndexSortRangeQueries(NumberType.INTEGER, random()::nextInt); } diff --git a/server/src/test/java/org/elasticsearch/search/SearchHitTests.java b/server/src/test/java/org/elasticsearch/search/SearchHitTests.java index 7bade799bc8ea..d08abe5065984 100644 --- a/server/src/test/java/org/elasticsearch/search/SearchHitTests.java +++ b/server/src/test/java/org/elasticsearch/search/SearchHitTests.java @@ -102,7 +102,7 @@ public static SearchHit createTestItem(XContentType xContentType, boolean withOp Map highlightFields = Maps.newMapWithExpectedSize(size); for (int i = 0; i < size; i++) { HighlightField testItem = HighlightFieldTests.createTestItem(); - highlightFields.put(testItem.getName(), testItem); + highlightFields.put(testItem.name(), testItem); } hit.highlightFields(highlightFields); } diff --git a/server/src/test/java/org/elasticsearch/search/SearchModuleTests.java b/server/src/test/java/org/elasticsearch/search/SearchModuleTests.java index eb6318d8abe75..0a9336b93bd2c 100644 --- a/server/src/test/java/org/elasticsearch/search/SearchModuleTests.java +++ b/server/src/test/java/org/elasticsearch/search/SearchModuleTests.java @@ -43,7 +43,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; import org.elasticsearch.search.aggregations.support.ValuesSourceAggregatorFactory; import org.elasticsearch.search.aggregations.support.ValuesSourceConfig; -import org.elasticsearch.search.aggregations.support.ValuesSourceRegistry; import org.elasticsearch.search.aggregations.support.ValuesSourceType; import org.elasticsearch.search.fetch.FetchSubPhase; import org.elasticsearch.search.fetch.subphase.ExplainPhase; @@ -514,11 +513,6 @@ public String getType() { return "test"; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return ValuesSourceRegistry.UNREGISTERED_KEY; - } - @Override protected void innerWriteTo(StreamOutput out) throws IOException {} diff --git a/server/src/test/java/org/elasticsearch/search/aggregations/metrics/HDRPercentilesAggregatorTests.java b/server/src/test/java/org/elasticsearch/search/aggregations/metrics/HDRPercentilesAggregatorTests.java index 2e410cf0a10f5..1f61f507e88a6 100644 --- a/server/src/test/java/org/elasticsearch/search/aggregations/metrics/HDRPercentilesAggregatorTests.java +++ b/server/src/test/java/org/elasticsearch/search/aggregations/metrics/HDRPercentilesAggregatorTests.java @@ -77,7 +77,6 @@ public void testStringField() throws IOException { /** * Attempting to use HDRPercentileAggregation on a range field throws IllegalArgumentException */ - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/42949") public void testRangeField() throws IOException { // Currently fails (throws ClassCast exception), but should be fixed once HDRPercentileAggregation uses the ValuesSource registry final String fieldName = "range"; diff --git a/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightFieldTests.java b/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightFieldTests.java index f174ae9180522..2d081fe2e3049 100644 --- a/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightFieldTests.java +++ b/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightFieldTests.java @@ -113,9 +113,9 @@ public void testSerialization() throws IOException { } private static HighlightField mutate(HighlightField original) { - Text[] fragments = original.getFragments(); + Text[] fragments = original.fragments(); if (randomBoolean()) { - return new HighlightField(original.getName() + "_suffix", fragments); + return new HighlightField(original.name() + "_suffix", fragments); } else { if (fragments == null) { fragments = new Text[] { new Text("field") }; @@ -123,12 +123,12 @@ private static HighlightField mutate(HighlightField original) { fragments = Arrays.copyOf(fragments, fragments.length + 1); fragments[fragments.length - 1] = new Text("something new"); } - return new HighlightField(original.getName(), fragments); + return new HighlightField(original.name(), fragments); } } private static HighlightField copy(HighlightField original) { - return new HighlightField(original.getName(), original.getFragments()); + return new HighlightField(original.name(), original.fragments()); } } diff --git a/server/src/test/java/org/elasticsearch/search/suggest/SuggestTests.java b/server/src/test/java/org/elasticsearch/search/suggest/SuggestTests.java index b6fa1e236a843..d209f15a641f5 100644 --- a/server/src/test/java/org/elasticsearch/search/suggest/SuggestTests.java +++ b/server/src/test/java/org/elasticsearch/search/suggest/SuggestTests.java @@ -239,7 +239,6 @@ public void testMergingSuggestionOptions() { assertTrue(option1.collateMatch()); } - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/95607") public void testSerialization() throws IOException { TransportVersion bwcVersion = TransportVersionUtils.randomVersionBetween( random(), @@ -248,6 +247,22 @@ public void testSerialization() throws IOException { ); final Suggest suggest = createTestItem(); + // suggest is disallowed when using rank, but the randomization rarely sets it + // we need to make sure CompletionSuggestion$Entry$Option doesn't have "rank" set + // because for some older versions it will not serialize. + if (bwcVersion.before(TransportVersions.V_8_8_0)) { + for (CompletionSuggestion s : suggest.filter(CompletionSuggestion.class)) { + for (CompletionSuggestion.Entry entry : s.entries) { + List options = entry.getOptions(); + for (CompletionSuggestion.Entry.Option o : entry.getOptions()) { + if (o.getHit() != null) { + o.getHit().setRank(-1); + } + } + } + } + } + final Suggest bwcSuggest; NamedWriteableRegistry registry = new NamedWriteableRegistry(new SearchModule(Settings.EMPTY, emptyList()).getNamedWriteables()); diff --git a/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/ApmIT.java b/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/MetricsApmIT.java similarity index 97% rename from test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/ApmIT.java rename to test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/MetricsApmIT.java index b75ce619e54ea..0c33cd4984d86 100644 --- a/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/ApmIT.java +++ b/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/MetricsApmIT.java @@ -35,7 +35,7 @@ import static org.hamcrest.Matchers.closeTo; import static org.hamcrest.Matchers.equalTo; -public class ApmIT extends ESRestTestCase { +public class MetricsApmIT extends ESRestTestCase { private static final XContentProvider.FormatProvider XCONTENT = XContentProvider.provider().getJsonXContent(); @ClassRule @@ -83,6 +83,8 @@ public void testApmIntegration() throws Exception { Consumer messageConsumer = (String message) -> { var apmMessage = parseMap(message); if (isElasticsearchMetric(apmMessage)) { + logger.info("Apm metric message received: " + message); + var metricset = (Map) apmMessage.get("metricset"); var samples = (Map) metricset.get("samples"); diff --git a/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/RecordingApmServer.java b/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/RecordingApmServer.java index c3a8df2c4b150..542f8a8d7d2f2 100644 --- a/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/RecordingApmServer.java +++ b/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/RecordingApmServer.java @@ -60,7 +60,6 @@ private Thread consumerThread() { try { String msg = received.poll(1L, TimeUnit.SECONDS); if (msg != null && msg.isEmpty() == false) { - logger.info("APM server received: " + msg); consumer.accept(msg); } @@ -84,7 +83,6 @@ private void handle(HttpExchange exchange) throws IOException { try (InputStream requestBody = exchange.getRequestBody()) { if (requestBody != null) { var read = readJsonMessages(requestBody); - read.forEach(s -> logger.debug(s)); received.addAll(read); } } diff --git a/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/TracesApmIT.java b/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/TracesApmIT.java new file mode 100644 index 0000000000000..79816114cc38f --- /dev/null +++ b/test/external-modules/apm-integration/src/javaRestTest/java/org/elasticsearch/test/apmintegration/TracesApmIT.java @@ -0,0 +1,146 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +package org.elasticsearch.test.apmintegration; + +import org.elasticsearch.client.Request; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.common.xcontent.support.XContentMapValues; +import org.elasticsearch.tasks.Task; +import org.elasticsearch.test.cluster.ElasticsearchCluster; +import org.elasticsearch.test.cluster.local.distribution.DistributionType; +import org.elasticsearch.test.rest.ESRestTestCase; +import org.elasticsearch.xcontent.XContentParser; +import org.elasticsearch.xcontent.XContentParserConfiguration; +import org.elasticsearch.xcontent.spi.XContentProvider; +import org.hamcrest.Matcher; +import org.hamcrest.StringDescription; +import org.junit.ClassRule; +import org.junit.Rule; + +import java.io.IOException; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.function.Consumer; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +import static org.hamcrest.Matchers.equalTo; + +public class TracesApmIT extends ESRestTestCase { + private static final XContentProvider.FormatProvider XCONTENT = XContentProvider.provider().getJsonXContent(); + final String traceIdValue = "0af7651916cd43dd8448eb211c80319c"; + final String traceParentValue = "00-" + traceIdValue + "-b7ad6b7169203331-01"; + + @ClassRule + public static RecordingApmServer mockApmServer = new RecordingApmServer(); + + @Rule + public ElasticsearchCluster cluster = ElasticsearchCluster.local() + .distribution(DistributionType.INTEG_TEST) + .module("test-apm-integration") + .module("apm") + .setting("telemetry.metrics.enabled", "false") + .setting("tracing.apm.enabled", "true") + .setting("tracing.apm.agent.metrics_interval", "1s") + .setting("tracing.apm.agent.server_url", "http://127.0.0.1:" + mockApmServer.getPort()) + .build(); + + @Override + protected String getTestRestCluster() { + return cluster.getHttpAddresses(); + } + + @SuppressWarnings("unchecked") + public void testApmIntegration() throws Exception { + Set>> assertions = new HashSet<>( + Set.of(allTrue(transactionValue("name", equalTo("GET /_nodes/stats")), transactionValue("trace_id", equalTo(traceIdValue)))) + ); + + CountDownLatch finished = new CountDownLatch(1); + + // a consumer that will remove the assertions from a map once it matched + Consumer messageConsumer = (String message) -> { + var apmMessage = parseMap(message); + if (isTransactionTraceMessage(apmMessage)) { + logger.info("Apm transaction message received: " + message); + assertions.removeIf(e -> e.test(apmMessage)); + } + + if (assertions.isEmpty()) { + finished.countDown(); + } + }; + + mockApmServer.addMessageConsumer(messageConsumer); + + Request nodeStatsRequest = new Request("GET", "/_nodes/stats"); + + nodeStatsRequest.setOptions(RequestOptions.DEFAULT.toBuilder().addHeader(Task.TRACE_PARENT_HTTP_HEADER, traceParentValue).build()); + + client().performRequest(nodeStatsRequest); + + finished.await(30, TimeUnit.SECONDS); + assertThat(assertions, equalTo(Collections.emptySet())); + } + + private boolean isTransactionTraceMessage(Map apmMessage) { + return apmMessage.containsKey("transaction"); + } + + @SuppressWarnings("unchecked") + private Predicate> allTrue(Predicate>... predicates) { + var allTrueTest = Arrays.stream(predicates).reduce(v -> true, Predicate::and); + return new Predicate<>() { + @Override + public boolean test(Map map) { + return allTrueTest.test(map); + } + + @Override + public String toString() { + return Arrays.stream(predicates).map(p -> p.toString()).collect(Collectors.joining(" and ")); + } + }; + } + + @SuppressWarnings("unchecked") + private Predicate> transactionValue(String path, Matcher expected) { + + return new Predicate<>() { + @Override + public boolean test(Map map) { + var transaction = (Map) map.get("transaction"); + var value = XContentMapValues.extractValue(path, transaction); + return expected.matches((T) value); + } + + @Override + public String toString() { + StringDescription matcherDescription = new StringDescription(); + expected.describeTo(matcherDescription); + return path + " " + matcherDescription; + } + }; + } + + private Map parseMap(String message) { + try (XContentParser parser = XCONTENT.XContent().createParser(XContentParserConfiguration.EMPTY, message)) { + return parser.map(); + } catch (IOException e) { + fail(e); + return Collections.emptyMap(); + } + } + +} diff --git a/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java b/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java index 168ab8663a153..aecd81882c108 100644 --- a/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java @@ -420,11 +420,6 @@ public Analyzer buildCustomAnalyzer( return null; } - @Override - public boolean isFieldMapped(String field) { - throw new UnsupportedOperationException(); - } - @Override public SearchLookup lookup() { return lookupSupplier.get(); diff --git a/test/framework/src/main/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java b/test/framework/src/main/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java index 48daf85938b37..d82d6ac4c4f6b 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java @@ -220,18 +220,7 @@ protected String validate(AggregationBuilder parent, AF builder) { * Helper for testing validation. */ protected String validate(Collection siblingAggregations, AF builder) { - return validate(siblingAggregations, emptyList(), builder); - } - - /** - * Helper for testing validation. - */ - protected String validate( - Collection siblingAggregations, - Collection siblingPipelineAggregations, - AF builder - ) { - return validate(ValidationContext.forTreeRoot(siblingAggregations, siblingPipelineAggregations, null), builder); + return validate(ValidationContext.forTreeRoot(siblingAggregations, null), builder); } /** diff --git a/test/framework/src/main/java/org/elasticsearch/search/fetch/HighlighterTestCase.java b/test/framework/src/main/java/org/elasticsearch/search/fetch/HighlighterTestCase.java index 8cbf233616c53..a9f1ab7780f7f 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/fetch/HighlighterTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/search/fetch/HighlighterTestCase.java @@ -101,7 +101,8 @@ private static Map> storedFields(StoredFieldsSpec spec, Par */ protected static void assertHighlights(Map highlights, String field, String... fragments) { assertNotNull("No highlights reported for field [" + field + "]", highlights.get(field)); - List actualFragments = Arrays.stream(highlights.get(field).getFragments()).map(Text::toString).collect(Collectors.toList()); + HighlightField highlightField = highlights.get(field); + List actualFragments = Arrays.stream(highlightField.fragments()).map(Text::toString).collect(Collectors.toList()); List expectedFragments = List.of(fragments); assertEquals(expectedFragments, actualFragments); } diff --git a/test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java b/test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java index f9085ec258627..ea9dd001e5ce8 100644 --- a/test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java @@ -25,6 +25,7 @@ import org.elasticsearch.cluster.node.DiscoveryNodeUtils; import org.elasticsearch.cluster.node.VersionInformation; import org.elasticsearch.common.bytes.BytesArray; +import org.elasticsearch.common.component.Lifecycle; import org.elasticsearch.common.io.stream.BytesStreamOutput; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -881,6 +882,31 @@ public void handleException(TransportException exp) { assertThat(e.getCause().getCause().getMessage(), equalTo("runtime_exception: bad message !!!")); } + public void testExceptionOnConnect() { + final var transportA = serviceA.getOriginalTransport(); + + final var nullProfileFuture = new PlainActionFuture(); + transportA.openConnection(nodeB, null, nullProfileFuture); + assertTrue(nullProfileFuture.isDone()); + expectThrows(ExecutionException.class, NullPointerException.class, nullProfileFuture::get); + + final var profile = ConnectionProfile.buildDefaultConnectionProfile(Settings.EMPTY); + final var nullNodeFuture = new PlainActionFuture(); + transportA.openConnection(null, profile, nullNodeFuture); + assertTrue(nullNodeFuture.isDone()); + expectThrows(ExecutionException.class, ConnectTransportException.class, nullNodeFuture::get); + + serviceA.stop(); + assertEquals(Lifecycle.State.STOPPED, transportA.lifecycleState()); + serviceA.close(); + assertEquals(Lifecycle.State.CLOSED, transportA.lifecycleState()); + + final var closedTransportFuture = new PlainActionFuture(); + transportA.openConnection(nodeB, profile, closedTransportFuture); + assertTrue(closedTransportFuture.isDone()); + expectThrows(ExecutionException.class, IllegalStateException.class, closedTransportFuture::get); + } + public void testDisconnectListener() throws Exception { final CountDownLatch latch = new CountDownLatch(1); TransportConnectionListener disconnectListener = new TransportConnectionListener() { diff --git a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/boxplot/BoxplotAggregationBuilder.java b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/boxplot/BoxplotAggregationBuilder.java index 03ddfee9681fb..b0e8b8ae05b51 100644 --- a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/boxplot/BoxplotAggregationBuilder.java +++ b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/boxplot/BoxplotAggregationBuilder.java @@ -187,11 +187,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public Optional> getOutputFieldNames() { return Optional.of(InternalBoxplot.METRIC_NAMES); diff --git a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/rate/RateAggregationBuilder.java b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/rate/RateAggregationBuilder.java index 634c76b819ea0..0b0becc1ae446 100644 --- a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/rate/RateAggregationBuilder.java +++ b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/rate/RateAggregationBuilder.java @@ -117,11 +117,6 @@ protected void innerWriteTo(StreamOutput out) throws IOException { } } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override protected RateAggregatorFactory innerBuild( AggregationContext context, diff --git a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/stringstats/StringStatsAggregationBuilder.java b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/stringstats/StringStatsAggregationBuilder.java index 0be2ac9f24e62..c75ed46102112 100644 --- a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/stringstats/StringStatsAggregationBuilder.java +++ b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/stringstats/StringStatsAggregationBuilder.java @@ -116,11 +116,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - /** * Return whether to include the probability distribution of each character in the results. * {@code showDistribution} is true, distribution will be included. diff --git a/x-pack/plugin/apm-data/src/yamlRestTest/java/org/elasticsearch/xpack/apmdata/APMYamlTestSuiteIT.java b/x-pack/plugin/apm-data/src/yamlRestTest/java/org/elasticsearch/xpack/apmdata/APMYamlTestSuiteIT.java index 5835a41479a68..77cac16a4e90c 100644 --- a/x-pack/plugin/apm-data/src/yamlRestTest/java/org/elasticsearch/xpack/apmdata/APMYamlTestSuiteIT.java +++ b/x-pack/plugin/apm-data/src/yamlRestTest/java/org/elasticsearch/xpack/apmdata/APMYamlTestSuiteIT.java @@ -10,11 +10,13 @@ import com.carrotsearch.randomizedtesting.annotations.Name; import com.carrotsearch.randomizedtesting.annotations.ParametersFactory; +import org.apache.lucene.tests.util.LuceneTestCase; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.rest.yaml.ClientYamlTestCandidate; import org.elasticsearch.test.rest.yaml.ESClientYamlSuiteTestCase; import org.junit.ClassRule; +@LuceneTestCase.AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/101929") public class APMYamlTestSuiteIT extends ESClientYamlSuiteTestCase { @ClassRule diff --git a/x-pack/plugin/async-search/src/internalClusterTest/java/org/elasticsearch/xpack/search/CrossClusterAsyncSearchIT.java b/x-pack/plugin/async-search/src/internalClusterTest/java/org/elasticsearch/xpack/search/CrossClusterAsyncSearchIT.java index 31baba05c3b09..6dc940d191685 100644 --- a/x-pack/plugin/async-search/src/internalClusterTest/java/org/elasticsearch/xpack/search/CrossClusterAsyncSearchIT.java +++ b/x-pack/plugin/async-search/src/internalClusterTest/java/org/elasticsearch/xpack/search/CrossClusterAsyncSearchIT.java @@ -1238,6 +1238,7 @@ public void testRemoteClusterOnlyCCSWithFailuresOnAllShards() throws Exception { } } + @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/100957") public void testCancelViaTasksAPI() throws Exception { Map testClusterInfo = setupTwoClusters(); String localIndex = (String) testClusterInfo.get("local.index"); diff --git a/x-pack/plugin/autoscaling/src/main/java/org/elasticsearch/xpack/autoscaling/storage/ReactiveStorageDeciderService.java b/x-pack/plugin/autoscaling/src/main/java/org/elasticsearch/xpack/autoscaling/storage/ReactiveStorageDeciderService.java index fc8eedbe1ca75..7eb3cca18efd0 100644 --- a/x-pack/plugin/autoscaling/src/main/java/org/elasticsearch/xpack/autoscaling/storage/ReactiveStorageDeciderService.java +++ b/x-pack/plugin/autoscaling/src/main/java/org/elasticsearch/xpack/autoscaling/storage/ReactiveStorageDeciderService.java @@ -22,6 +22,7 @@ import org.elasticsearch.cluster.node.DiscoveryNodeFilters; import org.elasticsearch.cluster.node.DiscoveryNodeRole; import org.elasticsearch.cluster.node.DiscoveryNodes; +import org.elasticsearch.cluster.routing.ExpectedShardSizeEstimator; import org.elasticsearch.cluster.routing.IndexRoutingTable; import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.RoutingNode; @@ -670,7 +671,7 @@ long sizeOf(ShardRouting shard) { } private long getExpectedShardSize(ShardRouting shard) { - return DiskThresholdDecider.getExpectedShardSize(shard, 0L, info, shardSizeInfo, state.metadata(), state.routingTable()); + return ExpectedShardSizeEstimator.getExpectedShardSize(shard, 0L, info, shardSizeInfo, state.metadata(), state.routingTable()); } long unmovableSize(String nodeId, Collection shards) { diff --git a/x-pack/plugin/blob-cache/src/main/java/org/elasticsearch/blobcache/BlobCacheMetrics.java b/x-pack/plugin/blob-cache/src/main/java/org/elasticsearch/blobcache/BlobCacheMetrics.java new file mode 100644 index 0000000000000..b4830ca97938f --- /dev/null +++ b/x-pack/plugin/blob-cache/src/main/java/org/elasticsearch/blobcache/BlobCacheMetrics.java @@ -0,0 +1,48 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +package org.elasticsearch.blobcache; + +import org.elasticsearch.telemetry.TelemetryProvider; +import org.elasticsearch.telemetry.metric.LongCounter; +import org.elasticsearch.telemetry.metric.LongHistogram; +import org.elasticsearch.telemetry.metric.MeterRegistry; + +public class BlobCacheMetrics { + private final LongCounter cacheMissCounter; + private final LongHistogram cacheMissLoadTimes; + + public BlobCacheMetrics(MeterRegistry meterRegistry) { + this( + meterRegistry.registerLongCounter( + "elasticsearch.blob_cache.miss_that_triggered_read", + "The number of times there was a cache miss that triggered a read from the blob store", + "count" + ), + meterRegistry.registerLongHistogram( + "elasticsearch.blob_cache.cache_miss_load_times", + "The timing data for populating entries in the blob store resulting from a cache miss.", + "count" + ) + ); + } + + BlobCacheMetrics(LongCounter cacheMissCounter, LongHistogram cacheMissLoadTimes) { + this.cacheMissCounter = cacheMissCounter; + this.cacheMissLoadTimes = cacheMissLoadTimes; + } + + public static BlobCacheMetrics NOOP = new BlobCacheMetrics(TelemetryProvider.NOOP.getMeterRegistry()); + + public LongCounter getCacheMissCounter() { + return cacheMissCounter; + } + + public LongHistogram getCacheMissLoadTimes() { + return cacheMissLoadTimes; + } +} diff --git a/x-pack/plugin/blob-cache/src/main/java/org/elasticsearch/blobcache/shared/SharedBlobCacheService.java b/x-pack/plugin/blob-cache/src/main/java/org/elasticsearch/blobcache/shared/SharedBlobCacheService.java index 2538ee613b96f..7740e500344f2 100644 --- a/x-pack/plugin/blob-cache/src/main/java/org/elasticsearch/blobcache/shared/SharedBlobCacheService.java +++ b/x-pack/plugin/blob-cache/src/main/java/org/elasticsearch/blobcache/shared/SharedBlobCacheService.java @@ -13,6 +13,7 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.PlainActionFuture; import org.elasticsearch.action.support.RefCountingListener; +import org.elasticsearch.blobcache.BlobCacheMetrics; import org.elasticsearch.blobcache.BlobCacheUtils; import org.elasticsearch.blobcache.common.ByteRange; import org.elasticsearch.blobcache.common.SparseFileTracker; @@ -298,8 +299,16 @@ private CacheEntry(T chunk) { private final LongAdder evictCount = new LongAdder(); - public SharedBlobCacheService(NodeEnvironment environment, Settings settings, ThreadPool threadPool, String ioExecutor) { - this(environment, settings, threadPool, ioExecutor, ioExecutor); + private final BlobCacheMetrics blobCacheMetrics; + + public SharedBlobCacheService( + NodeEnvironment environment, + Settings settings, + ThreadPool threadPool, + String ioExecutor, + BlobCacheMetrics blobCacheMetrics + ) { + this(environment, settings, threadPool, ioExecutor, ioExecutor, blobCacheMetrics); } public SharedBlobCacheService( @@ -307,7 +316,8 @@ public SharedBlobCacheService( Settings settings, ThreadPool threadPool, String ioExecutor, - String bulkExecutor + String bulkExecutor, + BlobCacheMetrics blobCacheMetrics ) { this.threadPool = threadPool; this.ioExecutor = threadPool.executor(ioExecutor); @@ -347,6 +357,8 @@ public SharedBlobCacheService( this.rangeSize = SHARED_CACHE_RANGE_SIZE_SETTING.get(settings); this.recoveryRangeSize = SHARED_CACHE_RECOVERY_RANGE_SIZE_SETTING.get(settings); + + this.blobCacheMetrics = blobCacheMetrics; } public static long calculateCacheSize(Settings settings, long totalFsSize) { @@ -795,6 +807,20 @@ public int populateAndRead( final RangeAvailableHandler reader, final RangeMissingHandler writer ) throws Exception { + // We are interested in the total time that the system spends when fetching a result (including time spent queuing), so we start + // our measurement here. + final long startTime = threadPool.relativeTimeInMillis(); + RangeMissingHandler writerInstrumentationDecorator = ( + SharedBytes.IO channel, + int channelPos, + int relativePos, + int length, + IntConsumer progressUpdater) -> { + writer.fillCacheRange(channel, channelPos, relativePos, length, progressUpdater); + var elapsedTime = threadPool.relativeTimeInMillis() - startTime; + SharedBlobCacheService.this.blobCacheMetrics.getCacheMissLoadTimes().record(elapsedTime); + SharedBlobCacheService.this.blobCacheMetrics.getCacheMissCounter().increment(); + }; if (rangeToRead.isEmpty()) { // nothing to read, skip return 0; @@ -802,9 +828,9 @@ public int populateAndRead( final int startRegion = getRegion(rangeToWrite.start()); final int endRegion = getEndingRegion(rangeToWrite.end()); if (startRegion == endRegion) { - return readSingleRegion(rangeToWrite, rangeToRead, reader, writer, startRegion); + return readSingleRegion(rangeToWrite, rangeToRead, reader, writerInstrumentationDecorator, startRegion); } - return readMultiRegions(rangeToWrite, rangeToRead, reader, writer, startRegion, endRegion); + return readMultiRegions(rangeToWrite, rangeToRead, reader, writerInstrumentationDecorator, startRegion, endRegion); } private int readSingleRegion( diff --git a/x-pack/plugin/blob-cache/src/test/java/org/elasticsearch/blobcache/shared/SharedBlobCacheServiceTests.java b/x-pack/plugin/blob-cache/src/test/java/org/elasticsearch/blobcache/shared/SharedBlobCacheServiceTests.java index 300f9f1d8efa9..cd9bb5b5934c8 100644 --- a/x-pack/plugin/blob-cache/src/test/java/org/elasticsearch/blobcache/shared/SharedBlobCacheServiceTests.java +++ b/x-pack/plugin/blob-cache/src/test/java/org/elasticsearch/blobcache/shared/SharedBlobCacheServiceTests.java @@ -10,6 +10,7 @@ import org.apache.lucene.store.AlreadyClosedException; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.PlainActionFuture; +import org.elasticsearch.blobcache.BlobCacheMetrics; import org.elasticsearch.blobcache.common.ByteRange; import org.elasticsearch.cluster.node.DiscoveryNodeRole; import org.elasticsearch.common.settings.Setting; @@ -66,7 +67,13 @@ public void testBasicEviction() throws IOException { final DeterministicTaskQueue taskQueue = new DeterministicTaskQueue(); try ( NodeEnvironment environment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings)); - var cacheService = new SharedBlobCacheService<>(environment, settings, taskQueue.getThreadPool(), ThreadPool.Names.GENERIC) + var cacheService = new SharedBlobCacheService<>( + environment, + settings, + taskQueue.getThreadPool(), + ThreadPool.Names.GENERIC, + BlobCacheMetrics.NOOP + ) ) { final var cacheKey = generateCacheKey(); assertEquals(5, cacheService.freeRegionCount()); @@ -126,7 +133,13 @@ public void testAutoEviction() throws IOException { final DeterministicTaskQueue taskQueue = new DeterministicTaskQueue(); try ( NodeEnvironment environment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings)); - var cacheService = new SharedBlobCacheService<>(environment, settings, taskQueue.getThreadPool(), ThreadPool.Names.GENERIC) + var cacheService = new SharedBlobCacheService<>( + environment, + settings, + taskQueue.getThreadPool(), + ThreadPool.Names.GENERIC, + BlobCacheMetrics.NOOP + ) ) { final var cacheKey = generateCacheKey(); assertEquals(2, cacheService.freeRegionCount()); @@ -164,7 +177,13 @@ public void testForceEviction() throws IOException { final DeterministicTaskQueue taskQueue = new DeterministicTaskQueue(); try ( NodeEnvironment environment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings)); - var cacheService = new SharedBlobCacheService<>(environment, settings, taskQueue.getThreadPool(), ThreadPool.Names.GENERIC) + var cacheService = new SharedBlobCacheService<>( + environment, + settings, + taskQueue.getThreadPool(), + ThreadPool.Names.GENERIC, + BlobCacheMetrics.NOOP + ) ) { final var cacheKey1 = generateCacheKey(); final var cacheKey2 = generateCacheKey(); @@ -192,7 +211,13 @@ public void testForceEvictResponse() throws IOException { final DeterministicTaskQueue taskQueue = new DeterministicTaskQueue(); try ( NodeEnvironment environment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings)); - var cacheService = new SharedBlobCacheService<>(environment, settings, taskQueue.getThreadPool(), ThreadPool.Names.GENERIC) + var cacheService = new SharedBlobCacheService<>( + environment, + settings, + taskQueue.getThreadPool(), + ThreadPool.Names.GENERIC, + BlobCacheMetrics.NOOP + ) ) { final var cacheKey1 = generateCacheKey(); final var cacheKey2 = generateCacheKey(); @@ -219,7 +244,13 @@ public void testDecay() throws IOException { final DeterministicTaskQueue taskQueue = new DeterministicTaskQueue(); try ( NodeEnvironment environment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings)); - var cacheService = new SharedBlobCacheService<>(environment, settings, taskQueue.getThreadPool(), ThreadPool.Names.GENERIC) + var cacheService = new SharedBlobCacheService<>( + environment, + settings, + taskQueue.getThreadPool(), + ThreadPool.Names.GENERIC, + BlobCacheMetrics.NOOP + ) ) { final var cacheKey1 = generateCacheKey(); final var cacheKey2 = generateCacheKey(); @@ -284,7 +315,13 @@ public void testGetMultiThreaded() throws IOException { Set files = randomSet(1, 10, () -> randomAlphaOfLength(5)); try ( NodeEnvironment environment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings)); - var cacheService = new SharedBlobCacheService(environment, settings, threadPool, ThreadPool.Names.GENERIC) + var cacheService = new SharedBlobCacheService( + environment, + settings, + threadPool, + ThreadPool.Names.GENERIC, + BlobCacheMetrics.NOOP + ) ) { CyclicBarrier ready = new CyclicBarrier(threads); List threadList = IntStream.range(0, threads).mapToObj(no -> { @@ -364,7 +401,14 @@ public void execute(Runnable command) { try ( NodeEnvironment environment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings)); - var cacheService = new SharedBlobCacheService<>(environment, settings, threadPool, ThreadPool.Names.GENERIC, "bulk") + var cacheService = new SharedBlobCacheService<>( + environment, + settings, + threadPool, + ThreadPool.Names.GENERIC, + "bulk", + BlobCacheMetrics.NOOP + ) ) { { final var cacheKey = generateCacheKey(); @@ -418,7 +462,14 @@ public ExecutorService executor(String name) { try ( NodeEnvironment environment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings)); - var cacheService = new SharedBlobCacheService<>(environment, settings, threadPool, ThreadPool.Names.GENERIC, "bulk") + var cacheService = new SharedBlobCacheService<>( + environment, + settings, + threadPool, + ThreadPool.Names.GENERIC, + "bulk", + BlobCacheMetrics.NOOP + ) ) { final long size = size(randomIntBetween(1, 100)); @@ -620,7 +671,8 @@ public void testCacheSizeChanges() throws IOException { environment, settings, taskQueue.getThreadPool(), - ThreadPool.Names.GENERIC + ThreadPool.Names.GENERIC, + BlobCacheMetrics.NOOP ) ) { assertEquals(val1.getBytes(), cacheService.getStats().size()); @@ -637,7 +689,8 @@ public void testCacheSizeChanges() throws IOException { environment, settings, taskQueue.getThreadPool(), - ThreadPool.Names.GENERIC + ThreadPool.Names.GENERIC, + BlobCacheMetrics.NOOP ) ) { assertEquals(val2.getBytes(), cacheService.getStats().size()); diff --git a/x-pack/plugin/core/src/internalClusterTest/java/org/elasticsearch/xpack/cluster/routing/allocation/DataTierAllocationDeciderIT.java b/x-pack/plugin/core/src/internalClusterTest/java/org/elasticsearch/xpack/cluster/routing/allocation/DataTierAllocationDeciderIT.java index 7124db6c1c721..6421b70f9e453 100644 --- a/x-pack/plugin/core/src/internalClusterTest/java/org/elasticsearch/xpack/cluster/routing/allocation/DataTierAllocationDeciderIT.java +++ b/x-pack/plugin/core/src/internalClusterTest/java/org/elasticsearch/xpack/cluster/routing/allocation/DataTierAllocationDeciderIT.java @@ -341,9 +341,7 @@ public void testTemplateOverridden() { startContentOnlyNode(); Template t = new Template(Settings.builder().putNull(DataTier.TIER_PREFERENCE).build(), null, null); - ComposableIndexTemplate ct = new ComposableIndexTemplate.Builder().indexPatterns(Collections.singletonList(index)) - .template(t) - .build(); + ComposableIndexTemplate ct = ComposableIndexTemplate.builder().indexPatterns(Collections.singletonList(index)).template(t).build(); client().execute( PutComposableIndexTemplateAction.INSTANCE, new PutComposableIndexTemplateAction.Request("template").indexTemplate(ct) diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/async/AsyncTaskIndexService.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/async/AsyncTaskIndexService.java index 6f6cc6c259e34..746172fef18f3 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/async/AsyncTaskIndexService.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/async/AsyncTaskIndexService.java @@ -43,6 +43,7 @@ import org.elasticsearch.common.util.concurrent.ThreadContext; import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.common.xcontent.XContentParserUtils; +import org.elasticsearch.core.Releasables; import org.elasticsearch.core.Streams; import org.elasticsearch.index.engine.DocumentMissingException; import org.elasticsearch.index.engine.VersionConflictEngineException; @@ -63,7 +64,6 @@ import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.io.UncheckedIOException; import java.nio.CharBuffer; import java.util.Base64; @@ -215,54 +215,15 @@ public SecurityContext getSecurityContext() { * TODO: add limit for stored async response in EQL, and instead of this method use createResponse */ public void createResponseForEQL(String docId, Map headers, R response, ActionListener listener) { - try { - final ReleasableBytesStreamOutput buffer = new ReleasableBytesStreamOutput(0, bigArrays.withCircuitBreaking()); - final XContentBuilder source = XContentFactory.jsonBuilder(buffer); - listener = ActionListener.runBefore(listener, buffer::close); - source.startObject() - .field(HEADERS_FIELD, headers) - .field(EXPIRATION_TIME_FIELD, response.getExpirationTime()) - .directFieldAsBase64(RESULT_FIELD, os -> writeResponse(response, os)) - .endObject(); - - // do not close the buffer or the XContentBuilder until the IndexRequest is completed (i.e., listener is notified); - // otherwise, we underestimate the memory usage in case the circuit breaker does not use the real memory usage. - source.flush(); - final IndexRequest indexRequest = new IndexRequest(index).create(true).id(docId).source(buffer.bytes(), source.contentType()); - clientWithOrigin.index(indexRequest, listener); - } catch (Exception e) { - listener.onFailure(e); - } + indexResponse(docId, headers, response, false, listener); } /** * Stores the initial response with the original headers of the authenticated user * and the expected expiration time. */ - public void createResponse(String docId, Map headers, R response, ActionListener listener) - throws IOException { - try { - final ReleasableBytesStreamOutput buffer = new ReleasableBytesStreamOutputWithLimit( - 0, - bigArrays.withCircuitBreaking(), - maxResponseSize - ); - final XContentBuilder source = XContentFactory.jsonBuilder(buffer); - listener = ActionListener.runBefore(listener, buffer::close); - source.startObject() - .field(HEADERS_FIELD, headers) - .field(EXPIRATION_TIME_FIELD, response.getExpirationTime()) - .directFieldAsBase64(RESULT_FIELD, os -> writeResponse(response, os)) - .endObject(); - - // do not close the buffer or the XContentBuilder until the IndexRequest is completed (i.e., listener is notified); - // otherwise, we underestimate the memory usage in case the circuit breaker does not use the real memory usage. - source.flush(); - final IndexRequest indexRequest = new IndexRequest(index).create(true).id(docId).source(buffer.bytes(), source.contentType()); - clientWithOrigin.index(indexRequest, listener); - } catch (Exception e) { - listener.onFailure(e); - } + public void createResponse(String docId, Map headers, R response, ActionListener listener) { + indexResponse(docId, headers, response, true, listener); } public void updateResponse( @@ -274,6 +235,27 @@ public void updateResponse( updateResponse(docId, responseHeaders, response, listener, false); } + private void indexResponse( + String docId, + Map headers, + R response, + boolean limitToMaxResponseSize, + ActionListener listener + ) { + try { + var buffer = allocateBuffer(limitToMaxResponseSize); + listener = ActionListener.runBefore(listener, buffer::close); + final XContentBuilder source = XContentFactory.jsonBuilder(buffer) + .startObject() + .field(HEADERS_FIELD, headers) + .field(EXPIRATION_TIME_FIELD, response.getExpirationTime()); + addResultFieldAndFinish(response, source); + clientWithOrigin.index(new IndexRequest(index).create(true).id(docId).source(buffer.bytes(), source.contentType()), listener); + } catch (Exception e) { + listener.onFailure(e); + } + } + /** * Stores the final response if the place-holder document is still present (update). */ @@ -284,25 +266,18 @@ private void updateResponse( ActionListener listener, boolean isFailure ) { + ReleasableBytesStreamOutput buffer = null; try { - final ReleasableBytesStreamOutput buffer = isFailure - ? new ReleasableBytesStreamOutput(0, bigArrays.withCircuitBreaking()) - : new ReleasableBytesStreamOutputWithLimit(0, bigArrays.withCircuitBreaking(), maxResponseSize); - final XContentBuilder source = XContentFactory.jsonBuilder(buffer); - listener = ActionListener.runBefore(listener, buffer::close); - source.startObject() - .field(RESPONSE_HEADERS_FIELD, responseHeaders) - .directFieldAsBase64(RESULT_FIELD, os -> writeResponse(response, os)) - .endObject(); - // do not close the buffer or the XContentBuilder until the UpdateRequest is completed (i.e., listener is notified); - // otherwise, we underestimate the memory usage in case the circuit breaker does not use the real memory usage. - source.flush(); - final UpdateRequest request = new UpdateRequest().index(index) - .id(docId) - .doc(buffer.bytes(), source.contentType()) - .retryOnConflict(5); - clientWithOrigin.update(request, listener); + buffer = allocateBuffer(isFailure == false); + final XContentBuilder source = XContentFactory.jsonBuilder(buffer).startObject().field(RESPONSE_HEADERS_FIELD, responseHeaders); + addResultFieldAndFinish(response, source); + clientWithOrigin.update( + new UpdateRequest().index(index).id(docId).doc(buffer.bytes(), source.contentType()).retryOnConflict(5), + ActionListener.runBefore(listener, buffer::close) + ); } catch (Exception e) { + // release buffer right away to save memory, particularly in case the exception came from the circuit breaker + Releasables.close(buffer); // even if we expect updating with a failure always succeed // this is just an extra precaution not to create infinite loops if (isFailure) { @@ -311,14 +286,13 @@ private void updateResponse( Throwable cause = ExceptionsHelper.unwrapCause(e); if (cause instanceof DocumentMissingException == false && cause instanceof VersionConflictEngineException == false) { logger.error(() -> "failed to store async-search [" + docId + "]", e); - ActionListener newListener = listener; - updateStoredResponseWithFailure( + // at end, we should report a failure to the listener + updateResponse( docId, responseHeaders, - response, - e, - // at end, we should report a failure to the listener - ActionListener.running(() -> newListener.onFailure(e)) + response.convertToFailure(e), + ActionListener.running(() -> listener.onFailure(e)), + true ); } else { listener.onFailure(e); @@ -327,18 +301,29 @@ private void updateResponse( } } - /** - * Update the initial stored response with a failure - */ - private void updateStoredResponseWithFailure( - String docId, - Map> responseHeaders, - R response, - Exception updateException, - ActionListener listener - ) { - R failureResponse = response.convertToFailure(updateException); - updateResponse(docId, responseHeaders, failureResponse, listener, true); + private ReleasableBytesStreamOutput allocateBuffer(boolean limitToMaxResponseSize) { + return limitToMaxResponseSize + ? new ReleasableBytesStreamOutputWithLimit(0, bigArrays.withCircuitBreaking(), maxResponseSize) + : new ReleasableBytesStreamOutput(0, bigArrays.withCircuitBreaking()); + } + + private void addResultFieldAndFinish(Writeable response, XContentBuilder source) throws IOException { + source.directFieldAsBase64(RESULT_FIELD, os -> { + // do not close the output + os = Streams.noCloseStream(os); + TransportVersion minNodeVersion = clusterService.state().getMinTransportVersion(); + TransportVersion.writeVersion(minNodeVersion, new OutputStreamStreamOutput(os)); + if (minNodeVersion.onOrAfter(TransportVersions.V_7_15_0)) { + os = CompressorFactory.COMPRESSOR.threadLocalOutputStream(os); + } + try (OutputStreamStreamOutput out = new OutputStreamStreamOutput(os)) { + out.setTransportVersion(minNodeVersion); + response.writeTo(out); + } + }).endObject(); + // do not close the buffer or the XContentBuilder until the request is completed (i.e., listener is notified); + // otherwise, we underestimate the memory usage in case the circuit breaker does not use the real memory usage. + source.flush(); } /** @@ -565,20 +550,6 @@ void ensureAuthenticatedUserCanDeleteFromIndex(AsyncExecutionId executionId, Act }, exc -> listener.onFailure(new ResourceNotFoundException(executionId.getEncoded())))); } - private void writeResponse(R response, OutputStream os) throws IOException { - // do not close the output - os = Streams.noCloseStream(os); - TransportVersion minNodeVersion = clusterService.state().getMinTransportVersion(); - TransportVersion.writeVersion(minNodeVersion, new OutputStreamStreamOutput(os)); - if (minNodeVersion.onOrAfter(TransportVersions.V_7_15_0)) { - os = CompressorFactory.COMPRESSOR.threadLocalOutputStream(os); - } - try (OutputStreamStreamOutput out = new OutputStreamStreamOutput(os)) { - out.setTransportVersion(minNodeVersion); - response.writeTo(out); - } - } - /** * Decode the provided base-64 bytes into a {@link AsyncSearchResponse}. */ diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/monitoring/exporter/MonitoringTemplateUtils.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/monitoring/exporter/MonitoringTemplateUtils.java index cca9acddd6d86..b600fec54b29b 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/monitoring/exporter/MonitoringTemplateUtils.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/monitoring/exporter/MonitoringTemplateUtils.java @@ -6,7 +6,6 @@ */ package org.elasticsearch.xpack.core.monitoring.exporter; -import org.elasticsearch.Version; import org.elasticsearch.common.time.DateFormatter; import org.elasticsearch.xpack.core.monitoring.MonitoredSystem; @@ -19,7 +18,7 @@ public final class MonitoringTemplateUtils { *

* It may be possible for this to diverge between templates and pipelines, but for now they're the same. */ - public static final int LAST_UPDATED_VERSION = Version.V_8_8_0.id; + public static final int LAST_UPDATED_VERSION = 8_08_00_99; /** * Current version of templates used in their name to differentiate from breaking changes (separate from product version). diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/KibanaOwnedReservedRoleDescriptors.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/KibanaOwnedReservedRoleDescriptors.java index c5fc72bfeb2ab..33c8dbdf27bf9 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/KibanaOwnedReservedRoleDescriptors.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/KibanaOwnedReservedRoleDescriptors.java @@ -64,6 +64,8 @@ static RoleDescriptor kibanaSystem(String name) { "manage_saml", "manage_token", "manage_oidc", + // For SLO to install enrich policy + "manage_enrich", // For Fleet package upgrade "manage_pipeline", "manage_ilm", diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ml/utils/MlIndexAndAliasTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ml/utils/MlIndexAndAliasTests.java index fdcfe40f488bf..9d959951383dd 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ml/utils/MlIndexAndAliasTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ml/utils/MlIndexAndAliasTests.java @@ -410,7 +410,7 @@ private static IndexTemplateMetadata createLegacyIndexTemplateMetaData(String te } private static ComposableIndexTemplate createComposableIndexTemplateMetaData(String templateName, List patterns) { - return new ComposableIndexTemplate.Builder().indexPatterns(patterns).build(); + return ComposableIndexTemplate.builder().indexPatterns(patterns).build(); } private static IndexMetadata createIndexMetadata(String indexName, boolean withAlias) { diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java index 477a5e014c105..5028066f67ad9 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java @@ -428,6 +428,13 @@ public void testKibanaSystemRole() { assertThat(kibanaRole.cluster().check(ClusterUpdateSettingsAction.NAME, request, authentication), is(false)); assertThat(kibanaRole.cluster().check(MonitoringBulkAction.NAME, request, authentication), is(true)); + // Enrich + assertThat(kibanaRole.cluster().check("cluster:admin/xpack/enrich/put", request, authentication), is(true)); + assertThat(kibanaRole.cluster().check("cluster:admin/xpack/enrich/execute", request, authentication), is(true)); + assertThat(kibanaRole.cluster().check("cluster:admin/xpack/enrich/get", request, authentication), is(true)); + assertThat(kibanaRole.cluster().check("cluster:admin/xpack/enrich/delete", request, authentication), is(true)); + assertThat(kibanaRole.cluster().check("cluster:admin/xpack/enrich/stats", request, authentication), is(true)); + // SAML and token assertThat(kibanaRole.cluster().check(SamlPrepareAuthenticationAction.NAME, request, authentication), is(true)); assertThat(kibanaRole.cluster().check(SamlAuthenticateAction.NAME, request, authentication), is(true)); diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/transform/MockDeprecatedAggregationBuilder.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/transform/MockDeprecatedAggregationBuilder.java index da65edb957b94..8b5806a869c8e 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/transform/MockDeprecatedAggregationBuilder.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/transform/MockDeprecatedAggregationBuilder.java @@ -21,7 +21,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; import org.elasticsearch.search.aggregations.support.ValuesSourceAggregatorFactory; import org.elasticsearch.search.aggregations.support.ValuesSourceConfig; -import org.elasticsearch.search.aggregations.support.ValuesSourceRegistry; import org.elasticsearch.search.aggregations.support.ValuesSourceType; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentParser; @@ -70,11 +69,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return ValuesSourceRegistry.UNREGISTERED_KEY; - } - @Override protected void innerWriteTo(StreamOutput out) throws IOException {} diff --git a/x-pack/plugin/ilm/qa/multi-node/src/javaRestTest/java/org/elasticsearch/xpack/ilm/actions/DownsampleActionIT.java b/x-pack/plugin/ilm/qa/multi-node/src/javaRestTest/java/org/elasticsearch/xpack/ilm/actions/DownsampleActionIT.java index 2d9d4163102b8..3ca8c7302d6dd 100644 --- a/x-pack/plugin/ilm/qa/multi-node/src/javaRestTest/java/org/elasticsearch/xpack/ilm/actions/DownsampleActionIT.java +++ b/x-pack/plugin/ilm/qa/multi-node/src/javaRestTest/java/org/elasticsearch/xpack/ilm/actions/DownsampleActionIT.java @@ -406,6 +406,7 @@ public void testRollupNonTSIndex() throws Exception { assertTrue("Source index should not have been deleted", indexExists(index)); } + @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/101428") public void testDownsampleTwice() throws Exception { // Create the ILM policy Request request = new Request("PUT", "_ilm/policy/" + policy); diff --git a/x-pack/plugin/ilm/src/main/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingService.java b/x-pack/plugin/ilm/src/main/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingService.java index bb75584a9cf75..283e48a328aa7 100644 --- a/x-pack/plugin/ilm/src/main/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingService.java +++ b/x-pack/plugin/ilm/src/main/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingService.java @@ -690,7 +690,7 @@ static List migrateComposableTemplates(Metadata.Builder mb, ClusterState if (settings.keySet().contains(requireRoutingSetting) || settings.keySet().contains(includeRoutingSetting)) { Template currentInnerTemplate = composableTemplate.template(); - ComposableIndexTemplate.Builder migratedComposableTemplateBuilder = new ComposableIndexTemplate.Builder(); + ComposableIndexTemplate.Builder migratedComposableTemplateBuilder = ComposableIndexTemplate.builder(); Settings.Builder settingsBuilder = Settings.builder().put(settings); settingsBuilder.remove(requireRoutingSetting); settingsBuilder.remove(includeRoutingSetting); diff --git a/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingServiceTests.java b/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingServiceTests.java index cbcc19b9f06ec..6aa46dee54829 100644 --- a/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingServiceTests.java +++ b/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/cluster/metadata/MetadataMigrateToDataTiersRoutingServiceTests.java @@ -1214,9 +1214,10 @@ public void testDryRunDoesntRequireILMStopped() { } public void testMigrationDoesNotRemoveComposableTemplates() { - ComposableIndexTemplate composableIndexTemplate = new ComposableIndexTemplate.Builder().indexPatterns( - Collections.singletonList("*") - ).template(new Template(Settings.builder().put(DATA_ROUTING_REQUIRE_SETTING, "hot").build(), null, null)).build(); + ComposableIndexTemplate composableIndexTemplate = ComposableIndexTemplate.builder() + .indexPatterns(Collections.singletonList("*")) + .template(new Template(Settings.builder().put(DATA_ROUTING_REQUIRE_SETTING, "hot").build(), null, null)) + .build(); String composableTemplateName = "catch-all-composable-template"; ClusterState clusterState = ClusterState.builder(ClusterName.DEFAULT) diff --git a/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/ModelImporter.java b/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/ModelImporter.java index 5a6eac0cc3b76..16de8d0fbcb23 100644 --- a/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/ModelImporter.java +++ b/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/ModelImporter.java @@ -17,7 +17,6 @@ import org.elasticsearch.client.internal.Client; import org.elasticsearch.common.Strings; import org.elasticsearch.common.bytes.BytesArray; -import org.elasticsearch.core.Tuple; import org.elasticsearch.rest.RestStatus; import org.elasticsearch.tasks.CancellableTask; import org.elasticsearch.tasks.TaskCancelledException; @@ -31,7 +30,6 @@ import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; -import java.util.List; import java.util.Objects; import static org.elasticsearch.core.Strings.format; @@ -129,15 +127,15 @@ public void doImport() throws URISyntaxException, IOException, ElasticsearchStat } private void uploadVocabulary() throws URISyntaxException { - Tuple, List> vocabularyAndMerges = ModelLoaderUtils.loadVocabulary( + ModelLoaderUtils.VocabularyParts vocabularyParts = ModelLoaderUtils.loadVocabulary( ModelLoaderUtils.resolvePackageLocation(config.getModelRepository(), config.getVocabularyFile()) ); PutTrainedModelVocabularyAction.Request request = new PutTrainedModelVocabularyAction.Request( modelId, - vocabularyAndMerges.v1(), - vocabularyAndMerges.v2(), - List.of(), + vocabularyParts.vocab(), + vocabularyParts.merges(), + vocabularyParts.scores(), true ); diff --git a/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/ModelLoaderUtils.java b/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/ModelLoaderUtils.java index 5a6681950f4d6..43ab090e94381 100644 --- a/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/ModelLoaderUtils.java +++ b/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/ModelLoaderUtils.java @@ -7,6 +7,7 @@ package org.elasticsearch.xpack.ml.packageloader.action; +import org.elasticsearch.ElasticsearchException; import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.ResourceNotFoundException; import org.elasticsearch.SpecialPermission; @@ -17,7 +18,6 @@ import org.elasticsearch.common.unit.ByteSizeUnit; import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.core.SuppressForbidden; -import org.elasticsearch.core.Tuple; import org.elasticsearch.rest.RestStatus; import org.elasticsearch.xcontent.XContentParser; import org.elasticsearch.xcontent.XContentParserConfiguration; @@ -34,7 +34,6 @@ import java.security.AccessController; import java.security.MessageDigest; import java.security.PrivilegedAction; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Locale; @@ -55,9 +54,12 @@ final class ModelLoaderUtils { public static String METADATA_FILE_EXTENSION = ".metadata.json"; public static String MODEL_FILE_EXTENSION = ".pt"; - private static ByteSizeValue VOCABULARY_SIZE_LIMIT = new ByteSizeValue(10, ByteSizeUnit.MB); + private static ByteSizeValue VOCABULARY_SIZE_LIMIT = new ByteSizeValue(20, ByteSizeUnit.MB); private static final String VOCABULARY = "vocabulary"; private static final String MERGES = "merges"; + private static final String SCORES = "scores"; + + record VocabularyParts(List vocab, List merges, List scores) {} static class InputStreamChunker { @@ -114,32 +116,35 @@ static InputStream getInputStreamFromModelRepository(URI uri) throws IOException } } - static Tuple, List> loadVocabulary(URI uri) { - try { - InputStream vocabInputStream = getInputStreamFromModelRepository(uri); - - if (uri.getPath().endsWith(".json")) { - XContentParser sourceParser = XContentType.JSON.xContent() - .createParser( - XContentParserConfiguration.EMPTY, - Streams.limitStream(vocabInputStream, VOCABULARY_SIZE_LIMIT.getBytes()) - ); - Map> vocabAndMerges = sourceParser.map(HashMap::new, XContentParser::list); - - List vocabulary = vocabAndMerges.containsKey(VOCABULARY) - ? vocabAndMerges.get(VOCABULARY).stream().map(Object::toString).collect(Collectors.toList()) - : Collections.emptyList(); - List merges = vocabAndMerges.containsKey(MERGES) - ? vocabAndMerges.get(MERGES).stream().map(Object::toString).collect(Collectors.toList()) - : Collections.emptyList(); - - return Tuple.tuple(vocabulary, merges); + static VocabularyParts loadVocabulary(URI uri) { + if (uri.getPath().endsWith(".json")) { + try (InputStream vocabInputStream = getInputStreamFromModelRepository(uri)) { + return parseVocabParts(vocabInputStream); + } catch (Exception e) { + throw new ElasticsearchException("Failed to load vocabulary file", e); } - - throw new IllegalArgumentException("unknown format vocabulary file format"); - } catch (Exception e) { - throw new RuntimeException("Failed to load vocabulary file", e); } + + throw new IllegalArgumentException("unknown format vocabulary file format"); + } + + // visible for testing + static VocabularyParts parseVocabParts(InputStream vocabInputStream) throws IOException { + XContentParser sourceParser = XContentType.JSON.xContent() + .createParser(XContentParserConfiguration.EMPTY, Streams.limitStream(vocabInputStream, VOCABULARY_SIZE_LIMIT.getBytes())); + Map> vocabParts = sourceParser.map(HashMap::new, XContentParser::list); + + List vocabulary = vocabParts.containsKey(VOCABULARY) + ? vocabParts.get(VOCABULARY).stream().map(Object::toString).collect(Collectors.toList()) + : List.of(); + List merges = vocabParts.containsKey(MERGES) + ? vocabParts.get(MERGES).stream().map(Object::toString).collect(Collectors.toList()) + : List.of(); + List scores = vocabParts.containsKey(SCORES) + ? vocabParts.get(SCORES).stream().map(o -> (Double) o).collect(Collectors.toList()) + : List.of(); + + return new VocabularyParts(vocabulary, merges, scores); } static URI resolvePackageLocation(String repository, String artefact) throws URISyntaxException { diff --git a/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/TransportLoadTrainedModelPackage.java b/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/TransportLoadTrainedModelPackage.java index 1e4ec69649767..b61b87e4a8139 100644 --- a/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/TransportLoadTrainedModelPackage.java +++ b/x-pack/plugin/ml-package-loader/src/main/java/org/elasticsearch/xpack/ml/packageloader/action/TransportLoadTrainedModelPackage.java @@ -197,8 +197,8 @@ public CancellableTask createTask(long id, String type, String action, TaskId pa }, false); } - private static void recordError(Client client, String modelId, AtomicReference exceptionRef, Exception e) { - logAndWriteNotificationAtError(client, modelId, e.toString()); + private static void recordError(Client client, String modelId, AtomicReference exceptionRef, ElasticsearchException e) { + logAndWriteNotificationAtError(client, modelId, e.getDetailedMessage()); exceptionRef.set(e); } diff --git a/x-pack/plugin/ml-package-loader/src/test/java/org/elasticsearch/xpack/ml/packageloader/action/ModelLoaderUtilsTests.java b/x-pack/plugin/ml-package-loader/src/test/java/org/elasticsearch/xpack/ml/packageloader/action/ModelLoaderUtilsTests.java index 8dca03919056a..661cd12f99957 100644 --- a/x-pack/plugin/ml-package-loader/src/test/java/org/elasticsearch/xpack/ml/packageloader/action/ModelLoaderUtilsTests.java +++ b/x-pack/plugin/ml-package-loader/src/test/java/org/elasticsearch/xpack/ml/packageloader/action/ModelLoaderUtilsTests.java @@ -14,7 +14,9 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.core.Is.is; public class ModelLoaderUtilsTests extends ESTestCase { @@ -94,4 +96,20 @@ public void testSha256AndSize() throws IOException { assertEquals(bytes.length, inputStreamChunker.getTotalBytesRead()); assertEquals(expectedDigest, inputStreamChunker.getSha256()); } + + public void testParseVocabulary() throws IOException { + String vocabParts = """ + { + "vocabulary": ["foo", "bar", "baz"], + "merges": ["mergefoo", "mergebar", "mergebaz"], + "scores": [1.0, 2.0, 3.0] + } + """; + + var is = new ByteArrayInputStream(vocabParts.getBytes(StandardCharsets.UTF_8)); + var parsedVocab = ModelLoaderUtils.parseVocabParts(is); + assertThat(parsedVocab.vocab(), contains("foo", "bar", "baz")); + assertThat(parsedVocab.merges(), contains("mergefoo", "mergebar", "mergebaz")); + assertThat(parsedVocab.scores(), contains(1.0, 2.0, 3.0)); + } } diff --git a/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/autoscaling/MlAutoscalingResourceTracker.java b/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/autoscaling/MlAutoscalingResourceTracker.java index 4b925f678602a..ac6f3914b8f40 100644 --- a/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/autoscaling/MlAutoscalingResourceTracker.java +++ b/x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/autoscaling/MlAutoscalingResourceTracker.java @@ -270,11 +270,13 @@ static void getMemoryAndProcessors( // - modelMemory on nodes is available // - no jobs wait for assignment // - the total memory usage is less than memory usage after taking away 1 node + // - the current number of nodes is greater than the minimum number of nodes if (perNodeMemoryInBytes > 0 && perNodeAvailableModelMemoryInBytes > 0 && extraModelMemoryInBytes == 0 && extraProcessors == 0 && modelMemoryBytesSum <= perNodeMemoryInBytes * (numberMlNodes - 1) + && minNodes < numberMlNodes && (perNodeModelMemoryInBytes.size() < numberMlNodes // a node has no assigned jobs || checkIfOneNodeCouldBeRemoved( perNodeModelMemoryInBytes, diff --git a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/aggs/correlation/CountCorrelationFunctionTests.java b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/aggs/correlation/CountCorrelationFunctionTests.java index a717d7f6bfc45..7f857c06959e5 100644 --- a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/aggs/correlation/CountCorrelationFunctionTests.java +++ b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/aggs/correlation/CountCorrelationFunctionTests.java @@ -13,7 +13,6 @@ import org.elasticsearch.search.aggregations.support.ValueType; import org.elasticsearch.test.ESTestCase; -import java.util.Collections; import java.util.HashSet; import java.util.Set; import java.util.concurrent.atomic.AtomicLong; @@ -59,7 +58,6 @@ public void testValidation() { CountCorrelationFunction function = new CountCorrelationFunction(CountCorrelationIndicatorTests.randomInstance()); PipelineAggregationBuilder.ValidationContext validationContext = PipelineAggregationBuilder.ValidationContext.forTreeRoot( aggBuilders, - Collections.emptyList(), null ); function.validate(validationContext, "terms>metric_agg"); diff --git a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/autoscaling/MlAutoscalingResourceTrackerTests.java b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/autoscaling/MlAutoscalingResourceTrackerTests.java index 7ea63cf7945f0..0028c66dd9659 100644 --- a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/autoscaling/MlAutoscalingResourceTrackerTests.java +++ b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/autoscaling/MlAutoscalingResourceTrackerTests.java @@ -9,11 +9,14 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.LatchedActionListener; +import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.cluster.node.DiscoveryNodeRole; import org.elasticsearch.cluster.node.DiscoveryNodeUtils; +import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.persistent.PersistentTasksCustomMetadata; import org.elasticsearch.test.ESTestCase; +import org.elasticsearch.xpack.core.ml.MachineLearningField; import org.elasticsearch.xpack.core.ml.MlTasks; import org.elasticsearch.xpack.core.ml.action.OpenJobAction; import org.elasticsearch.xpack.core.ml.action.StartTrainedModelDeploymentAction; @@ -26,6 +29,7 @@ import org.elasticsearch.xpack.core.ml.job.config.JobTaskState; import org.elasticsearch.xpack.ml.MachineLearning; import org.elasticsearch.xpack.ml.process.MlMemoryTracker; +import org.elasticsearch.xpack.ml.utils.NativeMemoryCalculator; import java.net.InetAddress; import java.util.Collections; @@ -1076,6 +1080,105 @@ public void testGetMemoryAndProcessorsScaleDown() throws InterruptedException { ); } + // scenario: 3 ml nodes, could scale down purely considering memory but high availability needs prevent it + public void testGetMemoryAndProcessorsScaleDownPreventedByMinNodes() throws InterruptedException { + long memory = 8589934592L; + Map nodeAttr = Map.of( + MachineLearning.MACHINE_MEMORY_NODE_ATTR, + Long.toString(memory), + MachineLearning.MAX_JVM_SIZE_NODE_ATTR, + "3435134976", + MachineLearning.ALLOCATED_PROCESSORS_NODE_ATTR, + "4.0", + MachineLearning.ML_CONFIG_VERSION_NODE_ATTR, + "11.0.0" + ); + Settings settings = Settings.builder().put(MachineLearningField.USE_AUTO_MACHINE_MEMORY_PERCENT.getKey(), true).build(); + DiscoveryNode firstNode = DiscoveryNodeUtils.builder("ml-node-1") + .name("ml-node-name-1") + .address(new TransportAddress(InetAddress.getLoopbackAddress(), 9300)) + .attributes(nodeAttr) + .roles(Set.of(DiscoveryNodeRole.ML_ROLE)) + .build(); + MlAutoscalingContext mlAutoscalingContext = new MlAutoscalingContext( + List.of(), + List.of(), + List.of(), + Map.of( + ".elser_model_2_linux-x86_64", + TrainedModelAssignment.Builder.empty( + new StartTrainedModelDeploymentAction.TaskParams( + ".elser_model_2_linux-x86_64", + ".elser_model_2_linux-x86_64", + 274756282, + 4, + 2, + 100, + null, + Priority.NORMAL, + 0L, + 0L + ) + ) + .addRoutingEntry("ml-node-1", new RoutingInfo(2, 2, RoutingState.STARTED, "")) + .addRoutingEntry("ml-node-2", new RoutingInfo(2, 2, RoutingState.STARTED, "")) + .build(), + "intfloat__multilingual-e5-base", + TrainedModelAssignment.Builder.empty( + new StartTrainedModelDeploymentAction.TaskParams( + "intfloat__multilingual-e5-base", + "intfloat__multilingual-e5-base", + 1109885608, + 1, + 1, + 100, + null, + Priority.NORMAL, + 0L, + 0L + ) + ).addRoutingEntry("ml-node-3", new RoutingInfo(1, 1, RoutingState.STARTED, "")).build() + ), + List.of( + firstNode, + DiscoveryNodeUtils.builder("ml-node-2") + .name("ml-node-name-2") + .address(new TransportAddress(InetAddress.getLoopbackAddress(), 9300)) + .attributes(nodeAttr) + .roles(Set.of(DiscoveryNodeRole.ML_ROLE)) + .build(), + DiscoveryNodeUtils.builder("ml-node-3") + .name("ml-node-name-3") + .address(new TransportAddress(InetAddress.getLoopbackAddress(), 9300)) + .attributes(nodeAttr) + .roles(Set.of(DiscoveryNodeRole.ML_ROLE)) + .build() + ), + PersistentTasksCustomMetadata.builder().build() + ); + MlMemoryTracker mockTracker = mock(MlMemoryTracker.class); + + this.assertAsync( + listener -> MlAutoscalingResourceTracker.getMemoryAndProcessors( + mlAutoscalingContext, + mockTracker, + Map.of("ml-node-1", memory, "ml-node-2", memory, "ml-node-3", memory), + NativeMemoryCalculator.allowedBytesForMl(firstNode, settings).getAsLong(), + 4, + MachineLearning.DEFAULT_MAX_OPEN_JOBS_PER_NODE, + listener + ), + stats -> { + assertEquals(memory, stats.perNodeMemoryInBytes()); + assertEquals(3, stats.nodes()); + assertEquals(3, stats.minNodes()); + assertEquals(0, stats.extraSingleNodeProcessors()); + assertEquals(0, stats.removeNodeMemoryInBytes()); + assertEquals(MachineLearning.NATIVE_EXECUTABLE_CODE_OVERHEAD.getBytes(), stats.perNodeMemoryOverheadInBytes()); + } + ); + } + private void assertAsync(Consumer> function, Consumer furtherTests) throws InterruptedException { CountDownLatch latch = new CountDownLatch(1); AtomicBoolean listenerCalled = new AtomicBoolean(false); diff --git a/x-pack/plugin/monitoring/src/main/java/org/elasticsearch/xpack/monitoring/MonitoringTemplateRegistry.java b/x-pack/plugin/monitoring/src/main/java/org/elasticsearch/xpack/monitoring/MonitoringTemplateRegistry.java index a7720ce30e940..b054095499a30 100644 --- a/x-pack/plugin/monitoring/src/main/java/org/elasticsearch/xpack/monitoring/MonitoringTemplateRegistry.java +++ b/x-pack/plugin/monitoring/src/main/java/org/elasticsearch/xpack/monitoring/MonitoringTemplateRegistry.java @@ -9,7 +9,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.Version; import org.elasticsearch.client.internal.Client; import org.elasticsearch.cluster.metadata.ComposableIndexTemplate; import org.elasticsearch.cluster.service.ClusterService; @@ -50,7 +49,7 @@ public class MonitoringTemplateRegistry extends IndexTemplateRegistry { * continue to use the release version number in this registry, even though this is not standard practice for template * registries. */ - public static final int REGISTRY_VERSION = Version.V_8_8_0.id; + public static final int REGISTRY_VERSION = 8_08_00_99; private static final String REGISTRY_VERSION_VARIABLE = "xpack.monitoring.template.release.version"; /** @@ -78,7 +77,7 @@ public class MonitoringTemplateRegistry extends IndexTemplateRegistry { * writes monitoring data in ECS format as of 8.0. These templates define the ECS schema as well as alias fields for the old monitoring * mappings that point to the corresponding ECS fields. */ - public static final int STACK_MONITORING_REGISTRY_VERSION = Version.V_8_0_0.id + 9; + public static final int STACK_MONITORING_REGISTRY_VERSION = 8_00_00_99 + 9; private static final String STACK_MONITORING_REGISTRY_VERSION_VARIABLE = "xpack.stack.monitoring.template.release.version"; private static final String STACK_TEMPLATE_VERSION = "8"; private static final String STACK_TEMPLATE_VERSION_VARIABLE = "xpack.stack.monitoring.template.version"; diff --git a/x-pack/plugin/monitoring/src/main/java/org/elasticsearch/xpack/monitoring/exporter/ClusterAlertsUtil.java b/x-pack/plugin/monitoring/src/main/java/org/elasticsearch/xpack/monitoring/exporter/ClusterAlertsUtil.java index 3173af96cfd7d..29452b6bbf28d 100644 --- a/x-pack/plugin/monitoring/src/main/java/org/elasticsearch/xpack/monitoring/exporter/ClusterAlertsUtil.java +++ b/x-pack/plugin/monitoring/src/main/java/org/elasticsearch/xpack/monitoring/exporter/ClusterAlertsUtil.java @@ -6,7 +6,6 @@ */ package org.elasticsearch.xpack.monitoring.exporter; -import org.elasticsearch.Version; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.io.Streams; @@ -58,7 +57,7 @@ public class ClusterAlertsUtil { * The last time that all watches were updated. For now, all watches have been updated in the same version and should all be replaced * together. */ - public static final int LAST_UPDATED_VERSION = Version.V_7_5_0.id; + public static final int LAST_UPDATED_VERSION = 7_05_00_99; /** * An unsorted list of Watch IDs representing resource files for Monitoring Cluster Alerts. diff --git a/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/CancellationIT.java b/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/CancellationIT.java index 6c4184f77a28b..b4b8242a6e456 100644 --- a/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/CancellationIT.java +++ b/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/CancellationIT.java @@ -56,12 +56,6 @@ protected Collection> nodePlugins() { return plugins; } - @Override - protected boolean useOnlyAllEvents() { - // we assume that all indices have been created to simplify the testing logic. - return false; - } - public void testAutomaticCancellation() throws Exception { Request restRequest = new Request("POST", "/_profiling/stacktraces"); restRequest.setEntity(new StringEntity(""" diff --git a/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/GetFlameGraphActionIT.java b/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/GetFlameGraphActionIT.java index 308e377c2826a..7d7bae20ef983 100644 --- a/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/GetFlameGraphActionIT.java +++ b/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/GetFlameGraphActionIT.java @@ -8,19 +8,14 @@ package org.elasticsearch.xpack.profiling; public class GetFlameGraphActionIT extends ProfilingTestCase { - @Override - protected boolean useOnlyAllEvents() { - return true; - } - public void testGetStackTracesUnfiltered() throws Exception { - GetStackTracesRequest request = new GetStackTracesRequest(1, null); + GetStackTracesRequest request = new GetStackTracesRequest(10, null); GetFlamegraphResponse response = client().execute(GetFlamegraphAction.INSTANCE, request).get(); // only spot-check top level properties - detailed tests are done in unit tests - assertEquals(4, response.getSize()); + assertEquals(231, response.getSize()); assertEquals(1.0d, response.getSamplingRate(), 0.001d); - assertEquals(3, response.getSelfCPU()); - assertEquals(4, response.getTotalCPU()); - assertEquals(1, response.getTotalSamples()); + assertEquals(60, response.getSelfCPU()); + assertEquals(1204, response.getTotalCPU()); + assertEquals(40, response.getTotalSamples()); } } diff --git a/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/GetStackTracesActionIT.java b/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/GetStackTracesActionIT.java index c8ee6d91a1e47..050ff5dd47800 100644 --- a/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/GetStackTracesActionIT.java +++ b/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/GetStackTracesActionIT.java @@ -11,23 +11,28 @@ public class GetStackTracesActionIT extends ProfilingTestCase { public void testGetStackTracesUnfiltered() throws Exception { - GetStackTracesRequest request = new GetStackTracesRequest(1, null); + GetStackTracesRequest request = new GetStackTracesRequest(10, null); + request.setAdjustSampleCount(true); GetStackTracesResponse response = client().execute(GetStackTracesAction.INSTANCE, request).get(); - assertEquals(1, response.getTotalFrames()); + assertEquals(40, response.getTotalSamples()); + assertEquals(285, response.getTotalFrames()); + + assertNotNull(response.getStackTraceEvents()); + assertEquals(4, (int) response.getStackTraceEvents().get("14cFLjgoe-BTQd17mhedeA")); + assertNotNull(response.getStackTraces()); - StackTrace stackTrace = response.getStackTraces().get("QjoLteG7HX3VUUXr-J4kHQ"); - assertEquals(List.of(1083999), stackTrace.addressOrLines); - assertEquals(List.of("QCCDqjSg3bMK1C4YRK6Tiw"), stackTrace.fileIds); - assertEquals(List.of("QCCDqjSg3bMK1C4YRK6TiwAAAAAAEIpf"), stackTrace.frameIds); - assertEquals(List.of(2), stackTrace.typeIds); + // just do a high-level spot check. Decoding is tested in unit-tests + StackTrace stackTrace = response.getStackTraces().get("JvISdnJ47BQ01489cwF9DA"); + assertEquals(4, stackTrace.addressOrLines.size()); + assertEquals(4, stackTrace.fileIds.size()); + assertEquals(4, stackTrace.frameIds.size()); + assertEquals(4, stackTrace.typeIds.size()); assertNotNull(response.getStackFrames()); - StackFrame stackFrame = response.getStackFrames().get("QCCDqjSg3bMK1C4YRK6TiwAAAAAAEIpf"); - assertEquals(List.of("_raw_spin_unlock_irqrestore", "inlined_frame_1", "inlined_frame_0"), stackFrame.functionName); - assertNotNull(response.getStackTraceEvents()); - assertEquals(1, (int) response.getStackTraceEvents().get("QjoLteG7HX3VUUXr-J4kHQ")); + StackFrame stackFrame = response.getStackFrames().get("lHp5_WAgpLy2alrUVab6HAAAAAAATgeq"); + assertEquals(List.of("blkdev_issue_flush"), stackFrame.functionName); assertNotNull(response.getExecutables()); - assertNotNull("libc.so.6", response.getExecutables().get("QCCDqjSg3bMK1C4YRK6Tiw")); + assertNotNull("vmlinux", response.getExecutables().get("lHp5_WAgpLy2alrUVab6HA")); } } diff --git a/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/ProfilingTestCase.java b/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/ProfilingTestCase.java index 29981c8e2f2a3..0f602d9d99c25 100644 --- a/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/ProfilingTestCase.java +++ b/x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/ProfilingTestCase.java @@ -10,6 +10,7 @@ import org.elasticsearch.action.DocWriteResponse; import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest; import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsResponse; +import org.elasticsearch.action.bulk.BulkResponse; import org.elasticsearch.cluster.ClusterState; import org.elasticsearch.common.network.NetworkModule; import org.elasticsearch.common.settings.Settings; @@ -19,6 +20,7 @@ import org.elasticsearch.rest.RestStatus; import org.elasticsearch.test.ESIntegTestCase; import org.elasticsearch.transport.netty4.Netty4Plugin; +import org.elasticsearch.xcontent.XContentType; import org.elasticsearch.xpack.core.XPackSettings; import org.elasticsearch.xpack.core.ilm.LifecycleSettings; import org.elasticsearch.xpack.ilm.IndexLifecycle; @@ -27,7 +29,7 @@ import org.junit.After; import org.junit.Before; -import java.time.Instant; +import java.io.IOException; import java.util.Collection; import java.util.List; import java.util.Map; @@ -71,18 +73,6 @@ private void indexDoc(String index, String id, Map source) { assertEquals(RestStatus.CREATED, indexResponse.status()); } - /** - * Only the index "profiling-events-all" is always present. All other indices (e.g. "profiling-events-5pow02") are created on demand - * at a later point when there are enough samples. With this flag we simulate that data should be retrieved briefly after cluster - * start when only profiling-events-all is present. We expect that also in this case, available data is returned but we rely only - * on the single existing index. - * - * @return true iff this test should rely on only "profiling-events-all" being present. - */ - protected boolean useOnlyAllEvents() { - return randomBoolean(); - } - /** * @return true iff this test relies that data (and the corresponding indices / data streams) are present for this test. */ @@ -112,6 +102,16 @@ protected void updateProfilingTemplatesEnabled(boolean newValue) { assertTrue("Update of profiling templates enabled setting is not acknowledged", response.isAcknowledged()); } + protected final byte[] read(String resource) throws IOException { + return ProfilingTestCase.class.getClassLoader().getResourceAsStream(resource).readAllBytes(); + } + + protected final void bulkIndex(String file) throws Exception { + byte[] bulkData = read(file); + BulkResponse response = client().prepareBulk().add(bulkData, 0, bulkData.length, XContentType.JSON).execute().actionGet(); + assertFalse(response.hasFailures()); + } + @Before public void setupData() throws Exception { if (requiresDataSetup() == false) { @@ -119,30 +119,13 @@ public void setupData() throws Exception { } // only enable index management while setting up indices to avoid interfering with the rest of the test infrastructure updateProfilingTemplatesEnabled(true); - Collection eventsIndices = useOnlyAllEvents() ? List.of(EventsIndex.FULL_INDEX.getName()) : EventsIndex.indexNames(); waitForIndices(); ensureGreen(); - // ensure that we have this in every index, so we find an event - for (String idx : eventsIndices) { - indexDoc( - idx, - "QjoLteG7HX3VUUXr-J4kHQ", - Map.of("@timestamp", Instant.now().toEpochMilli(), "Stacktrace.id", "QjoLteG7HX3VUUXr-J4kHQ", "Stacktrace.count", 1) - ); - } - - indexDoc( - "profiling-stacktraces", - "QjoLteG7HX3VUUXr-J4kHQ", - Map.of("Stacktrace.frame.ids", "QCCDqjSg3bMK1C4YRK6TiwAAAAAAEIpf", "Stacktrace.frame.types", "AQI") - ); - indexDoc( - "profiling-stackframes", - "QCCDqjSg3bMK1C4YRK6TiwAAAAAAEIpf", - Map.of("Stackframe.function.name", List.of("_raw_spin_unlock_irqrestore", "inlined_frame_1", "inlined_frame_0")) - ); - indexDoc("profiling-executables", "QCCDqjSg3bMK1C4YRK6Tiw", Map.of("Executable.file.name", "libc.so.6")); + bulkIndex("data/profiling-events-all.ndjson"); + bulkIndex("data/profiling-stacktraces.ndjson"); + bulkIndex("data/profiling-stackframes.ndjson"); + bulkIndex("data/profiling-executables.ndjson"); refresh(); } diff --git a/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-events-all.ndjson b/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-events-all.ndjson new file mode 100644 index 0000000000000..071b0a2edbe1a --- /dev/null +++ b/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-events-all.ndjson @@ -0,0 +1,88 @@ +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["S07KmaoGhvNte78xwwRbZQ"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["4tB_mGJrj1xVuMFbXVYwGA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["VxcDhJCIVlMC063NXB1S1Q"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["_eitfgJr5SICw3IID0ieUw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["AIcHF1g0UqebNhdXerG6rQ"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["ZZ003BQ7N2U_lm0xfG38Bw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["SsxQM9_HdP1iq1X4sNsK_Q"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["TEeScu0pOzeesTxGaw4JAg"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["Cf-uAEYevmDh96dG8LiA7w"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["L3nUGoNiPS6jpV4lzI0HKw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["8Nt8q4FpMS1YBSbb8JjA4Q"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["JvISdnJ47BQ01489cwF9DA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["105167004320218"], "container.name": ["instance-0000000010"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["p0FpNwvinkonmYTrP_m8AQ"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["111571015508996"], "container.name": ["instance-0000000010"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["Ce77w10WeIDow3kd1jowlA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["lDY7ho5Q3VRiBNIA0utPkg"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["Hwc9ojSnNRegxwpOeXsNnw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["fL6FlEuXKQQ1vbZSuOkNDA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["599103450330106"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["14cFLjgoe-BTQd17mhedeA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["599103450330106"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["hm6pJJBFG1EoukWkIgUkSg"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["evah_aPn6ywh3ieU3e4MDQ"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["kU23IHsR5pRIb6YvFIRS3Q"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["CT7Jn1_cfRttYWpYz0WvHA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["p_qI8Ts1o4R4GHiu2MHhmg"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["828nO5IsKeisTjrd1qZGjA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["Qn60Qbgyi9gMjkEiQhHG0w"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["ZnXwrIATmk5PmXMsv4nKtg"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["231306382266776"], "container.name": ["instance-0000000010"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["YVZcVDoPQkcegaQYBCZkzw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["542231923413871"], "container.name": ["instance-0000000010"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["uZJLF8SFtg9OqPXwQZVelg"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["NPliZYuvPv2y5wnRJfOutw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["5RX98LQ-TugfdPLcy0tTFA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["ehqmjj-2Kv8A1vCgGKyP2Q"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["V-R5JWu8vu2g_Vodg6Kd6w"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["LpsjtOqp4gQNWANoCtMhpw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["P7SH4zhzkMyu8ClDXegYrw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["507517422226861"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["bA1f839p2HCzC7fcTWp8Kw"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["41422267885458"], "container.name": ["instance-0000000010"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["XF9MchOwpePfa6_hYy-vZQ"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["L7kj7UvlKbT-vN73el4faQ"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["hRqQI2CBPiapzgFG9jrmDA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["599103450330106"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["FWCWmB5KaAfOjnip-rDwUQ"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["-lrLeM0iQSsI3WnVH08B3w"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["7Se-2CaL4CbSRMgSyNxl5w"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "container.name": ["instance-0000000010"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["iCDmSM5ZMerasUWJeO1RoA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["497295213074376"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["qRkm6b_RZPI0741rrxfzIA"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["239239240528656"], "container.name": ["instance-0000000010"]} +{"create": {"_index": "profiling-events-all"}} +{"Stacktrace.count": [1], "profiling.project.id": ["100"], "os.kernel": ["9.9.9-0"], "tags": ["environment:qa", "region:eu-west-1"], "host.ip": ["192.168.1.2"], "@timestamp": ["1698624000"], "ecs.version": ["1.12.0"], "Stacktrace.id": ["P4G4FrOCtB7UkFb-8UfLLQ"], "agent.version": ["head-be593ef3-1688111067"], "host.name": ["ip-192-168-1-2"], "host.id": ["8457605156473051743"], "process.thread.name": ["336544854664378"], "container.name": ["instance-0000000010"]} diff --git a/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-executables.ndjson b/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-executables.ndjson new file mode 100644 index 0000000000000..388588482859a --- /dev/null +++ b/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-executables.ndjson @@ -0,0 +1,50 @@ +{"create": {"_index": "profiling-executables", "_id": "4rFFPORY8_4FvK9QaA3QUQ"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": "63e115dedee42e3aee75e0d5fa41243ac2cf9228"}, "file": {"name": "python2.7"}}, "Symbolization": {"next_time": "4851753124"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "-FiXU0afkg-sRwubj2WiAw"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": "a607524ba9b6f400a9af233fa574bc7f2abd5f33"}, "file": {"name": "dbus-daemon"}}, "Symbolization": {"next_time": "4852488441"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "vQ7EacG6CR4rzcFaNFEsTQ"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": "7b4536f41cdaa5888408e82d0836e33dcf436466"}, "file": {"name": "libpthread-2.31.so"}}, "Symbolization": {"next_time": "4851738741"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "8NlMClggx8jaziUTJXlmWA"}} +{"@timestamp": "1698019200", "Executable": {"build": {"id": "f0983025f0e0f327a6da752ff4ffa675e0be393f"}, "file": {"name": "libpthread-2.31.so"}}, "Symbolization": {"next_time": "4851892090"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "wEIfl0pGBuepuUcTwdKc2g"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": "101d8983a254f1b26637242e10b80ecae42eff2d"}, "file": {"name": "libz.so.1.2.11"}}, "Symbolization": {"next_time": "4851735147"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "hrCIM-i5cm0sSd-oVTZrsg"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": ""}, "file": {"name": "libzip.so"}}, "Symbolization": {"next_time": "4851816838"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "EkX-Bbjdn5I_vHMz9xIc5g"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": ""}, "file": {"name": "libnio.so"}}, "Symbolization": {"next_time": "4851764933"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "lW7fiQNIMpeUsn4R6s23pw"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": ""}, "file": {"name": "pf-host-agent"}}, "Symbolization": {"next_time": "4851745916"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "-6ARRafpA91HAsyIFfBmBQ"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": ""}, "file": {"name": "libjava.so"}}, "Symbolization": {"next_time": "4852281623"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "SA0fsx010mzWc4t8ff1-lA"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": "ecf04bbd82c8ee9cc79e17dfca893ffa37a7ff5d"}, "file": {"name": "systemd"}}, "Symbolization": {"next_time": "4852496637"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "cEvvhuguaGYCmGWrnWRz1Q"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": "7ce3ef6b0c6c2c687b4c6643596171dc03569610"}, "file": {"name": "auditbeat"}}, "Symbolization": {"next_time": "4851745898"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "SVqTovndX3vgWwiNPDrUZA"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": ""}, "file": {"name": "libnio.so"}}, "Symbolization": {"next_time": "4851818483"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "UJmIMEc6K8gJ39NHYaD0Ww"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": "f7307432a8b162377e77a182b6cc2e53d771ec4b"}, "file": {"name": "libc-2.27.so"}}, "Symbolization": {"next_time": "4851753127"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "VNoyxdugL4O4pEtN-lEJQw"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": "dc83469c2c5d9aff0b32d242be021a5d8875e846"}, "file": {"name": "libsystemd-shared-237.so"}}, "Symbolization": {"next_time": "4852496565"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "634wiWh6F21tPpXr0Zz3mg"}} +{"@timestamp": "1698019200", "Executable": {"build": {"id": "9fdb74e7b217d06c93172a8243f8547f947ee6d1"}, "file": {"name": "libc-2.31.so"}}, "Symbolization": {"next_time": "4851892087"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "qjB_amR59Lv13Nhle_Nwbw"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": "1878e6b475720c7c51969e69ab2d276fae6d1dee"}, "file": {"name": "libc-2.31.so"}}, "Symbolization": {"next_time": "4851738739"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "QTXwwuqN0mLb-8lqckiaTQ"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": "6eee75cb89aff959ae1ba2c54194fd82d6aa604e"}, "file": {"name": "xfs"}}, "Symbolization": {"next_time": "4852490265"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "lHp5_WAgpLy2alrUVab6HA"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": "c5f89ea1c68710d2a493bb604c343a92c4f8ddeb"}, "file": {"name": "vmlinux"}}, "Symbolization": {"next_time": "4852491791"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "qvacTmpSpuAOHxTh9l_exA"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": ""}, "file": {"name": "libjvm.so"}}, "Symbolization": {"next_time": "4852281581"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "fhsEKXDuxJ-jIJrZpdRuSA"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": "0c75f746ff8d9d30d6417d79b7732a66f5890a8b"}, "file": {"name": "libz.so.1.2.11"}}, "Symbolization": {"next_time": "4851764966"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "Z3CKaS4aU08RhYA19y5ITQ"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": "ced267ea05869f9c3b8e789e83b7fa545f0b7c49"}, "file": {"name": "dockerd"}}, "Symbolization": {"next_time": "4852034064"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "z5k14PsCcDvFyUC1kmlV3Q"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": "0eca98a615313a9d2be9a993097f65969dee8816"}, "file": {"name": "containerd"}}, "Symbolization": {"next_time": "4851843260"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "Fuiq0RN8VMfwSLHsA6DzhA"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": "c52b0055d6c5b32b0561ffe7c25b40eba4aec3c2"}, "file": {"name": "libdbus-1.so.3.19.4"}}, "Symbolization": {"next_time": "4851947999"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "GXH6S9Nv2Lf0omTz4cH4RA"}} +{"@timestamp": "1699228800", "Executable": {"build": {"id": ""}, "file": {"name": "libzip.so"}}, "Symbolization": {"next_time": "4852250623"}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-executables", "_id": "qn_i-43Ca0UMIY4VcWF0Ag"}} +{"@timestamp": "1698624000", "Executable": {"build": {"id": ""}, "file": {"name": "libzip.so"}}, "Symbolization": {"next_time": "4852282517"}, "ecs": {"version": "1.12.0"}} diff --git a/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-stackframes.ndjson b/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-stackframes.ndjson new file mode 100644 index 0000000000000..b23b32d70d423 --- /dev/null +++ b/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-stackframes.ndjson @@ -0,0 +1,1414 @@ +{"create": {"_index": "profiling-stackframes", "_id": "Ms8C2PsOPTwJ_BWU-NqKjwAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractEventExecutor.java"], "Stackframe.function.name": ["void io.netty.util.concurrent.AbstractEventExecutor.safeExecute(java.lang.Runnable)"], "Stackframe.line.number": [167], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "cnnfHiXpYZi_Xvw7GhRVowAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ElasticsearchReaderManager.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.index.engine.ElasticsearchReaderManager.refreshIfNeeded(java.lang.Object)"], "Stackframe.line.number": [27], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ZUblhfsP3eghXbFQlRo7WwAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TemplateUtils.java"], "Stackframe.function.name": ["java.lang.String org.elasticsearch.xpack.core.template.TemplateUtils.loadTemplate(java.lang.String, java.lang.String, java.lang.String, java.util.Map)"], "Stackframe.line.number": [78], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Y8sJdN8JrOKeDGcKRLKzYgAAAAAAAAIR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository.doSnapshotShard(org.elasticsearch.repositories.SnapshotShardContext)"], "Stackframe.line.number": [2774], "Stackframe.function.offset": [86]} +{"create": {"_index": "profiling-stackframes", "_id": "v6rQl1rwEGF72NGhRc1i-wAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportService.java"], "Stackframe.function.name": ["void org.elasticsearch.transport.TransportService$6.doRun()"], "Stackframe.line.number": [1045], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "miWKFzr_hZhlQAnEjidKYAAAAAAAAABI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["java.lang.Object com.amazonaws.services.s3.AmazonS3Client.uploadObject(java.io.InputStream, java.io.File, com.amazonaws.services.s3.model.ObjectMetadata, com.amazonaws.event.ProgressListener, com.amazonaws.Request, com.amazonaws.services.s3.model.S3DataSource, boolean, boolean, com.amazonaws.services.s3.internal.UploadObjectStrategy, boolean)"], "Stackframe.line.number": [1808], "Stackframe.function.offset": [19]} +{"create": {"_index": "profiling-stackframes", "_id": "v7DgkUS5-ysky2RXxPMSjAAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PrioritizedEsThreadPoolExecutor.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run()"], "Stackframe.line.number": [223], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "H7Tmwg9rKZuxl8eAfe0cQwAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECOperations.java"], "Stackframe.function.name": ["void sun.security.ec.ECOperations.double4(sun.security.ec.point.ProjectivePoint$Mutable, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP)"], "Stackframe.line.number": [221], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "K8SfjEwLlz1-kQVCzD5OrAAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileChannel.java"], "Stackframe.function.name": ["java.nio.channels.FileChannel java.nio.channels.FileChannel.open(java.nio.file.Path, java.util.Set, java.nio.file.attribute.FileAttribute[])"], "Stackframe.line.number": [298], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "U2mkS0m3fBX-awRgTvpBLAAAAAAAAAAl"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InflaterInputStream.java"], "Stackframe.function.name": ["int java.util.zip.InflaterInputStream.read(byte[], int, int)"], "Stackframe.line.number": [153], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "kgFL8vDWeva5yNPPlsZUygAAAAAAAAA3"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportReplicationAction.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryShardReference.perform(org.elasticsearch.action.support.replication.ReplicationRequest, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [1132], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "JG_5wUb6Q1WN6hfRJFcqEwAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$1.doRun()"], "Stackframe.line.number": [341], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "r21mW5wIwvlwHfvj4Leh8wAAAAAAAACo"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexFileDeleter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexFileDeleter.checkpoint(org.apache.lucene.index.SegmentInfos, boolean)"], "Stackframe.line.number": [594], "Stackframe.function.offset": [29]} +{"create": {"_index": "profiling-stackframes", "_id": "p_xoiXGCsXgpBNHrp24JKQAAAAAAAAAV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixFileSystemProvider.java"], "Stackframe.function.name": ["java.nio.channels.FileChannel sun.nio.fs.UnixFileSystemProvider.newFileChannel(java.nio.file.Path, java.util.Set, java.nio.file.attribute.FileAttribute[])"], "Stackframe.line.number": [179], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "sh1T4lVaqf9yZbH1lhPrZwAAAAAAAACN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3RetryingInputStream.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3RetryingInputStream.openStream()"], "Stackframe.line.number": [88], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "mZnKLpDGXH5r07376P6zgQAAAAAAAACC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.authorize(org.elasticsearch.xpack.core.security.authc.Authentication, java.lang.String, org.elasticsearch.transport.TransportRequest, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [250], "Stackframe.function.offset": [37]} +{"create": {"_index": "profiling-stackframes", "_id": "YfB7-hrLT6gRL7Zld6Lp8QAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.store.CompositeRolesStore$$Lambda$7215+0x0000000802517b50.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "rHKWkGh7pRChoM8BKsgaigAAAAAAAAAU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["XContentBuilder.java"], "Stackframe.function.name": ["org.elasticsearch.xcontent.XContentBuilder org.elasticsearch.xcontent.XContentBuilder.field(java.lang.String, java.lang.String)"], "Stackframe.line.number": [643], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "MKXd2GM1KQ-HCXB8XbvuBAAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.s3.S3BlobContainer$$Lambda$8686+0x0000000802083178.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "A0rFfZQgIUFzz7A2AHAg7gAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["JsonXContentParser.java"], "Stackframe.function.name": ["org.elasticsearch.xcontent.XContentParser$Token org.elasticsearch.xcontent.provider.json.JsonXContentParser.currentToken()"], "Stackframe.line.number": [82], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Llon2cTU88EAb0xt_e8N6QAAAAAAAABB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Boolean2ScorerSupplier.java"], "Stackframe.function.name": ["org.apache.lucene.search.Scorer org.apache.lucene.search.Boolean2ScorerSupplier.getInternal(long)"], "Stackframe.line.number": [116], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "77BcdPidwQf8JepqsYlnCAAAAAAAAACP"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BuiltinClassLoader.java"], "Stackframe.function.name": ["java.net.URL jdk.internal.loader.BuiltinClassLoader.findResource(java.lang.String)"], "Stackframe.line.number": [355], "Stackframe.function.offset": [38]} +{"create": {"_index": "profiling-stackframes", "_id": "NNX6LKmc60fQ-V_Nw2_9cAAAAAAAAACw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InternalHttpClient.java"], "Stackframe.function.name": ["org.apache.http.client.methods.CloseableHttpResponse org.apache.http.impl.client.InternalHttpClient.doExecute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [185], "Stackframe.function.offset": [28]} +{"create": {"_index": "profiling-stackframes", "_id": "-FiXU0afkg-sRwubj2WiAwAAAAAAAKMr"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../../../bus/main.c"], "Stackframe.function.name": ["main"], "Stackframe.line.number": [719]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAATXEi"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["bio_alloc_bioset"]} +{"create": {"_index": "profiling-stackframes", "_id": "P8GYPQV63_J7gmzBFEQnJwAAAAAAAAFg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["com.amazonaws.services.s3.model.PutObjectResult com.amazonaws.services.s3.AmazonS3Client.putObject(com.amazonaws.services.s3.model.PutObjectRequest)"], "Stackframe.line.number": [1768], "Stackframe.function.offset": [57]} +{"create": {"_index": "profiling-stackframes", "_id": "sfblkOdEaLUvfgvW-QAdjgAAAAAAAAAS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ContextPreservingActionListener.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(java.lang.Object)"], "Stackframe.line.number": [31], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "Iz1h-lJR9hawlSRETyh1qQAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.cluster.coordination.Coordinator$$Lambda$4965+0x0000000801ffcb58.apply(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ThW7aRtMu5otJJ-vTe9tmQAAAAAAAABM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["RoleReferenceIntersection.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.core.security.authz.store.RoleReferenceIntersection.lambda$buildRole$0(org.elasticsearch.action.ActionListener, java.util.Collection)"], "Stackframe.line.number": [49], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "P4ZjI7g37fWz45cghUwTxQAAAAAAAAA_"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IOUtils.java"], "Stackframe.function.name": ["void org.apache.lucene.util.IOUtils.fsync(java.nio.file.Path, boolean)"], "Stackframe.line.number": [467], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "obEloCxQqTOnivGYEKZEEAAAAAAAAAAu"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SslHandler.java"], "Stackframe.function.name": ["void io.netty.handler.ssl.SslHandler.wrapAndFlush(io.netty.channel.ChannelHandlerContext)"], "Stackframe.line.number": [799], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "BqEVAd8MPrtkYhJgO4GhZAAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService$$Lambda$10693+0x0000000802972b08.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "6bLW5yM_cMbSli8_NsjzNQAAAAAAAAAc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer()"], "Stackframe.line.number": [764], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "R_ZB9SjojSrHSQ8dwIq_WQAAAAAAAAOr"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IntegerPolynomialP256.java"], "Stackframe.function.name": ["void sun.security.util.math.intpoly.IntegerPolynomialP256.mult(long[], long[], long[])"], "Stackframe.line.number": [323], "Stackframe.function.offset": [20]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAApz47"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["down_read"]} +{"create": {"_index": "profiling-stackframes", "_id": "OUMeXZZ6fO-t9RTzPCiRtQAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$static$4(java.lang.String, org.elasticsearch.xcontent.XContentParser)"], "Stackframe.line.number": [310], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ggEpzKYUUToCZ_IIz775eQAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FilterMergePolicy.java"], "Stackframe.function.name": ["int org.apache.lucene.index.FilterMergePolicy.numDeletesToMerge(org.apache.lucene.index.SegmentCommitInfo, int, org.apache.lucene.util.IOSupplier)"], "Stackframe.line.number": [125], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "11cfhNddX4HypzZBkL8GJAAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractPipeline.java"], "Stackframe.function.name": ["java.util.stream.Sink java.util.stream.AbstractPipeline.wrapAndCopyInto(java.util.stream.Sink, java.util.Spliterator)"], "Stackframe.line.number": [499], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "2s9Z-1EblvqRm49b6lgFUQAAAAAAAAAy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexShard.java"], "Stackframe.function.name": ["void org.elasticsearch.index.shard.IndexShard.acquirePrimaryOperationPermit(org.elasticsearch.action.ActionListener, java.lang.String, java.lang.Object, boolean)"], "Stackframe.line.number": [3325], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "r5B7woHUx7hmwtrjMRtOuwAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Boolean2ScorerSupplier.java"], "Stackframe.function.name": ["org.apache.lucene.search.Scorer org.apache.lucene.search.Boolean2ScorerSupplier.get(long)"], "Stackframe.line.number": [96], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAIgE0"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["mempool_alloc_slab"]} +{"create": {"_index": "profiling-stackframes", "_id": "QTXwwuqN0mLb-8lqckiaTQAAAAAACHly"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["xfs_xattr_get"]} +{"create": {"_index": "profiling-stackframes", "_id": "89ogc5uTbOqh2aLJlzHKmAAAAAAAAAAX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["KeyPairGenerator.java"], "Stackframe.function.name": ["java.security.KeyPair java.security.KeyPairGenerator$Delegate.generateKeyPair()"], "Stackframe.line.number": [727], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "izoIqZ2EJGa3SfYoWrHMNwAAAAAAAAFJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportReplicationAction.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.runWithPrimaryShardReference(org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryShardReference)"], "Stackframe.line.number": [508], "Stackframe.function.offset": [82]} +{"create": {"_index": "profiling-stackframes", "_id": "ZgY89pr05YIxi0DTL7hyTAAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Thread.java"], "Stackframe.function.name": ["void java.lang.Thread.run()"], "Stackframe.line.number": [833], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "IGvGOb8CKDtqOos6VI5kCAAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object jdk.internal.loader.BuiltinClassLoader$$Lambda$289+0x0000000800d277b0.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "c6kGRam5UKx_l-9ot9811wAAAAAAAACL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecureRandom.java"], "Stackframe.function.name": ["void sun.security.provider.SecureRandom.engineNextBytes(byte[])"], "Stackframe.line.number": [250], "Stackframe.function.offset": [28]} +{"create": {"_index": "profiling-stackframes", "_id": "pT78-BAaZ59fFXwdquC9KQAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexFileDeleter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexFileDeleter.deleteFile(java.lang.String)"], "Stackframe.line.number": [764], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "zVmgO3uV6bZtx2XUjAkXcgAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3RetryingInputStream.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3RetryingInputStream.(org.elasticsearch.repositories.s3.S3BlobStore, java.lang.String)"], "Stackframe.line.number": [60], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "i0MJsjg1nTMYg21Lh8j5pAAAAAAAAABT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileGenerator.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileGenerator.writeString(java.lang.String)"], "Stackframe.line.number": [977], "Stackframe.function.offset": [27]} +{"create": {"_index": "profiling-stackframes", "_id": "DjDYSMBm5cQnwKCRH0dlgwAAAAAAAAA0"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SslHandler.java"], "Stackframe.function.name": ["void io.netty.handler.ssl.SslHandler.flush(io.netty.channel.ChannelHandlerContext)"], "Stackframe.line.number": [780], "Stackframe.function.offset": [15]} +{"create": {"_index": "profiling-stackframes", "_id": "npAgnwz74Cv0gdn19xaCuAAAAAAAAADy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FieldAndDocumentLevelSecurityRequestInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.FieldAndDocumentLevelSecurityRequestInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [79], "Stackframe.function.offset": [28]} +{"create": {"_index": "profiling-stackframes", "_id": "g6A5O5DE8lToSDEW-xkfTwAAAAAAAAES"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DlsFlsLicenseRequestInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.DlsFlsLicenseRequestInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [106], "Stackframe.function.offset": [57]} +{"create": {"_index": "profiling-stackframes", "_id": "3tyP2MUj5DlzxqSh6DRnAwAAAAAAAAFk"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.runTask(java.lang.String, java.util.function.Function, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [437], "Stackframe.function.offset": [53]} +{"create": {"_index": "profiling-stackframes", "_id": "igHK0MNBkupTzE8Gzv6EygAAAAAAAAAJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessController.java"], "Stackframe.function.name": ["java.lang.Object java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction)"], "Stackframe.line.number": [569], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "DPKZG86WCe-rkFTx_IAdagAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.s3.S3RetryingInputStream$$Lambda$8093+0x00000008026d5b90.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "y87oVbGEsnZxcfXcdrLYswAAAAAAAAB6"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLSocketImpl.java"], "Stackframe.function.name": ["void sun.security.ssl.SSLSocketImpl.startHandshake(boolean)"], "Stackframe.line.number": [455], "Stackframe.function.offset": [25]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAFFQe"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__x64_sys_futex"]} +{"create": {"_index": "profiling-stackframes", "_id": "XC-En-mvMkLnH_EQYbHTPwAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractEventExecutor.java"], "Stackframe.function.name": ["void io.netty.util.concurrent.AbstractEventExecutor.runTask(java.lang.Runnable)"], "Stackframe.line.number": [174], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Hc4fbH8wnl-aZPA1_7gB-wAAAAAAAAAy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3BlobContainer.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3BlobContainer.writeMetadataBlob(java.lang.String, boolean, boolean, org.elasticsearch.core.CheckedConsumer)"], "Stackframe.line.number": [211], "Stackframe.function.offset": [69]} +{"create": {"_index": "profiling-stackframes", "_id": "mwuQyMHK5RYUe_aaboQONgAAAAAAAAAD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TemplateUtils.java"], "Stackframe.function.name": ["java.lang.String org.elasticsearch.xpack.core.template.TemplateUtils.load(java.lang.String)"], "Stackframe.line.number": [91], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "we1dsXqMIsi7fg7veaiJyQAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.blobstore.BlobStoreRepository$$Lambda$720+0x0000000800ff2238.apply(java.lang.Object, java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAADSlT"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["wake_up_q"]} +{"create": {"_index": "profiling-stackframes", "_id": "Slb8MNVKIFfE9HJqtN3BhwAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Inflater.java"], "Stackframe.function.name": ["long java.util.zip.Inflater.inflateBytesBytes(long, byte[], int, int, byte[], int, int)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "8NlMClggx8jaziUTJXlmWAAAAAAAAIYI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["/build/glibc-sMfBJT/glibc-2.31/nptl/pthread_create.c"], "Stackframe.function.name": ["start_thread"], "Stackframe.line.number": [477]} +{"create": {"_index": "profiling-stackframes", "_id": "kpBi8LFR3RTjSJqFuljOuQAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Deflater.java"], "Stackframe.function.name": ["long java.util.zip.Deflater.deflateBytesBytes(long, byte[], int, int, byte[], int, int, int, int)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "nTSx0380z3H9OoIBkTGK2wAAAAAAAAAx"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedInputStream.java"], "Stackframe.function.name": ["int java.io.BufferedInputStream.implRead(byte[], int, int)"], "Stackframe.line.number": [382], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "-FIPITFlgylPOavKEh5SEQAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileParser._loadMoreGuaranteed()"], "Stackframe.line.number": [268], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "GASd-GxTI3CnNP2dmtJ0gQAAAAAAAAHe"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexWriter.startCommit(org.apache.lucene.index.SegmentInfos)"], "Stackframe.line.number": [5099], "Stackframe.function.offset": [70]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAC3tR"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["wq_barrier_func"]} +{"create": {"_index": "profiling-stackframes", "_id": "GXzDmM-hgGlNDieJ9EUhGAAAAAAAAAEw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshots.java"], "Stackframe.function.name": ["org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots.fromXContent(org.elasticsearch.xcontent.XContentParser)"], "Stackframe.line.number": [276], "Stackframe.function.offset": [33]} +{"create": {"_index": "profiling-stackframes", "_id": "Sm149Q4n4lGGxDiZNf94FQAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassLoader.java"], "Stackframe.function.name": ["java.io.InputStream java.net.URLClassLoader.getResourceAsStream(java.lang.String)"], "Stackframe.line.number": [290], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "YRdREBgpcH5AEXcyjzcstgAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["org.elasticsearch.index.engine.Engine$IndexCommitRef org.elasticsearch.index.IndexModule$$Lambda$1431+0x00000008017d2f18.acquireIndexCommitForSnapshot(org.elasticsearch.index.engine.Engine)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "1AYJQILFnHXEV9oxyMp7FgAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["StandardDirectoryReader.java"], "Stackframe.function.name": ["org.apache.lucene.index.DirectoryReader org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged()"], "Stackframe.line.number": [345], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ObVu4EglQ3fhG0H69eyyrwAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.ServerTransportFilter$NodeProfile$$Lambda$5828+0x0000000801afad38.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "RO5fkjSwhs-w1RFeE1q0WQAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ByteSizeCachingDirectory.java"], "Stackframe.function.name": ["void org.elasticsearch.index.store.ByteSizeCachingDirectory.deleteFile(java.lang.String)"], "Stackframe.line.number": [187], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "t5nOOkOTN6QC2_E5A_LICgAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["int com.fasterxml.jackson.dataformat.smile.SmileParser._fourBytesToInt()"], "Stackframe.line.number": [2216], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "kBc-zardyidmU9M2FtS_7wAAAAAAAACU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexFileDeleter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexFileDeleter.deleteFiles(java.util.Collection)"], "Stackframe.line.number": [758], "Stackframe.function.offset": [24]} +{"create": {"_index": "profiling-stackframes", "_id": "wlgkZprTs7F_QEEM-7VvZwAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["JsonXContentGenerator.java"], "Stackframe.function.name": ["void org.elasticsearch.xcontent.json.JsonXContentGenerator.writeStringField(java.lang.String, java.lang.String)"], "Stackframe.line.number": [266], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "yzkMNxhTqdw8OfBH6KpVbgAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixPath.java"], "Stackframe.function.name": ["void sun.nio.fs.UnixPath.(sun.nio.fs.UnixFileSystem, java.lang.String)"], "Stackframe.line.number": [68], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "KPNYkONEetadZox7ZPj-_wAAAAAAAACo"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SnapshotShardsService.java"], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService.snapshot(org.elasticsearch.index.shard.ShardId, org.elasticsearch.snapshots.Snapshot, org.elasticsearch.repositories.IndexId, java.util.Map, org.elasticsearch.index.snapshots.IndexShardSnapshotStatus, org.elasticsearch.Version, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [370], "Stackframe.function.offset": [19]} +{"create": {"_index": "profiling-stackframes", "_id": "mcb8sJ6l3hl2564ZMljLvwAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ActionRunnable.java"], "Stackframe.function.name": ["void org.elasticsearch.action.ActionRunnable$2.doRun()"], "Stackframe.line.number": [62], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "TF5EMbS9G90c1yPz7xfKpAAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Netty4WriteThrottlingHandler.java"], "Stackframe.function.name": ["void org.elasticsearch.transport.netty4.Netty4WriteThrottlingHandler.flush(io.netty.channel.ChannelHandlerContext)"], "Stackframe.line.number": [101], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "QTXwwuqN0mLb-8lqckiaTQAAAAAAB4A6"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["xfs_ilock"]} +{"create": {"_index": "profiling-stackframes", "_id": "X6aGRt4o2LlAY8FCZg8t_gAAAAAAAACW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FilePermission.java"], "Stackframe.function.name": ["int java.io.FilePermission.containsPath(java.nio.file.Path, java.nio.file.Path)"], "Stackframe.line.number": [744], "Stackframe.function.offset": [43]} +{"create": {"_index": "profiling-stackframes", "_id": "16j8HtYPNjd3qdRoXnMi0AAAAAAAAABa"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClientKeyExchange.java"], "Stackframe.function.name": ["byte[] sun.security.ssl.ClientKeyExchange$ClientKeyExchangeProducer.produce(sun.security.ssl.ConnectionContext, sun.security.ssl.SSLHandshake$HandshakeMessage)"], "Stackframe.line.number": [65], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "DJLJRrJNARIRyzxCnxa4WQAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadContext.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun()"], "Stackframe.line.number": [777], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "vtg0KUtDPlzazpv9gP6MtQAAAAAAAABQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileChannelImpl.java"], "Stackframe.function.name": ["void sun.nio.ch.FileChannelImpl.force(boolean)"], "Stackframe.line.number": [468], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "CQUIxcdtvT35ZznMVnzc_AAAAAAAAACX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndicesClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.indices.cluster.IndicesClusterStateService.updateShard(org.elasticsearch.cluster.node.DiscoveryNodes, org.elasticsearch.cluster.routing.ShardRouting, org.elasticsearch.indices.cluster.IndicesClusterStateService$Shard, org.elasticsearch.cluster.routing.RoutingTable, org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [614], "Stackframe.function.offset": [14]} +{"create": {"_index": "profiling-stackframes", "_id": "yknYMrbzZKxPQGFhtsDUFgAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecureRandom.java"], "Stackframe.function.name": ["void java.security.SecureRandom.nextBytes(byte[])"], "Stackframe.line.number": [758], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "VGJu-bYJBqeYrugO5COQdQAAAAAAAAHG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ProtocolExec.java"], "Stackframe.function.name": ["org.apache.http.client.methods.CloseableHttpResponse org.apache.http.impl.execchain.ProtocolExec.execute(org.apache.http.conn.routing.HttpRoute, org.apache.http.client.methods.HttpRequestWrapper, org.apache.http.client.protocol.HttpClientContext, org.apache.http.client.methods.HttpExecutionAware)"], "Stackframe.line.number": [186], "Stackframe.function.offset": [76]} +{"create": {"_index": "profiling-stackframes", "_id": "hCl4jaZsLnxk3C0-qCjENwAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3RetryingInputStream.java"], "Stackframe.function.name": ["com.amazonaws.services.s3.model.S3Object org.elasticsearch.repositories.s3.S3RetryingInputStream.lambda$openStream$0(org.elasticsearch.repositories.s3.AmazonS3Reference, com.amazonaws.services.s3.model.GetObjectRequest)"], "Stackframe.line.number": [88], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "x9iJb0OhVB_kYAbvkT0IJAAAAAAAAABL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ConjunctionUtils.java"], "Stackframe.function.name": ["org.apache.lucene.search.DocIdSetIterator org.apache.lucene.search.ConjunctionUtils.intersectScorers(java.util.Collection)"], "Stackframe.line.number": [44], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "mT2KIvEsDcA0I2RiMDHSuAAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportReplicationAction.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.TransportReplicationAction.acquirePrimaryOperationPermit(org.elasticsearch.index.shard.IndexShard, org.elasticsearch.action.support.replication.ReplicationRequest, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [1069], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "DsEcu-FxsA-5RKaWB1grdAAAAAAAAAAp"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractChannelHandlerContext.java"], "Stackframe.function.name": ["void io.netty.channel.AbstractChannelHandlerContext$WriteTask.run()"], "Stackframe.line.number": [1247], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "Cqi1_91FMYO-otI3ESGKwAAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixNativeDispatcher.java"], "Stackframe.function.name": ["int sun.nio.fs.UnixNativeDispatcher.open(sun.nio.fs.UnixPath, int, int)"], "Stackframe.line.number": [68], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "HtE3mFX5tbjDXSQ7-hE7bwAAAAAAAAF5"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(com.amazonaws.http.AmazonHttpClient$RequestExecutor$ExecOneRequestParams)"], "Stackframe.line.number": [1323], "Stackframe.function.offset": [58]} +{"create": {"_index": "profiling-stackframes", "_id": "HBnk-r2jmt48gRTNgMOf8wAAAAAAAAAy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService$1.onResponse(java.lang.Void)"], "Stackframe.line.number": [603], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "WIcSMVTq4UI8IrRuG9Ls8gAAAAAAAAAS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute()"], "Stackframe.line.number": [738], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "vRwDdjzKXpreYxi90MDGQQAAAAAAAABm"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Method.java"], "Stackframe.function.name": ["java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])"], "Stackframe.line.number": [578], "Stackframe.function.offset": [19]} +{"create": {"_index": "profiling-stackframes", "_id": "6bg5h6o_GLUtahiXyigwlQAAAAAAAAAs"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SingleThreadEventExecutor.java"], "Stackframe.function.name": ["void io.netty.util.concurrent.SingleThreadEventExecutor$4.run()"], "Stackframe.line.number": [997], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "TqPaoMp2He0IHYVdVGyXigAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat$$Lambda$8685+0x000000080207b720.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "O4wSxfOE-c6Sft1wmb_6fgAAAAAAAABp"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECDHClientKeyExchange.java"], "Stackframe.function.name": ["byte[] sun.security.ssl.ECDHClientKeyExchange$ECDHEClientKeyExchangeProducer.produce(sun.security.ssl.ConnectionContext, sun.security.ssl.SSLHandshake$HandshakeMessage)"], "Stackframe.line.number": [396], "Stackframe.function.offset": [21]} +{"create": {"_index": "profiling-stackframes", "_id": "Gjm3c7dzM21apoh-_mmOrwAAAAAAAAA2"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshots.java"], "Stackframe.function.name": ["org.elasticsearch.xcontent.XContentBuilder org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots.toXContent(org.elasticsearch.xcontent.XContentBuilder, org.elasticsearch.xcontent.ToXContent$Params)"], "Stackframe.line.number": [238], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "AxJNlcXBvrgVOpR8a1WEYgAAAAAAAALR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["MainClientExec.java"], "Stackframe.function.name": ["org.apache.http.client.methods.CloseableHttpResponse org.apache.http.impl.execchain.MainClientExec.execute(org.apache.http.conn.routing.HttpRoute, org.apache.http.client.methods.HttpRequestWrapper, org.apache.http.client.protocol.HttpClientContext, org.apache.http.client.methods.HttpExecutionAware)"], "Stackframe.line.number": [272], "Stackframe.function.offset": [117]} +{"create": {"_index": "profiling-stackframes", "_id": "W80Dopg4GIca7JXLWHFwVAAAAAAAAAA6"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ServerTransportFilter.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.ServerTransportFilter$NodeProfile.lambda$inbound$1(java.lang.String, org.elasticsearch.transport.TransportRequest, org.elasticsearch.action.ActionListener, org.elasticsearch.Version, org.elasticsearch.xpack.core.security.authc.Authentication)"], "Stackframe.line.number": [136], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "ibtF619pQHGNKblUfb9MKwAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLHandshake.java"], "Stackframe.function.name": ["void sun.security.ssl.SSLHandshake.consume(sun.security.ssl.ConnectionContext, java.nio.ByteBuffer)"], "Stackframe.line.number": [396], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "rQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService$1.onResponse(java.lang.Object)"], "Stackframe.line.number": [597], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAIgIA"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["mempool_alloc"]} +{"create": {"_index": "profiling-stackframes", "_id": "Iir7eGdVZsjNItLfykxs3gAAAAAAAABa"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PersistedClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.PersistedClusterStateService$Writer.writeIncrementalStateAndCommit(long, org.elasticsearch.cluster.ClusterState, org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [777], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "VB_A4ihbc-HQ5QDUj7Wz0QAAAAAAAAB_"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ElasticsearchConcurrentMergeScheduler.java"], "Stackframe.function.name": ["void org.elasticsearch.index.engine.ElasticsearchConcurrentMergeScheduler.doMerge(org.apache.lucene.index.MergeScheduler$MergeSource, org.apache.lucene.index.MergePolicy$OneMerge)"], "Stackframe.line.number": [118], "Stackframe.function.offset": [22]} +{"create": {"_index": "profiling-stackframes", "_id": "PK6VPfk6aJqBe-5Qji8O5gAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PendingReplicationActions.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.PendingReplicationActions.accept(java.lang.Object)"], "Stackframe.line.number": [25], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "7HvWKt-xH9wdfCiPfTMv1gAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Engine.java"], "Stackframe.function.name": ["org.elasticsearch.index.engine.Engine$IndexCommitRef org.elasticsearch.index.engine.Engine.acquireIndexCommitForSnapshot()"], "Stackframe.line.number": [1101], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "IP-4kS9K2z9dstopMSzdEAAAAAAAAAAK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexTemplateRegistry.java"], "Stackframe.function.name": ["boolean org.elasticsearch.xpack.core.template.IndexTemplateRegistry.componentTemplatesExist(org.elasticsearch.cluster.ClusterState, org.elasticsearch.xpack.core.template.IndexTemplateConfig)"], "Stackframe.line.number": [345], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "p0eo8IwDes1buf90_PyLCgAAAAAAAAAw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ConcurrentMergeScheduler.java"], "Stackframe.function.name": ["void org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run()"], "Stackframe.line.number": [700], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "sCbyN1LnxDvKtK16chc1UAAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FilterMergePolicy.java"], "Stackframe.function.name": ["org.apache.lucene.index.MergePolicy$MergeSpecification org.apache.lucene.index.FilterMergePolicy.findMerges(org.apache.lucene.index.MergeTrigger, org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.MergePolicy$MergeContext)"], "Stackframe.line.number": [47], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "DT06D5A7Yxiqx6IJ7Kvu0wAAAAAAAACC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECKeyPairGenerator.java"], "Stackframe.function.name": ["java.util.Optional sun.security.ec.ECKeyPairGenerator.generateKeyPairImpl(java.security.SecureRandom)"], "Stackframe.line.number": [200], "Stackframe.function.offset": [17]} +{"create": {"_index": "profiling-stackframes", "_id": "T2JZOvbQqWZFxul4uMvPzgAAAAAAAABw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["OutputRecord.java"], "Stackframe.function.name": ["long sun.security.ssl.OutputRecord.t13Encrypt(sun.security.ssl.SSLCipher$SSLWriteCipher, byte, java.nio.ByteBuffer, int, int, int, sun.security.ssl.ProtocolVersion)"], "Stackframe.line.number": [418], "Stackframe.function.offset": [21]} +{"create": {"_index": "profiling-stackframes", "_id": "5GqAUaYv86rgi1w0nJY6kwAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService$$Lambda$8707+0x00000008020ba880.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "5iqVHRdlT1dn5BdxVeiR7QAAAAAAAABL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(com.amazonaws.http.HttpResponseHandler)"], "Stackframe.line.number": [680], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "qAh8Zr_sGDY6rzZXJvta_gAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DefaultBHttpClientConnection.java"], "Stackframe.function.name": ["void org.apache.http.impl.DefaultBHttpClientConnection.sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest)"], "Stackframe.line.number": [156], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "ZJExOMsbBfy8WqRgcylCLwAAAAAAAABp"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["RequestHandlerRegistry.java"], "Stackframe.function.name": ["void org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel)"], "Stackframe.line.number": [67], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "FTndS9swIMm3K06ZEY-ZcgAAAAAAAACO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileChannelImpl.java"], "Stackframe.function.name": ["void sun.nio.ch.FileChannelImpl.implCloseChannel()"], "Stackframe.line.number": [207], "Stackframe.function.offset": [30]} +{"create": {"_index": "profiling-stackframes", "_id": "fo33a47SQa_ikvx14Wo6GwAAAAAAAAAm"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractChannelHandlerContext.java"], "Stackframe.function.name": ["void io.netty.channel.AbstractChannelHandlerContext.invokeFlush0()"], "Stackframe.line.number": [923], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "jJKyCKnhVDSt_DYivEq7yQAAAAAAAAAi"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexShard.java"], "Stackframe.function.name": ["org.elasticsearch.index.engine.Engine$RefreshResult org.elasticsearch.index.shard.IndexShard.refresh(java.lang.String)"], "Stackframe.line.number": [1236], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "u6cCfBpCKfnm1TY7pHx6ZgAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Store.java"], "Stackframe.function.name": ["void org.elasticsearch.index.store.Store$StoreDirectory.deleteFile(java.lang.String)"], "Stackframe.line.number": [751], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "gvYbo0YBmE65VwrpTWYalQAAAAAAAABi"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndicesClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.indices.cluster.IndicesClusterStateService.applyClusterState(org.elasticsearch.cluster.ClusterChangedEvent)"], "Stackframe.line.number": [223], "Stackframe.function.offset": [23]} +{"create": {"_index": "profiling-stackframes", "_id": "2sLCSYuHZvfeGvojnGEVfAAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BooleanWeight.java"], "Stackframe.function.name": ["org.apache.lucene.search.Scorer org.apache.lucene.search.BooleanWeight.scorer(org.apache.lucene.index.LeafReaderContext)"], "Stackframe.line.number": [511], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "gWzF_k06817SsAPAEeEuVAAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3BlobContainer.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3BlobContainer.lambda$executeSingleUpload$19(org.elasticsearch.repositories.s3.AmazonS3Reference, com.amazonaws.services.s3.model.PutObjectRequest)"], "Stackframe.line.number": [490], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAwAIU"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["ret_from_fork"]} +{"create": {"_index": "profiling-stackframes", "_id": "0vu-8-EP1KjTNjFoZrojbgAAAAAAAAAh"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InternalEngine.java"], "Stackframe.function.name": ["void org.elasticsearch.index.engine.InternalEngine.commitIndexWriter(org.apache.lucene.index.IndexWriter, org.elasticsearch.index.translog.Translog)"], "Stackframe.line.number": [2644], "Stackframe.function.offset": [29]} +{"create": {"_index": "profiling-stackframes", "_id": "C5AvyP3bA4PjoVWj5P4reAAAAAAAAAAD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["RoleReferenceIntersection.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.core.security.authz.store.RoleReferenceIntersection.lambda$buildRole$1(java.util.function.BiConsumer, org.elasticsearch.action.support.GroupedActionListener, org.elasticsearch.xpack.core.security.authz.store.RoleReference)"], "Stackframe.line.number": [53], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "4O-ovD5bG6j4SStsVkgzcQAAAAAAAABH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateListener(org.elasticsearch.cluster.ClusterChangedEvent, org.elasticsearch.cluster.service.ClusterApplierRecordingService$Recorder, java.util.Collection)"], "Stackframe.line.number": [573], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "4wHidvPJpZTy7Q8lK21otgAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexShardOperationPermits.java"], "Stackframe.function.name": ["void org.elasticsearch.index.shard.IndexShardOperationPermits.acquire(org.elasticsearch.action.ActionListener, java.lang.String, boolean, java.lang.Object)"], "Stackframe.line.number": [221], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "nENxGWN4qoBcDN73jfy1WgAAAAAAAADf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["HttpRequestExecutor.java"], "Stackframe.function.name": ["org.apache.http.HttpResponse org.apache.http.protocol.HttpRequestExecutor.doSendRequest(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [238], "Stackframe.function.offset": [42]} +{"create": {"_index": "profiling-stackframes", "_id": "iZ3mYpUZ_vDzUycli_tCcQAAAAAAAAAu"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileParser._parseNumericValue()"], "Stackframe.line.number": [1983], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "CW_r9nc-U1Fi4aU8XoGOXAAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassLoader.java"], "Stackframe.function.name": ["java.net.URL java.net.URLClassLoader$2.run()"], "Stackframe.line.number": [629], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "KZn_I-ZtnojJ7fIDZHHneQAAAAAAAACF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshots.java"], "Stackframe.function.name": ["org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots.fromXContent(org.elasticsearch.xcontent.XContentParser)"], "Stackframe.line.number": [278], "Stackframe.function.offset": [18]} +{"create": {"_index": "profiling-stackframes", "_id": "hvijQK1a5iiWkFoVp40y5AAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClientConnectionManagerFactory.java"], "Stackframe.function.name": ["java.lang.Object com.amazonaws.http.conn.ClientConnectionManagerFactory$Handler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])"], "Stackframe.line.number": [76], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "k8ZGDLdSxDSM2lL9n7Ll1AAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["int org.apache.lucene.index.IndexWriter.numDeletesToMerge(org.apache.lucene.index.SegmentCommitInfo)"], "Stackframe.line.number": [5996], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "_iIILZSpQek0elrVmCyWigAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3BlobContainer.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3BlobContainer.writeBlob(java.lang.String, java.io.InputStream, long, boolean)"], "Stackframe.line.number": [126], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "92jCQ7FJd_qE8nezHXMXDQAAAAAAAACY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DocumentsWriter.java"], "Stackframe.function.name": ["long org.apache.lucene.index.DocumentsWriter.flushAllThreads()"], "Stackframe.line.number": [672], "Stackframe.function.offset": [22]} +{"create": {"_index": "profiling-stackframes", "_id": "_GFFImAT2VE6Ar5VgmaN7QAAAAAAAAHy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReplicationTracker.java"], "Stackframe.function.name": ["void org.elasticsearch.index.seqno.ReplicationTracker.updateFromMaster(long, java.util.Set, org.elasticsearch.cluster.routing.IndexShardRoutingTable)"], "Stackframe.line.number": [1198], "Stackframe.function.offset": [47]} +{"create": {"_index": "profiling-stackframes", "_id": "HbqGqBv_PKwJzIrNCTkRMwAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReadersAndUpdates.java"], "Stackframe.function.name": ["int org.apache.lucene.index.ReadersAndUpdates.numDeletesToMerge(org.apache.lucene.index.MergePolicy)"], "Stackframe.line.number": [239], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "2CwcPQcRkPoyzD89B8CtBQAAAAAAAAB-"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PersistedClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.PersistedClusterStateService$MetadataIndexWriter.prepareCommit(java.lang.String, long, long, org.elasticsearch.Version)"], "Stackframe.line.number": [654], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "X5HtFQ851Qd03wmhWrZR4QAAAAAAAAAq"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SingleThreadEventExecutor.java"], "Stackframe.function.name": ["boolean io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(long)"], "Stackframe.line.number": [470], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "V6Xv8yqxVPgM9JZWMvD_ogAAAAAAAAAD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CloseableHttpClient.java"], "Stackframe.function.name": ["org.apache.http.HttpResponse org.apache.http.impl.client.CloseableHttpClient.execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [56], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "4FrN4VeCu4HJZNavjw0tmgAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FSDirectory.java"], "Stackframe.function.name": ["void org.apache.lucene.store.FSDirectory.sync(java.util.Collection)"], "Stackframe.line.number": [255], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "h7EwhN3qpUCOhT4f95Qz0gAAAAAAAAEx"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["RBACEngine.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.RBACEngine.authorizeIndexAction(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AsyncSupplier, java.util.Map, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [360], "Stackframe.function.offset": [75]} +{"create": {"_index": "profiling-stackframes", "_id": "bUctjbWcypk0wJUtGkKmFgAAAAAAAADJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ServerTransportFilter.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.ServerTransportFilter$NodeProfile.inbound(java.lang.String, org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [128], "Stackframe.function.offset": [33]} +{"create": {"_index": "profiling-stackframes", "_id": "SCkRMoBKKPg9IolzXt51kAAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository$$Lambda$7036+0x000000080246f9c8.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lMvGIQySgdUzptqnRUQpUAAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["StoredFieldsConsumer.java"], "Stackframe.function.name": ["void org.apache.lucene.index.StoredFieldsConsumer.flush(org.apache.lucene.index.SegmentWriteState, org.apache.lucene.index.Sorter$DocMap)"], "Stackframe.line.number": [82], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "qOuY7z4cBuGpkQnMsu5M4QAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixPath.java"], "Stackframe.function.name": ["sun.nio.fs.UnixPath sun.nio.fs.UnixPath.getName(int)"], "Stackframe.line.number": [301], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "X3YYuA6U4OM2ZjQu8fVwYwAAAAAAAABL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(com.amazonaws.http.HttpResponseHandler)"], "Stackframe.line.number": [697], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "rLErn8W8_gFwO7zvGO-LBwAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.blobstore.BlobStoreRepository$$Lambda$907+0x00000008016ae128.apply(java.lang.Object, java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "_NbGvNUAYnubBA2-cDqDrQAAAAAAAAAe"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Iterable.java"], "Stackframe.function.name": ["void java.lang.Iterable.forEach(java.util.function.Consumer)"], "Stackframe.line.number": [75], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "LewwMUXjDx8itumiJ5m9uAAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$3.onResponse(java.lang.Void)"], "Stackframe.line.number": [590], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadPoolExecutor.java"], "Stackframe.function.name": ["void java.util.concurrent.ThreadPoolExecutor$Worker.run()"], "Stackframe.line.number": [642], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Y8sJdN8JrOKeDGcKRLKzYgAAAAAAAACu"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository.doSnapshotShard(org.elasticsearch.repositories.SnapshotShardContext)"], "Stackframe.line.number": [2713], "Stackframe.function.offset": [25]} +{"create": {"_index": "profiling-stackframes", "_id": "oxSW321mwoDVUa0haFaP7QAAAAAAAAAu"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PersistedClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.PersistedClusterStateService$Writer.prepareCommit(long, long, org.elasticsearch.Version)"], "Stackframe.line.number": [1175], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "-FiXU0afkg-sRwubj2WiAwAAAAAAAlz6"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../../../dbus/dbus-mainloop.c", "../../../dbus/dbus-mainloop.c"], "Stackframe.function.name": ["_dbus_loop_iterate", "_dbus_loop_dispatch"], "Stackframe.line.number": [862, 520]} +{"create": {"_index": "profiling-stackframes", "_id": "BPKHF0uWLBGF-EDvSz50AwAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UpdateRequestInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.UpdateRequestInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [27], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "bYAsS36pm68v9ebHURyhdAAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IntegerPolynomial.java"], "Stackframe.function.name": ["sun.security.util.math.MutableIntegerModuloP sun.security.util.math.intpoly.IntegerPolynomial$MutableElement.setProduct(sun.security.util.math.IntegerModuloP)"], "Stackframe.line.number": [631], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "WyzAcL0AWgIkl4A0YO5RQwAAAAAAAAAm"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["StandardDirectoryReader.java"], "Stackframe.function.name": ["org.apache.lucene.index.DirectoryReader org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(org.apache.lucene.index.IndexCommit)"], "Stackframe.line.number": [381], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "t5uE-GFMsmesNeLBgx_z4wAAAAAAAAAD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassPath.java"], "Stackframe.function.name": ["java.net.URL jdk.internal.loader.URLClassPath$JarLoader.findResource(java.lang.String, boolean)"], "Stackframe.line.number": [942], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "YhErxbFc2y82dI3FdqHUOwAAAAAAAADs"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InternalEngine.java"], "Stackframe.function.name": ["boolean org.elasticsearch.index.engine.InternalEngine.flush(boolean, boolean)"], "Stackframe.line.number": [1990], "Stackframe.function.offset": [36]} +{"create": {"_index": "profiling-stackframes", "_id": "tgCBGeongyDKoP0eQjcOvQAAAAAAAAA3"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NioSocketImpl.java"], "Stackframe.function.name": ["int sun.nio.ch.NioSocketImpl.tryWrite(java.io.FileDescriptor, byte[], int, int)"], "Stackframe.line.number": [395], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "RCG4Qx5E9EZ0R-BBEbZnmwAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PrioritizedEsThreadPoolExecutor.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(java.lang.Runnable)"], "Stackframe.line.number": [257], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "v5Q60hHLUFC78bfvz1WyQQAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["GaloisCounterMode.java"], "Stackframe.function.name": ["void com.sun.crypto.provider.GaloisCounterMode.checkInit()"], "Stackframe.line.number": [321], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ipWtYiD0L8zHlsu-KRlKIwAAAAAAAAAU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService$$Lambda$7200+0x000000080244b7f0.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Avk7vHT4UprOTP5MohWAugAAAAAAAAAa"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndicesClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.indices.cluster.IndicesClusterStateService.failMissingShards(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [393], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "HoqCWZ471w3YYcVCfd06hAAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessController.java"], "Stackframe.function.name": ["void java.security.AccessController.checkPermission(java.security.Permission)"], "Stackframe.line.number": [1042], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "jPaG_bLbWLTHMVbsZ6KO3wAAAAAAAAPS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository.snapshotShard(org.elasticsearch.repositories.SnapshotShardContext)"], "Stackframe.line.number": [2796], "Stackframe.function.offset": [155]} +{"create": {"_index": "profiling-stackframes", "_id": "5Ga434JXyMCORvI3aSPl0wAAAAAAAAAx"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractPipeline.java"], "Stackframe.function.name": ["void java.util.stream.AbstractPipeline.copyInto(java.util.stream.Sink, java.util.Spliterator)"], "Stackframe.line.number": [513], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "Y8sJdN8JrOKeDGcKRLKzYgAAAAAAAANV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository.doSnapshotShard(org.elasticsearch.repositories.SnapshotShardContext)"], "Stackframe.line.number": [2839], "Stackframe.function.offset": [151]} +{"create": {"_index": "profiling-stackframes", "_id": "PUPItXL9ODmL0kwnalRigwAAAAAAAAAj"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClassLoader.java"], "Stackframe.function.name": ["java.net.URL java.lang.ClassLoader.getResource(java.lang.String)"], "Stackframe.line.number": [1404], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "LqytSQO0xoKueTdBUmzm9gAAAAAAAAAc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TieredMergePolicy.java"], "Stackframe.function.name": ["org.apache.lucene.index.MergePolicy$MergeSpecification org.apache.lucene.index.TieredMergePolicy.findMerges(org.apache.lucene.index.MergeTrigger, org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.MergePolicy$MergeContext)"], "Stackframe.line.number": [329], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAARLUs"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["get_vfs_caps_from_disk"]} +{"create": {"_index": "profiling-stackframes", "_id": "-FiXU0afkg-sRwubj2WiAwAAAAAAAZtb"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../../../bus/dispatch.c", "../../../bus/dispatch.c"], "Stackframe.function.name": ["bus_dispatch_message_filter", "bus_dispatch"], "Stackframe.line.number": [548, 489]} +{"create": {"_index": "profiling-stackframes", "_id": "QzYQ9wb1jS08S2BufSVqWAAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractXContentParser.java"], "Stackframe.function.name": ["long org.elasticsearch.xcontent.support.AbstractXContentParser.longValue()"], "Stackframe.line.number": [194], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "qzb1PmzSJpYKqqQC4Es1dAAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Socket.java"], "Stackframe.function.name": ["void java.net.Socket$SocketOutputStream.write(byte[], int, int)"], "Stackframe.line.number": [1035], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "GUwipo03N4glyS6268EEmgAAAAAAAAAK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.read(java.lang.String, org.elasticsearch.common.blobstore.BlobContainer, java.lang.String, org.elasticsearch.xcontent.NamedXContentRegistry)"], "Stackframe.line.number": [120], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "H2XMIGvXG_73d5XzBvFSxAAAAAAAAAEB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportContext.java"], "Stackframe.function.name": ["void sun.security.ssl.TransportContext.dispatch(sun.security.ssl.Plaintext)"], "Stackframe.line.number": [201], "Stackframe.function.offset": [38]} +{"create": {"_index": "profiling-stackframes", "_id": "BjHQJvdwWPCTBjvnSeRZ2wAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NioSocketImpl.java"], "Stackframe.function.name": ["void sun.nio.ch.NioSocketImpl$2.write(byte[], int, int)"], "Stackframe.line.number": [823], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Boyt9QmW9-zzCwzKZ9LhFAAAAAAAAAEX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixChannelFactory.java"], "Stackframe.function.name": ["java.io.FileDescriptor sun.nio.fs.UnixChannelFactory.open(int, sun.nio.fs.UnixPath, java.lang.String, sun.nio.fs.UnixChannelFactory$Flags, int)"], "Stackframe.line.number": [248], "Stackframe.function.offset": [61]} +{"create": {"_index": "profiling-stackframes", "_id": "PUPItXL9ODmL0kwnalRigwAAAAAAAAAR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClassLoader.java"], "Stackframe.function.name": ["java.net.URL java.lang.ClassLoader.getResource(java.lang.String)"], "Stackframe.line.number": [1399], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "GQWHl0s0fmnGMrrNRd7yDQAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileChannelImpl.java"], "Stackframe.function.name": ["void sun.nio.ch.FileChannelImpl$Closer.run()"], "Stackframe.line.number": [115], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "fhsEKXDuxJ-jIJrZpdRuSAAAAAAAAFtj"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["./deflate.c", "./deflate.c"], "Stackframe.function.name": ["deflate", "deflate"], "Stackframe.line.number": [825, 1066]} +{"create": {"_index": "profiling-stackframes", "_id": "oi3QXV0PR2nGOV5pzW_MvAAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["JsonXContentGenerator.java"], "Stackframe.function.name": ["void org.elasticsearch.xcontent.provider.json.JsonXContentGenerator.writeStringField(java.lang.String, java.lang.String)"], "Stackframe.line.number": [352], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "8KbuOHlqa1mTqGljNuuiVAAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["MessageDigest.java"], "Stackframe.function.name": ["void java.security.MessageDigest.update(byte[])"], "Stackframe.line.number": [359], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAADAxg"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["kthread"]} +{"create": {"_index": "profiling-stackframes", "_id": "DTQx8l7VJrszvdqL-9PytgAAAAAAAAAR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$authorize$3(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, java.lang.String, org.elasticsearch.action.ActionListener, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo)"], "Stackframe.line.number": [314], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "P7mHtlyIKp9O861pj2g7OwAAAAAAAAAd"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractThrottledTaskRunner.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.AbstractThrottledTaskRunner$1.doRun()"], "Stackframe.line.number": [134], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "BPzs7KzDmaKPMROQHmdZzAAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PrioritizedThrottledTaskRunner.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.PrioritizedThrottledTaskRunner$TaskWrapper.onResponse(java.lang.Object)"], "Stackframe.line.number": [27], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "GwvNKsXwAWDPAp3O-Td6NAAAAAAAAAAX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ProtectionDomain.java"], "Stackframe.function.name": ["boolean java.security.ProtectionDomain.impliesWithAltFilePerm(java.security.Permission)"], "Stackframe.line.number": [357], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "Ho9Mi8DG7FUtIimhU2yBagAAAAAAAABq"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixFileSystem.java"], "Stackframe.function.name": ["java.nio.file.Path sun.nio.fs.UnixFileSystem.getPath(java.lang.String, java.lang.String[])"], "Stackframe.line.number": [279], "Stackframe.function.offset": [16]} +{"create": {"_index": "profiling-stackframes", "_id": "wnSBrxGSumHiAQQABJeNtQAAAAAAAAAk"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReplicationTracker.java"], "Stackframe.function.name": ["void org.elasticsearch.index.seqno.ReplicationTracker.updateReplicationGroupAndNotify()"], "Stackframe.line.number": [994], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALbjV"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["vfs_statx"]} +{"create": {"_index": "profiling-stackframes", "_id": "AxJNlcXBvrgVOpR8a1WEYgAAAAAAAAG2"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["MainClientExec.java"], "Stackframe.function.name": ["org.apache.http.client.methods.CloseableHttpResponse org.apache.http.impl.execchain.MainClientExec.execute(org.apache.http.conn.routing.HttpRoute, org.apache.http.client.methods.HttpRequestWrapper, org.apache.http.client.protocol.HttpClientContext, org.apache.http.client.methods.HttpExecutionAware)"], "Stackframe.line.number": [236], "Stackframe.function.offset": [81]} +{"create": {"_index": "profiling-stackframes", "_id": "nrTqwGPzO0uzQD3C7T948wAAAAAAAAAP"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["java.lang.String com.fasterxml.jackson.dataformat.smile.SmileParser._decodeShortAsciiValue(int)"], "Stackframe.line.number": [2223], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "s-5AzRQS0AyjARcxs2D2DQAAAAAAAAAX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DirectMethodHandleAccessor.java"], "Stackframe.function.name": ["java.lang.Object jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.lang.Object, java.lang.Object[])"], "Stackframe.line.number": [104], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "Fuiq0RN8VMfwSLHsA6DzhAAAAAAAATq8"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../../../dbus/dbus-connection.c"], "Stackframe.function.name": ["dbus_connection_dispatch"], "Stackframe.line.number": [4703]} +{"create": {"_index": "profiling-stackframes", "_id": "XrSW2Ro9Ws10jZmj20O0hQAAAAAAAAAD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PublicationTransportHandler.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.coordination.PublicationTransportHandler.lambda$new$0(org.elasticsearch.transport.BytesTransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.tasks.Task)"], "Stackframe.line.number": [111], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "6KK4nudrIWi-u7NWSV5S7QAAAAAAAABn"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthenticatorChain.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authc.AuthenticatorChain.authenticateAsync(org.elasticsearch.xpack.security.authc.Authenticator$Context, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [102], "Stackframe.function.offset": [27]} +{"create": {"_index": "profiling-stackframes", "_id": "B0jzxgjaMAT2f_-sp0qKdQAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SnapshotShardsService.java"], "Stackframe.function.name": ["java.lang.String org.elasticsearch.snapshots.SnapshotShardsService.getShardStateId(org.elasticsearch.index.shard.IndexShard, org.apache.lucene.index.IndexCommit)"], "Stackframe.line.number": [409], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "BJKRobhikTEVTM_TJ5G21wAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Files.java"], "Stackframe.function.name": ["void java.nio.file.Files.delete(java.nio.file.Path)"], "Stackframe.line.number": [1152], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "_OOeQuiXtvgynmE43QMbEAAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileDispatcherImpl.java"], "Stackframe.function.name": ["int sun.nio.ch.FileDispatcherImpl.force0(java.io.FileDescriptor, boolean)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "UJLc0zscqzwPwar7clkaagAAAAAAAAAP"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NioSocketImpl.java"], "Stackframe.function.name": ["int sun.nio.ch.NioSocketImpl.implWrite(byte[], int, int)"], "Stackframe.line.number": [410], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAC6Xu"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["process_one_work"]} +{"create": {"_index": "profiling-stackframes", "_id": "w0BKBBEkfs3oopm7NSQhfQAAAAAAAADM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ConjunctionDISI.java"], "Stackframe.function.name": ["org.apache.lucene.search.DocIdSetIterator org.apache.lucene.search.ConjunctionDISI.createConjunction(java.util.List, java.util.List)"], "Stackframe.line.number": [119], "Stackframe.function.offset": [20]} +{"create": {"_index": "profiling-stackframes", "_id": "e8ARrqT9JmZcuLd6G8ZTMgAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SdkHttpClient.java"], "Stackframe.function.name": ["org.apache.http.HttpResponse com.amazonaws.http.apache.client.impl.SdkHttpClient.execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [72], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "YKWsiTTdS4chcntYalLpvQAAAAAAAAFD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessControlContext.java"], "Stackframe.function.name": ["void java.security.AccessControlContext.checkPermission(java.security.Permission)"], "Stackframe.line.number": [463], "Stackframe.function.offset": [56]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAF0JU"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__audit_inode"]} +{"create": {"_index": "profiling-stackframes", "_id": "ooplCYR951bf9t1YS6OUBQAAAAAAAACr"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CoordinationState.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishResponse org.elasticsearch.cluster.coordination.CoordinationState.handlePublishRequest(org.elasticsearch.cluster.coordination.PublishRequest)"], "Stackframe.line.number": [392], "Stackframe.function.offset": [27]} +{"create": {"_index": "profiling-stackframes", "_id": "xBi4pQ8utWGRmJVqaVBkxwAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["RepeatableInputStreamRequestEntity.java"], "Stackframe.function.name": ["void com.amazonaws.http.RepeatableInputStreamRequestEntity.writeTo(java.io.OutputStream)"], "Stackframe.line.number": [160], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "_eHurMk1AuWI20vPBelYUQAAAAAAAABR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DeflaterOutputStream.java"], "Stackframe.function.name": ["void java.util.zip.DeflaterOutputStream.write(byte[], int, int)"], "Stackframe.line.number": [210], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "epNUCeEe4JglhIlXIVE76AAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SnapshotShardsService.java"], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService.lambda$startNewSnapshots$1(java.util.List)"], "Stackframe.line.number": [244], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALW22"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["ksys_write"]} +{"create": {"_index": "profiling-stackframes", "_id": "gi_774C-EJhuJfyXXhzVgwAAAAAAAABE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(org.elasticsearch.cluster.ClusterChangedEvent, org.elasticsearch.cluster.service.ClusterApplierRecordingService$Recorder, java.util.Collection)"], "Stackframe.line.number": [553], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAMRwH"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["vfs_fsync_range"]} +{"create": {"_index": "profiling-stackframes", "_id": "DT06D5A7Yxiqx6IJ7Kvu0wAAAAAAAABI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECKeyPairGenerator.java"], "Stackframe.function.name": ["java.util.Optional sun.security.ec.ECKeyPairGenerator.generateKeyPairImpl(java.security.SecureRandom)"], "Stackframe.line.number": [194], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "hEBKqh2xU-RorWUVO4ewtQAAAAAAAADt"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Netty4WriteThrottlingHandler.java"], "Stackframe.function.name": ["boolean org.elasticsearch.transport.netty4.Netty4WriteThrottlingHandler.doFlush(io.netty.channel.ChannelHandlerContext)"], "Stackframe.line.number": [146], "Stackframe.function.offset": [33]} +{"create": {"_index": "profiling-stackframes", "_id": "3-s2ANt1vNwpWiAFGYs2eAAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$3.onResponse(java.lang.Object)"], "Stackframe.line.number": [394], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "SWMbBt07f_PdUThaE5iWmwAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityManager.java"], "Stackframe.function.name": ["void java.lang.SecurityManager.checkPermission(java.security.Permission)"], "Stackframe.line.number": [411], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "eL-oIR1CC2R0ykcUAAfoowAAAAAAAABT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Lucene90CompressingStoredFieldsWriter.java"], "Stackframe.function.name": ["void org.apache.lucene.codecs.lucene90.compressing.Lucene90CompressingStoredFieldsWriter.finish(int)"], "Stackframe.line.number": [486], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "vQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["/build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c"], "Stackframe.function.name": ["start_thread"], "Stackframe.line.number": [477]} +{"create": {"_index": "profiling-stackframes", "_id": "92JDYcQA4cXvpv7axYYOPwAAAAAAAAAo"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["XContentParserUtils.java"], "Stackframe.function.name": ["java.util.List org.elasticsearch.common.xcontent.XContentParserUtils.parseList(org.elasticsearch.xcontent.XContentParser, org.elasticsearch.core.CheckedFunction)"], "Stackframe.line.number": [177], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "SlqES-nwtjqDlYXOe7K1YAAAAAAAAAAJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SocketAccess.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.SocketAccess.doPrivilegedVoid(java.lang.Runnable)"], "Stackframe.line.number": [45], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "y6xtuPPjpVFeK4CXqSN6fQAAAAAAAAHc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Coordinator.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishWithJoinResponse org.elasticsearch.cluster.coordination.Coordinator.handlePublishRequest(org.elasticsearch.cluster.coordination.PublishRequest)"], "Stackframe.line.number": [437], "Stackframe.function.offset": [51]} +{"create": {"_index": "profiling-stackframes", "_id": "S5_Ae_ABcHEi_tFSU_YdMgAAAAAAAAC9"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ServerTransportFilter.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.ServerTransportFilter.inbound(java.lang.String, org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [104], "Stackframe.function.offset": [33]} +{"create": {"_index": "profiling-stackframes", "_id": "LSgILL0Q8I6llgRQX49QDQAAAAAAAADH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler.messageReceived(org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.tasks.Task)"], "Stackframe.line.number": [415], "Stackframe.function.offset": [48]} +{"create": {"_index": "profiling-stackframes", "_id": "B8SjIPdc3ZwlcMQD5LrUqAAAAAAAAACO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SslHandler.java"], "Stackframe.function.name": ["javax.net.ssl.SSLEngineResult io.netty.handler.ssl.SslHandler.wrap(io.netty.buffer.ByteBufAllocator, javax.net.ssl.SSLEngine, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf)"], "Stackframe.line.number": [1041], "Stackframe.function.offset": [33]} +{"create": {"_index": "profiling-stackframes", "_id": "Z7ZAUH4Eu0mE1Lr-7VKuiwAAAAAAAACg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexShardOperationPermits.java"], "Stackframe.function.name": ["void org.elasticsearch.index.shard.IndexShardOperationPermits.acquire(org.elasticsearch.action.ActionListener, java.lang.String, boolean, java.lang.Object, java.lang.StackTraceElement[])"], "Stackframe.line.number": [275], "Stackframe.function.offset": [44]} +{"create": {"_index": "profiling-stackframes", "_id": "UnU61_VzRQulrS0OJYkU7gAAAAAAAABa"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PersistedClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.PersistedClusterStateService$Writer.writeIncrementalStateAndCommit(long, org.elasticsearch.cluster.ClusterState, org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [912], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "Fq10nEfKWtXEt510UwEUUAAAAAAAAAB7"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PendingReplicationActions.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.PendingReplicationActions.acceptNewTrackedAllocationIds(java.util.Set)"], "Stackframe.line.number": [95], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAFEre"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["do_futex"]} +{"create": {"_index": "profiling-stackframes", "_id": "NeO57Qkcge62xvmelDstIAAAAAAAAAAo"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository$$Lambda$9113+0x00000008020df600.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "nVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadContext.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run()"], "Stackframe.line.number": [716], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "rg1U8-_Qg7P4zN0uZwHMZAAAAAAAAAAh"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SoftDeletesRetentionMergePolicy.java"], "Stackframe.function.name": ["org.apache.lucene.search.Scorer org.apache.lucene.index.SoftDeletesRetentionMergePolicy.getScorer(org.apache.lucene.search.Query, org.apache.lucene.index.CodecReader)"], "Stackframe.line.number": [149], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "hJgyhaKZ9eSJym5BMY7B2wAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$1.doRun()"], "Stackframe.line.number": [527], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "E0bQU1G2uDlA0HZGujxA9wAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SocketAccess.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.s3.SocketAccess.doPrivilegedIOException(java.security.PrivilegedExceptionAction)"], "Stackframe.line.number": [37], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "GUwipo03N4glyS6268EEmgAAAAAAAAAX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.read(java.lang.String, org.elasticsearch.common.blobstore.BlobContainer, java.lang.String, org.elasticsearch.xcontent.NamedXContentRegistry)"], "Stackframe.line.number": [121], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "6a5XWhjsuz26DnHoF0x5RwAAAAAAAABS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["org.elasticsearch.xcontent.ToXContent org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.deserialize(java.lang.String, org.elasticsearch.xcontent.NamedXContentRegistry, java.io.InputStream)"], "Stackframe.line.number": [112], "Stackframe.function.offset": [14]} +{"create": {"_index": "profiling-stackframes", "_id": "XjeOrvBx98FSmUHFqJE5JAAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["OutputStreamIndexOutput.java"], "Stackframe.function.name": ["void org.apache.lucene.store.OutputStreamIndexOutput.writeByte(byte)"], "Stackframe.line.number": [53], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "YxIrzYSolBsbC9VHbJjZmgAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["java.lang.Object com.amazonaws.services.s3.AmazonS3Client.invoke(com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, java.lang.String, java.lang.String)"], "Stackframe.line.number": [5000], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "FTD_DMq9LCr2rMh4XAWQegAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessController.java"], "Stackframe.function.name": ["java.lang.Object java.security.AccessController.doPrivileged(java.security.PrivilegedAction)"], "Stackframe.line.number": [318], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "YgOo_ePEdS6xTt4Sk9uAVQAAAAAAAABp"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.maybeAuthorizeRunAs(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, java.lang.String, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [413], "Stackframe.function.offset": [20]} +{"create": {"_index": "profiling-stackframes", "_id": "9UBMSNV9JIwVE7bRWf7rNAAAAAAAAACI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileParser._loadToHaveAtLeast(int)"], "Stackframe.line.number": [289], "Stackframe.function.offset": [15]} +{"create": {"_index": "profiling-stackframes", "_id": "KOnuKkBYBgm4HtfyhrUS2wAAAAAAAAC7"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ESPolicy.java"], "Stackframe.function.name": ["boolean org.elasticsearch.bootstrap.ESPolicy.implies(java.security.ProtectionDomain, java.security.Permission)"], "Stackframe.line.number": [122], "Stackframe.function.offset": [36]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALkCo"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["walk_component"]} +{"create": {"_index": "profiling-stackframes", "_id": "hYgsx8HjLzhm9LYVIHuquwAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InternalEngine.java"], "Stackframe.function.name": ["org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader org.elasticsearch.index.engine.InternalEngine$ExternalReaderManager.refreshIfNeeded(org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader)"], "Stackframe.line.number": [387], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAlcA7"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["tcp_sendmsg"]} +{"create": {"_index": "profiling-stackframes", "_id": "vQ7EacG6CR4rzcFaNFEsTQAAAAAAATk7"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["", "", "../sysdeps/unix/sysv/linux/fsync.c"], "Stackframe.function.name": ["fsync", "fsync", "fsync"], "Stackframe.line.number": [0, 0, 27]} +{"create": {"_index": "profiling-stackframes", "_id": "0iStdyhoG4WqQkJ1aFKZnQAAAAAAAAA1"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TieredMergePolicy.java"], "Stackframe.function.name": ["java.util.List org.apache.lucene.index.TieredMergePolicy.getSortedBySegmentSize(org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.MergePolicy$MergeContext)"], "Stackframe.line.number": [300], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "IWt15Ku8-XXZGHssEyOb_gAAAAAAAAAw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["RoleReferenceIntersection.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.core.security.authz.store.RoleReferenceIntersection.buildRole(java.util.function.BiConsumer, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [53], "Stackframe.function.offset": [13]} +{"create": {"_index": "profiling-stackframes", "_id": "MH4ZLlkHvkfZTK_KWydMDgAAAAAAAAC4"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository.snapshotShard(org.elasticsearch.repositories.SnapshotShardContext)"], "Stackframe.line.number": [2666], "Stackframe.function.offset": [25]} +{"create": {"_index": "profiling-stackframes", "_id": "qnvWBP24iZLcQ-Wi76ZDxQAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LockSupport.java"], "Stackframe.function.name": ["void java.util.concurrent.locks.LockSupport.unpark(java.lang.Thread)"], "Stackframe.line.number": [177], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "rDli4oCQ8GWnljRH2_1bLAAAAAAAAAEZ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLTransport.java"], "Stackframe.function.name": ["sun.security.ssl.Plaintext sun.security.ssl.SSLTransport.decode(sun.security.ssl.TransportContext, java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int)"], "Stackframe.line.number": [172], "Stackframe.function.offset": [62]} +{"create": {"_index": "profiling-stackframes", "_id": "tqJQIOovDd8UazKau6rQMwAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractChannelHandlerContext.java"], "Stackframe.function.name": ["void io.netty.channel.AbstractChannelHandlerContext.invokeFlush()"], "Stackframe.line.number": [907], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "N4c5sJszjyVzcx3AmWN8pwAAAAAAAADS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexShard.java"], "Stackframe.function.name": ["void org.elasticsearch.index.shard.IndexShard.updateShardState(org.elasticsearch.cluster.routing.ShardRouting, long, java.util.function.BiConsumer, long, java.util.Set, org.elasticsearch.cluster.routing.IndexShardRoutingTable)"], "Stackframe.line.number": [535], "Stackframe.function.offset": [24]} +{"create": {"_index": "profiling-stackframes", "_id": "3r1MnCyPIgP6mYXLoLcz9AAAAAAAAAAK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.cluster.coordination.PublicationTransportHandler$$Lambda$4630+0x000000080196cf18.messageReceived(org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.tasks.Task)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Kz3aUSMwqIxIxaAplngd8AAAAAAAAACX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndicesClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.indices.cluster.IndicesClusterStateService.updateShard(org.elasticsearch.cluster.node.DiscoveryNodes, org.elasticsearch.cluster.routing.ShardRouting, org.elasticsearch.indices.cluster.IndicesClusterStateService$Shard, org.elasticsearch.cluster.routing.RoutingTable, org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [614], "Stackframe.function.offset": [14]} +{"create": {"_index": "profiling-stackframes", "_id": "Csbq98qEMjLfznv89zxcQwAAAAAAAABA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Inflater.java"], "Stackframe.function.name": ["int java.util.zip.Inflater.inflate(byte[], int, int)"], "Stackframe.line.number": [373], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "d8JoiANFYdN_HlsRPvshMwAAAAAAAAAx"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PublicationTransportHandler.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishWithJoinResponse org.elasticsearch.cluster.coordination.PublicationTransportHandler$PublicationContext$1.get()"], "Stackframe.line.number": [388], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "zgecUfJLYoiYIxBtYNFbZwAAAAAAAAAo"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["XContentParserUtils.java"], "Stackframe.function.name": ["java.util.List org.elasticsearch.common.xcontent.XContentParserUtils.parseList(org.elasticsearch.xcontent.XContentParser, org.elasticsearch.core.CheckedFunction)"], "Stackframe.line.number": [178], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "Ao_nvps-se9i_u9kVJi0LQAAAAAAAAAK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.cluster.coordination.PublicationTransportHandler$$Lambda$4544+0x0000000801832cf8.messageReceived(org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.tasks.Task)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "BtfAnw52Zh-pzF1hN6odGgAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractRunnable.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.AbstractRunnable.run()"], "Stackframe.line.number": [26], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "zV-LQYJm41zGMkfXUp2AHgAAAAAAAAF_"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshot.java"], "Stackframe.function.name": ["org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo.fromXContent(org.elasticsearch.xcontent.XContentParser)"], "Stackframe.line.number": [312], "Stackframe.function.offset": [21]} +{"create": {"_index": "profiling-stackframes", "_id": "I9AUeiUn_SK_Dgdkbb3mdAAAAAAAAAAS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedInputStream.java"], "Stackframe.function.name": ["int java.io.BufferedInputStream.read(byte[], int, int)"], "Stackframe.line.number": [361], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "8iRqFHNeeA-Vq5mM-jaESgAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassPath.java"], "Stackframe.function.name": ["java.net.URL jdk.internal.loader.URLClassPath.findResource(java.lang.String, boolean)"], "Stackframe.line.number": [298], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "AFikCbtP_Dm7iUthjnlnEgAAAAAAAAEq"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.applyChanges(org.elasticsearch.cluster.ClusterState, org.elasticsearch.cluster.ClusterState, java.lang.String, org.elasticsearch.cluster.service.ClusterApplierRecordingService$Recorder)"], "Stackframe.line.number": [503], "Stackframe.function.offset": [25]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAUd51"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["_copy_from_iter_full"]} +{"create": {"_index": "profiling-stackframes", "_id": "4w-7ZRIHk2tM9RfD6v6f4gAAAAAAAAAV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["boolean com.fasterxml.jackson.dataformat.smile.SmileParser._loadMore()"], "Stackframe.line.number": [278], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAFz87"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__audit_syscall_exit"]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAlbpN"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["tcp_sendmsg_locked"]} +{"create": {"_index": "profiling-stackframes", "_id": "ZGKy7ArdiDfRv4uogAG0CQAAAAAAAAAz"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["org.elasticsearch.core.Tuple org.elasticsearch.repositories.blobstore.BlobStoreRepository.buildBlobStoreIndexShardSnapshots(java.util.Set, org.elasticsearch.common.blobstore.BlobContainer, org.elasticsearch.repositories.ShardGeneration)"], "Stackframe.line.number": [3416], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAmOK4"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["inet_sendmsg"]} +{"create": {"_index": "profiling-stackframes", "_id": "VWOUd0jMGfSYTm8Ns8_hDgAAAAAAAAME"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["long org.apache.lucene.index.IndexWriter.prepareCommitInternal()"], "Stackframe.line.number": [3460], "Stackframe.function.offset": [130]} +{"create": {"_index": "profiling-stackframes", "_id": "2Swt2qN1JJo2lNqpZIN9-wAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileDispatcherImpl.java"], "Stackframe.function.name": ["int sun.nio.ch.FileDispatcherImpl.write0(java.io.FileDescriptor, long, int)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "-FiXU0afkg-sRwubj2WiAwAAAAAAAla0"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../../../dbus/dbus-mainloop.c"], "Stackframe.function.name": ["_dbus_loop_dispatch"], "Stackframe.line.number": [532]} +{"create": {"_index": "profiling-stackframes", "_id": "oKMpPO_rrguOLYx8VBTGhgAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NamedGroup.java"], "Stackframe.function.name": ["sun.security.ssl.SSLPossession sun.security.ssl.NamedGroup.createPossession(java.security.SecureRandom)"], "Stackframe.line.number": [428], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "qND66z7potQhxSJ1H4ezHgAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NamedGroup.java"], "Stackframe.function.name": ["sun.security.ssl.SSLPossession sun.security.ssl.NamedGroup$ECDHEScheme.createPossession(sun.security.ssl.NamedGroup, java.security.SecureRandom)"], "Stackframe.line.number": [584], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "HJWDExCp8dmw9-CAF-WXfwAAAAAAAAAJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PersistedClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.PersistedClusterStateService$Writer.commit(long, long, org.elasticsearch.Version)"], "Stackframe.line.number": [1151], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "9ccfl0YdabzwSUY2PdYA0QAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECKeyPairGenerator.java"], "Stackframe.function.name": ["java.security.KeyPair sun.security.ec.ECKeyPairGenerator.generateKeyPair()"], "Stackframe.line.number": [149], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "ayyYx9DIcjy4NGNqpq88GQAAAAAAAAAP"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Store.java"], "Stackframe.function.name": ["void org.elasticsearch.index.store.Store$StoreDirectory.deleteFile(java.lang.String, java.lang.String)"], "Stackframe.line.number": [746], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "wEIfl0pGBuepuUcTwdKc2gAAAAAAAEJ_"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["./deflate.c"], "Stackframe.function.name": ["deflate_fast"], "Stackframe.line.number": [1902]} +{"create": {"_index": "profiling-stackframes", "_id": "pKAwMR-9-3afO3tccFzRKwAAAAAAAAIX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECOperations.java"], "Stackframe.function.name": ["void sun.security.ec.ECOperations.setDouble(sun.security.ec.point.ProjectivePoint$Mutable, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP)"], "Stackframe.line.number": [338], "Stackframe.function.offset": [43]} +{"create": {"_index": "profiling-stackframes", "_id": "JwuJ_YrJlPmIg66vmsQiFAAAAAAAAAAz"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthenticationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(java.lang.String, org.elasticsearch.transport.TransportRequest, boolean, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [199], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "mZJt6uLSgudylMZ0eHd7CAAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.s3.SocketAccess$$Lambda$8688+0x00000008020835a0.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "wRG5B2klLAxXtt0B9lVulAAAAAAAAAB-"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.serialize(java.lang.Object, java.lang.String, boolean, java.util.Map, java.io.OutputStream)"], "Stackframe.line.number": [386], "Stackframe.function.offset": [26]} +{"create": {"_index": "profiling-stackframes", "_id": "bnYc3RJmtKwpcpofJJsHfwAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ActionListener.java"], "Stackframe.function.name": ["void org.elasticsearch.action.ActionListener.run(org.elasticsearch.action.ActionListener, org.elasticsearch.core.CheckedConsumer)"], "Stackframe.line.number": [567], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "QTXwwuqN0mLb-8lqckiaTQAAAAAAB4Dj"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["xfs_ilock_attr_map_shared"]} +{"create": {"_index": "profiling-stackframes", "_id": "0GU5IksNSYIYre39EnRVtQAAAAAAAAAc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractXContentParser.java"], "Stackframe.function.name": ["long org.elasticsearch.xcontent.support.AbstractXContentParser.longValue(boolean)"], "Stackframe.line.number": [204], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "xmj6c8GMqxu-eoFnl7D4qwAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ArrayList.java"], "Stackframe.function.name": ["boolean java.util.ArrayList.add(java.lang.Object)"], "Stackframe.line.number": [466], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "-FiXU0afkg-sRwubj2WiAwAAAAAAAkK3"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../../../bus/signals.c", "../../../bus/signals.c"], "Stackframe.function.name": ["bus_matchmaker_get_recipients", "get_recipients_from_list"], "Stackframe.line.number": [2167, 2073]} +{"create": {"_index": "profiling-stackframes", "_id": "HSftxLHu5xLDzJX5F8kBXAAAAAAAAAGV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PublicationTransportHandler.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishWithJoinResponse org.elasticsearch.cluster.coordination.PublicationTransportHandler.handleIncomingPublishRequest(org.elasticsearch.transport.BytesTransportRequest)"], "Stackframe.line.number": [225], "Stackframe.function.offset": [52]} +{"create": {"_index": "profiling-stackframes", "_id": "RoDaQXQoj9oJAPcF2bxG2gAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.xpack.core.security.authz.store.RoleReferenceIntersection$$Lambda$7790+0x0000000802546600.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "SLSuJBznTE3BvHPDUjF7JgAAAAAAAABq"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SoftDeletesRetentionMergePolicy.java"], "Stackframe.function.name": ["int org.apache.lucene.index.SoftDeletesRetentionMergePolicy.numDeletesToMerge(org.apache.lucene.index.SegmentCommitInfo, int, org.apache.lucene.util.IOSupplier)"], "Stackframe.line.number": [164], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "ds9yTvk8UzKAgDSjs6pNkgAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3BlobContainer.java"], "Stackframe.function.name": ["java.io.InputStream org.elasticsearch.repositories.s3.S3BlobContainer.readBlob(java.lang.String)"], "Stackframe.line.number": [95], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Uu1pGUpLQ35aan6Rej1VEwAAAAAAAADJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ServerTransportFilter.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.ServerTransportFilter$NodeProfile.inbound(java.lang.String, org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [128], "Stackframe.function.offset": [33]} +{"create": {"_index": "profiling-stackframes", "_id": "d0aX3KonLcPjMEO-H4cl5QAAAAAAAACD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["GatewayMetaState.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.GatewayMetaState$LucenePersistedState.setLastAcceptedState(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [593], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "7TfJIA5ukUl_URVlhByP5QAAAAAAAAAu"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ArrayList.java"], "Stackframe.function.name": ["void java.util.ArrayList.forEach(java.util.function.Consumer)"], "Stackframe.line.number": [1511], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "pKAwMR-9-3afO3tccFzRKwAAAAAAAAEn"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECOperations.java"], "Stackframe.function.name": ["void sun.security.ec.ECOperations.setDouble(sun.security.ec.point.ProjectivePoint$Mutable, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP)"], "Stackframe.line.number": [316], "Stackframe.function.offset": [21]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALkVr"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["link_path_walk.part.33"]} +{"create": {"_index": "profiling-stackframes", "_id": "86ShTOKEhMBNNZND3RBl5QAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PublicationTransportHandler.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.cluster.coordination.PublicationTransportHandler$PublicationContext$1.get()"], "Stackframe.line.number": [377], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "fhsEKXDuxJ-jIJrZpdRuSAAAAAAAAKGd"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["./inflate.c"], "Stackframe.function.name": ["inflate"], "Stackframe.line.number": [1076]} +{"create": {"_index": "profiling-stackframes", "_id": "BULXlXluMevM23wGn-scGgAAAAAAAABI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient.execute(com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, com.amazonaws.http.HttpResponseHandler, com.amazonaws.http.ExecutionContext, com.amazonaws.RequestConfig)"], "Stackframe.line.number": [561], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "wEIfl0pGBuepuUcTwdKc2gAAAAAAAFtj"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["./deflate.c", "./deflate.c"], "Stackframe.function.name": ["deflate", "deflate"], "Stackframe.line.number": [825, 1066]} +{"create": {"_index": "profiling-stackframes", "_id": "1QVyanYcPpNfuP3xZ0ogLQAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CPoolProxy.java"], "Stackframe.function.name": ["void org.apache.http.impl.conn.CPoolProxy.sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest)"], "Stackframe.line.number": [152], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "7MyQRgXoynWLAIL3MMBcgwAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService$$Lambda$10694+0x0000000802972d18.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ie51PKalSPz0oTw25hOjdgAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["java.lang.Object com.amazonaws.services.s3.AmazonS3Client.invoke(com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, java.lang.String, java.lang.String)"], "Stackframe.line.number": [5403], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "_B6c9784WlLvFF9uk3pSswAAAAAAAAAc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer()"], "Stackframe.line.number": [781], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "GUEIf0h4CmbF3WXaliniYgAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadExecutorMap.java"], "Stackframe.function.name": ["void io.netty.util.internal.ThreadExecutorMap$2.run()"], "Stackframe.line.number": [74], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "GV9odb7eqAONOiRGAnVZsQAAAAAAAAFY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DocumentsWriterPerThread.java"], "Stackframe.function.name": ["org.apache.lucene.index.DocumentsWriterPerThread$FlushedSegment org.apache.lucene.index.DocumentsWriterPerThread.flush(org.apache.lucene.index.DocumentsWriter$FlushNotifications)"], "Stackframe.line.number": [392], "Stackframe.function.offset": [49]} +{"create": {"_index": "profiling-stackframes", "_id": "wEIfl0pGBuepuUcTwdKc2gAAAAAAAJF2"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["", "", "./inffast.c"], "Stackframe.function.name": ["inflate_fast", "inflate_fast", "inflate_fast"], "Stackframe.line.number": [0, 0, 171]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALb_l"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__x64_sys_newlstat"]} +{"create": {"_index": "profiling-stackframes", "_id": "n0mWG92K0zbUz5S-_ixlIAAAAAAAAABr"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["MainClientExec.java"], "Stackframe.function.name": ["void org.apache.http.impl.execchain.MainClientExec.establishRoute(org.apache.http.auth.AuthState, org.apache.http.HttpClientConnection, org.apache.http.conn.routing.HttpRoute, org.apache.http.HttpRequest, org.apache.http.client.protocol.HttpClientContext)"], "Stackframe.line.number": [393], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALTsY"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__vfs_write"]} +{"create": {"_index": "profiling-stackframes", "_id": "0Ju-cCCi3kHxLcKkTtnYSAAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixPath.java"], "Stackframe.function.name": ["void sun.nio.fs.UnixPath.checkNotNul(java.lang.String, char)"], "Stackframe.line.number": [89], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "etyLdtogTiVt3WXDEehDtAAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportShardRefreshAction.java"], "Stackframe.function.name": ["void org.elasticsearch.action.admin.indices.refresh.TransportShardRefreshAction.shardOperationOnPrimary(org.elasticsearch.action.support.replication.ReplicationRequest, org.elasticsearch.index.shard.IndexShard, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [41], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "dWyxTJ01gHAXEF1z9sDOKwAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$3.onResponse(java.lang.Void)"], "Stackframe.line.number": [404], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "BASYhiEtRRk5wvHC9yWtCgAAAAAAAABV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PublicationTransportHandler.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishWithJoinResponse org.elasticsearch.cluster.coordination.PublicationTransportHandler.acceptState(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [242], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "AE1Q7tv3S3rfQh4l5ABt6AAAAAAAAABn"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SslHandler.java"], "Stackframe.function.name": ["void io.netty.handler.ssl.SslHandler.wrap(io.netty.channel.ChannelHandlerContext, boolean)"], "Stackframe.line.number": [828], "Stackframe.function.offset": [19]} +{"create": {"_index": "profiling-stackframes", "_id": "p_sL8jeyDjPZI0awM1-lMQAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileDescriptor.java"], "Stackframe.function.name": ["void java.io.FileDescriptor$1.close(java.io.FileDescriptor)"], "Stackframe.line.number": [88], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "DnrzOZkhcnoTNvvkP1TdqAAAAAAAAAAi"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassPath.java"], "Stackframe.function.name": ["jdk.internal.loader.Resource jdk.internal.loader.URLClassPath$JarLoader.getResource(java.lang.String, boolean)"], "Stackframe.line.number": [961], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "6QvV8Ag8LiqGHdRYVptEnwAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CleanerImpl.java"], "Stackframe.function.name": ["void jdk.internal.ref.CleanerImpl$PhantomCleanableRef.performCleanup()"], "Stackframe.line.number": [178], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "SNDYMaokxZpNhjFZnC0cqQAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(com.amazonaws.http.AmazonHttpClient$RequestExecutor)"], "Stackframe.line.number": [715], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAFzaR"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["audit_filter_syscall.constprop.19"]} +{"create": {"_index": "profiling-stackframes", "_id": "ySBUSdLpTE4kxptOyYACMwAAAAAAAACH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DocumentsWriter.java"], "Stackframe.function.name": ["boolean org.apache.lucene.index.DocumentsWriter.doFlush(org.apache.lucene.index.DocumentsWriterPerThread)"], "Stackframe.line.number": [493], "Stackframe.function.offset": [37]} +{"create": {"_index": "profiling-stackframes", "_id": "HH3S5b5wm0-iwMj6LUThxAAAAAAAAAAy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3BlobContainer.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3BlobContainer.writeBlob(java.lang.String, boolean, boolean, org.elasticsearch.core.CheckedConsumer)"], "Stackframe.line.number": [211], "Stackframe.function.offset": [72]} +{"create": {"_index": "profiling-stackframes", "_id": "gvYbo0YBmE65VwrpTWYalQAAAAAAAAB2"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndicesClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.indices.cluster.IndicesClusterStateService.applyClusterState(org.elasticsearch.cluster.ClusterChangedEvent)"], "Stackframe.line.number": [231], "Stackframe.function.offset": [31]} +{"create": {"_index": "profiling-stackframes", "_id": "mYNktaRFRY0plnRBTkItUgAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["StandardDirectoryReader.java"], "Stackframe.function.name": ["org.apache.lucene.index.DirectoryReader org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(org.apache.lucene.index.IndexCommit)"], "Stackframe.line.number": [355], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "fo33a47SQa_ikvx14Wo6GwAAAAAAAAAx"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractChannelHandlerContext.java"], "Stackframe.function.name": ["void io.netty.channel.AbstractChannelHandlerContext.invokeFlush0()"], "Stackframe.line.number": [925], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "nGPKMkILxfXIjt9GRbMXwAAAAAAAAABY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractPipeline.java"], "Stackframe.function.name": ["java.lang.Object java.util.stream.AbstractPipeline.evaluate(java.util.stream.TerminalOp)"], "Stackframe.line.number": [234], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "V2OKkEZQbgFjMzVwaTkytwAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService$UpdateTask.run()"], "Stackframe.line.number": [154], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "2i9E7A7hICqdU2K3ciAqMgAAAAAAAAFL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndicesAliasesRequestInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.IndicesAliasesRequestInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [124], "Stackframe.function.offset": [65]} +{"create": {"_index": "profiling-stackframes", "_id": "WE9wZHWs5kC-tWUiTpjMyQAAAAAAAAA2"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileParser._finishNumberToken(int)"], "Stackframe.line.number": [2058], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "HTWghk6sgAJ14g_dZIR1agAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LockValidatingDirectoryWrapper.java"], "Stackframe.function.name": ["void org.apache.lucene.store.LockValidatingDirectoryWrapper.deleteFile(java.lang.String)"], "Stackframe.line.number": [37], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "wRQstrBYZ0ShmJnYV-ADrQAAAAAAAAFL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.runTask(java.lang.String, java.util.function.Function, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [428], "Stackframe.function.offset": [44]} +{"create": {"_index": "profiling-stackframes", "_id": "KTge2icH_VE2kyqCeDCWXgAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService$AuthorizationResultListener.onResponse(java.lang.Object)"], "Stackframe.line.number": [952], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "agUnXAr2_hsl_qyYsSOrqQAAAAAAAABc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexTemplateRegistry.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.core.template.IndexTemplateRegistry.addComposableTemplatesIfMissing(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [294], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "kxggmTmW48eX63B51-tv4wAAAAAAAAEE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexingChain.java"], "Stackframe.function.name": ["org.apache.lucene.index.Sorter$DocMap org.apache.lucene.index.IndexingChain.flush(org.apache.lucene.index.SegmentWriteState)"], "Stackframe.line.number": [281], "Stackframe.function.offset": [40]} +{"create": {"_index": "profiling-stackframes", "_id": "PQiF41WruwXqpcujdafqogAAAAAAAAAl"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InflaterInputStream.java"], "Stackframe.function.name": ["int java.util.zip.InflaterInputStream.read(byte[], int, int)"], "Stackframe.line.number": [153], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "5jDiO_Lgv2e10LojWCULCwAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixChannelFactory.java"], "Stackframe.function.name": ["java.nio.channels.FileChannel sun.nio.fs.UnixChannelFactory.newFileChannel(sun.nio.fs.UnixPath, java.util.Set, int)"], "Stackframe.line.number": [146], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALpP6"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["do_filp_open"]} +{"create": {"_index": "profiling-stackframes", "_id": "NW0MvXdcfyNB_rjxH_JHXgAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLHandshake.java"], "Stackframe.function.name": ["byte[] sun.security.ssl.SSLHandshake.produce(sun.security.ssl.ConnectionContext, sun.security.ssl.SSLHandshake$HandshakeMessage)"], "Stackframe.line.number": [440], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "VlTLE-LbC-qAF2rlk-BxLQAAAAAAAABI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLEngineOutputRecord.java"], "Stackframe.function.name": ["sun.security.ssl.Ciphertext sun.security.ssl.SSLEngineOutputRecord.encode(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int)"], "Stackframe.line.number": [189], "Stackframe.function.offset": [16]} +{"create": {"_index": "profiling-stackframes", "_id": "3X9PCd1tVPhzrMiwigfodgAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Unsafe.java"], "Stackframe.function.name": ["void jdk.internal.misc.Unsafe.unpark(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "CGeCGw7geerub3AylJt7SwAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["JsonXContentParser.java"], "Stackframe.function.name": ["java.lang.String org.elasticsearch.xcontent.provider.json.JsonXContentParser.text()"], "Stackframe.line.number": [106], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "0vAOoRRxsQcS4vDapC3-mwAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LinkedTransferQueue.java"], "Stackframe.function.name": ["boolean java.util.concurrent.LinkedTransferQueue$Node.tryMatch(java.lang.Object, java.lang.Object)"], "Stackframe.line.number": [448], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "SPBSRBf5-JQ_B0HnmSeY4AAAAAAAAACL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["org.apache.lucene.index.DirectoryReader org.apache.lucene.index.IndexWriter.getReader(boolean, boolean)"], "Stackframe.line.number": [570], "Stackframe.function.offset": [71]} +{"create": {"_index": "profiling-stackframes", "_id": "x88iiyZQ8B1lQnhTbyrEkwAAAAAAAACN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexWriter.finishCommit()"], "Stackframe.line.number": [4097], "Stackframe.function.offset": [32]} +{"create": {"_index": "profiling-stackframes", "_id": "bt6Ho82qwuZ3iDZme91J3QAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DeflaterOutputStream.java"], "Stackframe.function.name": ["void java.util.zip.DeflaterOutputStream.deflate()"], "Stackframe.line.number": [259], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "wnSBrxGSumHiAQQABJeNtQAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReplicationTracker.java"], "Stackframe.function.name": ["void org.elasticsearch.index.seqno.ReplicationTracker.updateReplicationGroupAndNotify()"], "Stackframe.line.number": [992], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "45faa5L8TTwA9zJYlmGKywAAAAAAAAAU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Invokers$Holder"], "Stackframe.function.name": ["java.lang.Object java.lang.invoke.Invokers$Holder.invokeExact_MT(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "TfYUtN-rf_0uYWSYAHKfDQAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateListeners(org.elasticsearch.cluster.ClusterChangedEvent, org.elasticsearch.cluster.service.ClusterApplierRecordingService$Recorder)"], "Stackframe.line.number": [559], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "eC3OrXu_7VLA9EdCZMRh6AAAAAAAAAGd"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexWriter.startCommit(org.apache.lucene.index.SegmentInfos)"], "Stackframe.line.number": [5518], "Stackframe.function.offset": [80]} +{"create": {"_index": "profiling-stackframes", "_id": "PvkUluf_nN5PcG5RTjFmTgAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CodecUtil.java"], "Stackframe.function.name": ["void org.apache.lucene.codecs.CodecUtil.writeBELong(org.apache.lucene.store.DataOutput, long)"], "Stackframe.line.number": [661], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "i1t0pdr_xnHfk_UsEnpDiwAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLSocketImpl.java"], "Stackframe.function.name": ["int sun.security.ssl.SSLSocketImpl.readHandshakeRecord()"], "Stackframe.line.number": [1425], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "7wrMCA1tiwccLQqKJr9yEwAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.lambda$write$0(org.elasticsearch.xcontent.ToXContent, java.lang.String, boolean, java.util.Map, java.io.OutputStream)"], "Stackframe.line.number": [292], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "iM0ISMJkW1PbadMrIfDN5gAAAAAAAAAZ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["HttpRequestExecutor.java"], "Stackframe.function.name": ["org.apache.http.HttpResponse org.apache.http.protocol.HttpRequestExecutor.execute(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [123], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "0Pih7Ldp-yyaIKsINSnPvQAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileParser._finishLong()"], "Stackframe.line.number": [2170], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "ySPx-89oJ6TfXYn-uir7mQAAAAAAAABc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadPoolExecutor.java"], "Stackframe.function.name": ["void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker)"], "Stackframe.line.number": [1136], "Stackframe.function.offset": [20]} +{"create": {"_index": "profiling-stackframes", "_id": "AtOKW4aoAdMhmd7GyZi8TAAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ElasticsearchReaderManager.java"], "Stackframe.function.name": ["org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader org.elasticsearch.index.engine.ElasticsearchReaderManager.refreshIfNeeded(org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader)"], "Stackframe.line.number": [48], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "C-DRD-J_UvsXUc59TOzOVAAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.cluster.coordination.Coordinator$$Lambda$4627+0x000000080196c3c8.apply(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "DP-R410tjxklQGgyNbSilQAAAAAAAADK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["HashMap.java"], "Stackframe.function.name": ["java.lang.Object java.util.HashMap.computeIfAbsent(java.lang.Object, java.util.function.Function)"], "Stackframe.line.number": [1228], "Stackframe.function.offset": [31]} +{"create": {"_index": "profiling-stackframes", "_id": "TC2QqZAb8KnizCTsnAuCGgAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassLoader.java"], "Stackframe.function.name": ["java.net.URL java.net.URLClassLoader.findResource(java.lang.String)"], "Stackframe.line.number": [626], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAKgJ7"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["kmem_cache_alloc"]} +{"create": {"_index": "profiling-stackframes", "_id": "3Opn5CZ2iYMPW1WE6HYQfAAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Collections.java"], "Stackframe.function.name": ["boolean java.util.Collections$UnmodifiableCollection$1.hasNext()"], "Stackframe.line.number": [1053], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "luqtQRsIjOPWY7wdgiD4bAAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.lambda$write$0(java.lang.Object, java.lang.String, boolean, java.util.Map, java.io.OutputStream)"], "Stackframe.line.number": [346], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "fhsEKXDuxJ-jIJrZpdRuSAAAAAAAAEJ_"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["./deflate.c"], "Stackframe.function.name": ["deflate_fast"], "Stackframe.line.number": [1902]} +{"create": {"_index": "profiling-stackframes", "_id": "OkkiwQ9aM2OL-oHoBjLvhAAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReferenceManager.java"], "Stackframe.function.name": ["void org.apache.lucene.search.ReferenceManager.maybeRefreshBlocking()"], "Stackframe.line.number": [240], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "q5h54Kb3U85YSjTzRyaF_gAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReferenceManager.java"], "Stackframe.function.name": ["void org.apache.lucene.search.ReferenceManager.doMaybeRefresh()"], "Stackframe.line.number": [167], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "EBqXZsoPGK2F0IF3gcVlzwAAAAAAAAAa"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ActionListener.java"], "Stackframe.function.name": ["void org.elasticsearch.action.ActionListener$MappedActionListener.onResponse(java.lang.Object)"], "Stackframe.line.number": [101], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALpFF"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["user_path_at_empty"]} +{"create": {"_index": "profiling-stackframes", "_id": "eOepQqcpphM0NTbieX0wIgAAAAAAAAE4"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Coordinator.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishWithJoinResponse org.elasticsearch.cluster.coordination.Coordinator.handlePublishRequest(org.elasticsearch.cluster.coordination.PublishRequest)"], "Stackframe.line.number": [459], "Stackframe.function.offset": [46]} +{"create": {"_index": "profiling-stackframes", "_id": "7z0vK5_lN4w4BvVehfj4wQAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FSDirectory.java"], "Stackframe.function.name": ["void org.apache.lucene.store.FSDirectory.fsync(java.lang.String)"], "Stackframe.line.number": [331], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ReKfR-5xbP5LM4-DWXoUigAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DeflaterOutputStream.java"], "Stackframe.function.name": ["void java.util.zip.DeflaterOutputStream.deflate()"], "Stackframe.line.number": [253], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "7pNlbTUIFAGF4ew35tQ1mAAAAAAAAABA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.runRequestInterceptors(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [597], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "1XoENb4qIQOXPbHVVVKpqgAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexShard.java"], "Stackframe.function.name": ["void org.elasticsearch.index.shard.IndexShard.lambda$wrapPrimaryOperationPermitListener$25(org.elasticsearch.action.ActionListener, org.elasticsearch.core.Releasable)"], "Stackframe.line.number": [3354], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "id_Nq5V40zsa5EMiEnSMswAAAAAAAAA0"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NioSocketImpl.java"], "Stackframe.function.name": ["void sun.nio.ch.NioSocketImpl.write(byte[], int, int)"], "Stackframe.line.number": [437], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "QkrVHFzrrNPXJryM_udmYQAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SocketAccess.java"], "Stackframe.function.name": ["java.lang.Void org.elasticsearch.repositories.s3.SocketAccess.lambda$doPrivilegedVoid$0(java.lang.Runnable)"], "Stackframe.line.number": [46], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "zY8oFom0Mq0j4EO6ho2wLAAAAAAAAAME"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["long org.apache.lucene.index.IndexWriter.prepareCommitInternal()"], "Stackframe.line.number": [3715], "Stackframe.function.offset": [143]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAMRyc"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["do_fsync"]} +{"create": {"_index": "profiling-stackframes", "_id": "5TLUwI_khEb2-zaj4FK_ZQAAAAAAAAAa"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DigestBase.java"], "Stackframe.function.name": ["void sun.security.provider.DigestBase.engineUpdate(byte[], int, int)"], "Stackframe.line.number": [111], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALW4J"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__x64_sys_write"]} +{"create": {"_index": "profiling-stackframes", "_id": "sE8Y8IrvW4YwnRePcOob7gAAAAAAAADr"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.authorizeAction(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, java.lang.String, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [476], "Stackframe.function.offset": [53]} +{"create": {"_index": "profiling-stackframes", "_id": "CgEj6Rp3n26KLxmeHzazOAAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixFileAttributes.java"], "Stackframe.function.name": ["sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixFileAttributes.get(sun.nio.fs.UnixPath, boolean)"], "Stackframe.line.number": [72], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "l4dVCOTlRJdBiyQ88Tx8OQAAAAAAAABR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["int com.fasterxml.jackson.dataformat.smile.SmileParser._fourBytesToIntSlow()"], "Stackframe.line.number": [2237], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "4jtFwV4I0VFxZ633CiXAEQAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IntegerPolynomialP256.java"], "Stackframe.function.name": ["void sun.security.util.math.intpoly.IntegerPolynomialP256.carryReduce0(long[], long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)"], "Stackframe.line.number": [170], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "HbnRCcPqpeCpFx8D1c3dbgAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FilterDirectoryReader.java"], "Stackframe.function.name": ["org.apache.lucene.index.DirectoryReader org.apache.lucene.index.FilterDirectoryReader.doOpenIfChanged()"], "Stackframe.line.number": [112], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "NWk7GQCtDStIuwl83iGqTwAAAAAAAAAv"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PersistedClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.PersistedClusterStateService$Writer.commit(long, long, org.elasticsearch.Version)"], "Stackframe.line.number": [941], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "acnJzC_C1bsmTPMH_pcsCAAAAAAAAABd"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexTemplateRegistry.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.core.template.IndexTemplateRegistry.clusterChanged(org.elasticsearch.cluster.ClusterChangedEvent)"], "Stackframe.line.number": [187], "Stackframe.function.offset": [25]} +{"create": {"_index": "profiling-stackframes", "_id": "UMvK1DDwEUhXYDkQsZey_gAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportShardRefreshAction.java"], "Stackframe.function.name": ["void org.elasticsearch.action.admin.indices.refresh.TransportShardRefreshAction.shardOperationOnPrimary(org.elasticsearch.action.support.replication.BasicReplicationRequest, org.elasticsearch.index.shard.IndexShard, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [90], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "a9pOxt0fqv_QTtBRBlV_8QAAAAAAAAAl"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InternalEngine.java"], "Stackframe.function.name": ["org.elasticsearch.index.engine.Engine$RefreshResult org.elasticsearch.index.engine.InternalEngine.refresh(java.lang.String, org.elasticsearch.index.engine.Engine$SearcherScope, boolean)"], "Stackframe.line.number": [1860], "Stackframe.function.offset": [13]} +{"create": {"_index": "profiling-stackframes", "_id": "yTY-WlmajV5YhETL2qC3jgAAAAAAAAAd"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexWriter$IndexWriterMergeSource.merge(org.apache.lucene.index.MergePolicy$OneMerge)"], "Stackframe.line.number": [6432], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "EIxfgHbDbI5dElFzd3Ha-QAAAAAAAAAZ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PendingReplicationActions.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.PendingReplicationActions.accept(org.elasticsearch.index.shard.ReplicationGroup)"], "Stackframe.line.number": [71], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "TyZK4BUMsPg3P3wu6EYhkAAAAAAAAAB6"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PersistedClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.PersistedClusterStateService$MetadataIndexWriter.prepareCommit(java.lang.String, long, long, org.elasticsearch.Version)"], "Stackframe.line.number": [799], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "3V-8FLy1GH8nVRceMDeaiwAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PrioritizedEsThreadPoolExecutor.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(java.lang.Runnable)"], "Stackframe.line.number": [262], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Unm7y6YLik7WuESK-9BXmgAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileChannel.java"], "Stackframe.function.name": ["java.nio.channels.FileChannel java.nio.channels.FileChannel.open(java.nio.file.Path, java.util.Set, java.nio.file.attribute.FileAttribute[])"], "Stackframe.line.number": [304], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "zZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadPoolExecutor.java"], "Stackframe.function.name": ["void java.util.concurrent.ThreadPoolExecutor$Worker.run()"], "Stackframe.line.number": [635], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "5IpWfunjiW7HmwJPoVX8WQAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["MatchOps.java"], "Stackframe.function.name": ["java.lang.Boolean java.util.stream.MatchOps$MatchOp.evaluateSequential(java.util.stream.PipelineHelper, java.util.Spliterator)"], "Stackframe.line.number": [230], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ytcfMbv--KUIhYho462CJAAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Thread.java"], "Stackframe.function.name": ["void java.lang.Thread.run()"], "Stackframe.line.number": [1589], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "eWbRBA5HjtSejwiG_37xQwAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["GaloisCounterMode.java"], "Stackframe.function.name": ["int com.sun.crypto.provider.GaloisCounterMode.engineGetOutputSize(int)"], "Stackframe.line.number": [204], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "bzjbwk-dGTAEYzErTwuuOQAAAAAAAADg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BulkShardRequestInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.BulkShardRequestInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [85], "Stackframe.function.offset": [34]} +{"create": {"_index": "profiling-stackframes", "_id": "N1GpN_XYj7AoDd4ql2RyHgAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$static$3(java.lang.String, org.elasticsearch.xcontent.XContentParser)"], "Stackframe.line.number": [303], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "S271rVNO8pQHfSRu8D2-7gAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DirectoryReader.java"], "Stackframe.function.name": ["org.apache.lucene.index.DirectoryReader org.apache.lucene.index.DirectoryReader.openIfChanged(org.apache.lucene.index.DirectoryReader)"], "Stackframe.line.number": [170], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "yhAKi3MXCBa6QbMykpz9ogAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ActionRunnable.java"], "Stackframe.function.name": ["void org.elasticsearch.action.ActionRunnable$3.doRun()"], "Stackframe.line.number": [72], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "KtHBJ2R0vuuTX50F8kgGAgAAAAAAAAAh"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileGenerator.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileGenerator._flushBuffer()"], "Stackframe.line.number": [2585], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "YIa5zXbUOkdcfY3BuS_SLwAAAAAAAAAK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.TransportReplicationAction$$Lambda$5077+0x00000008020bf4b8.messageReceived(org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.tasks.Task)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "q8pCDW17i5MKeUo5LLv96QAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassLoader.java"], "Stackframe.function.name": ["java.lang.Object java.net.URLClassLoader$2.run()"], "Stackframe.line.number": [627], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "PiSwsMqyjn24GnxXwBvfuQAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["long org.apache.lucene.index.IndexWriter.prepareCommit()"], "Stackframe.line.number": [3535], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "GabeEr60puRs20AAHoWA0AAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReferencePipeline.java"], "Stackframe.function.name": ["boolean java.util.stream.ReferencePipeline.anyMatch(java.util.function.Predicate)"], "Stackframe.line.number": [632], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "TrTEyZn7B30gBbM8MLULSQAAAAAAAADA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IOUtils.java"], "Stackframe.function.name": ["void org.apache.lucene.util.IOUtils.fsync(java.nio.file.Path, boolean)"], "Stackframe.line.number": [483], "Stackframe.function.offset": [22]} +{"create": {"_index": "profiling-stackframes", "_id": "FERPJCfrzkqs-7XhU53jhwAAAAAAAAFt"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLConnectionSocketFactory.java"], "Stackframe.function.name": ["java.net.Socket org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(java.net.Socket, java.lang.String, int, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [436], "Stackframe.function.offset": [43]} +{"create": {"_index": "profiling-stackframes", "_id": "1PIPTBbtPHUrg0d3N2nuygAAAAAAAABB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SdkTLSSocketFactory.java"], "Stackframe.function.name": ["java.net.Socket com.amazonaws.http.conn.ssl.SdkTLSSocketFactory.connectSocket(int, java.net.Socket, org.apache.http.HttpHost, java.net.InetSocketAddress, java.net.InetSocketAddress, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [142], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "aBWoLwWk5u6kqgD3gwKyagAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat$$Lambda$10706+0x0000000802977208.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "-lMJxP-0bZiF5XB2gMdbVwAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["java.lang.Object com.amazonaws.services.s3.AmazonS3Client.access$300(com.amazonaws.services.s3.AmazonS3Client, com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, java.lang.String, java.lang.String)"], "Stackframe.line.number": [394], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "duOfgYTG-Pz3qxfosjBOKgAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SocketAccess.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.s3.SocketAccess.doPrivileged(java.security.PrivilegedAction)"], "Stackframe.line.number": [31], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "BjycB5yXrYLMnUcjhbPq2gAAAAAAAAAn"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedInputStream.java"], "Stackframe.function.name": ["int java.io.BufferedInputStream.read1(byte[], int, int)"], "Stackframe.line.number": [308], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "7F9XBiRMgggoDE1ZbLLQRgAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["MessageDigest.java"], "Stackframe.function.name": ["void java.security.MessageDigest$Delegate.engineUpdate(byte[], int, int)"], "Stackframe.line.number": [654], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "qzJXUPlBwNnFY2QMV7wpwgAAAAAAAACF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Deflater.java"], "Stackframe.function.name": ["int java.util.zip.Deflater.deflate(byte[], int, int, int)"], "Stackframe.line.number": [582], "Stackframe.function.offset": [25]} +{"create": {"_index": "profiling-stackframes", "_id": "6TUXIWC2WcF-_43xKp-wtQAAAAAAAAET"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CoordinationState.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishResponse org.elasticsearch.cluster.coordination.CoordinationState.handlePublishRequest(org.elasticsearch.cluster.coordination.PublishRequest)"], "Stackframe.line.number": [413], "Stackframe.function.offset": [36]} +{"create": {"_index": "profiling-stackframes", "_id": "tXdLdOQIv2CEGExsyL_epQAAAAAAAAC4"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedInputStream.java"], "Stackframe.function.name": ["void java.io.BufferedInputStream.fill()"], "Stackframe.line.number": [244], "Stackframe.function.offset": [32]} +{"create": {"_index": "profiling-stackframes", "_id": "8iRqFHNeeA-Vq5mM-jaESgAAAAAAAAAR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassPath.java"], "Stackframe.function.name": ["java.net.URL jdk.internal.loader.URLClassPath.findResource(java.lang.String, boolean)"], "Stackframe.line.number": [299], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "yaSy1RHb0tl4hOkUXXLXQQAAAAAAAAAz"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["org.elasticsearch.core.Tuple org.elasticsearch.repositories.blobstore.BlobStoreRepository.buildBlobStoreIndexShardSnapshots(java.util.Set, org.elasticsearch.common.blobstore.BlobContainer, org.elasticsearch.repositories.ShardGeneration)"], "Stackframe.line.number": [3439], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "Z737A4mvoWuasLPvz8LMuAAAAAAAAABD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.warnAboutSlowTaskIfNeeded(org.elasticsearch.core.TimeValue, java.lang.String, org.elasticsearch.cluster.service.ClusterApplierRecordingService$Recorder)"], "Stackframe.line.number": [615], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "-FiXU0afkg-sRwubj2WiAwAAAAAAAmE0"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../../../dbus/dbus-mainloop.c"], "Stackframe.function.name": ["_dbus_loop_run"], "Stackframe.line.number": [888]} +{"create": {"_index": "profiling-stackframes", "_id": "eG5s_qI4F4I51_yuNS46mwAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$authorizeAction$11(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, java.lang.String, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AsyncSupplier, org.elasticsearch.cluster.metadata.Metadata, org.elasticsearch.action.ActionListener, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$IndexAuthorizationResult)"], "Stackframe.line.number": [483], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "4iWyc_l7zIMt9gi9uNbDxgAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InternalEngine.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.index.engine.InternalEngine$ExternalReaderManager.refreshIfNeeded(java.lang.Object)"], "Stackframe.line.number": [367], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "5-kXfhOMZeJHGZEEqUgZKAAAAAAAAADS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ResizeRequestInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.ResizeRequestInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [98], "Stackframe.function.offset": [47]} +{"create": {"_index": "profiling-stackframes", "_id": "2B-rbS8KhbB8ePRnpVf7_QAAAAAAAAAU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECDHKeyExchange.java"], "Stackframe.function.name": ["void sun.security.ssl.ECDHKeyExchange$ECDHEPossession.(sun.security.ssl.NamedGroup, java.security.SecureRandom)"], "Stackframe.line.number": [119], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "im4CSpLxZ-7jo4vfOXMUNAAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.index.shard.IndexShard$$Lambda$8959+0x00000008027eb9c0.accept(java.lang.Object, java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "HWeYMQJlcaP0GMe8ZUABEgAAAAAAAAAu"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixPath.java"], "Stackframe.function.name": ["java.lang.String sun.nio.fs.UnixPath.normalizeAndCheck(java.lang.String)"], "Stackframe.line.number": [80], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "fhsEKXDuxJ-jIJrZpdRuSAAAAAAAADZ4"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["", "", "./deflate.c", "./deflate.c", "./deflate.c", "./deflate.c"], "Stackframe.function.name": ["fill_window", "fill_window", "fill_window", "slide_hash", "slide_hash", "slide_hash"], "Stackframe.line.number": [0, 0, 1580, 1580, 1580, 226]} +{"create": {"_index": "profiling-stackframes", "_id": "6YIeLAztuVSewvuGh8XKXgAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LinkedTransferQueue.java"], "Stackframe.function.name": ["boolean java.util.concurrent.LinkedTransferQueue.tryTransfer(java.lang.Object)"], "Stackframe.line.number": [1241], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "pKAwMR-9-3afO3tccFzRKwAAAAAAAABw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECOperations.java"], "Stackframe.function.name": ["void sun.security.ec.ECOperations.setDouble(sun.security.ec.point.ProjectivePoint$Mutable, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP)"], "Stackframe.line.number": [302], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "TrTEyZn7B30gBbM8MLULSQAAAAAAAABB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IOUtils.java"], "Stackframe.function.name": ["void org.apache.lucene.util.IOUtils.fsync(java.nio.file.Path, boolean)"], "Stackframe.line.number": [471], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "cBTlmvRfiK_eaWEDctBQ5wAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService$$Lambda$9093+0x00000008020d9700.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "5t8GiksjQcuLCsu8jyRsaAAAAAAAAAA2"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshots.java"], "Stackframe.function.name": ["org.elasticsearch.xcontent.XContentBuilder org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots.toXContent(org.elasticsearch.xcontent.XContentBuilder, org.elasticsearch.xcontent.ToXContent$Params)"], "Stackframe.line.number": [221], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "LY5nQliSvp7OkEEaJEKLkwAAAAAAAABB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ServerTransportFilter.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.ServerTransportFilter.lambda$inbound$1(java.lang.String, org.elasticsearch.TransportVersion, org.elasticsearch.transport.TransportRequest, org.elasticsearch.action.ActionListener, org.elasticsearch.xpack.core.security.authc.Authentication)"], "Stackframe.line.number": [113], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "3SU4n_eVvbLOxW0zu9gonAAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient.execute(com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, com.amazonaws.http.HttpResponseHandler, com.amazonaws.http.ExecutionContext)"], "Stackframe.line.number": [541], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "RQiOAUVYPrJNPqfM54o9YwAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ShardSnapshotTaskRunner.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ShardSnapshotTaskRunner$ShardSnapshotTask.doRun()"], "Stackframe.line.number": [77], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "2HSuy-oZigDpg5cKC7dkqwAAAAAAAACX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixPath.java"], "Stackframe.function.name": ["void sun.nio.fs.UnixPath.initOffsets()"], "Stackframe.line.number": [204], "Stackframe.function.offset": [31]} +{"create": {"_index": "profiling-stackframes", "_id": "weat5ldYNeQ9Grv2_1-CAwAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixFileSystemProvider.java"], "Stackframe.function.name": ["boolean sun.nio.fs.UnixFileSystemProvider.implDelete(java.nio.file.Path, boolean)"], "Stackframe.line.number": [231], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "-FiXU0afkg-sRwubj2WiAwAAAAAAAZdL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../../../bus/dispatch.c"], "Stackframe.function.name": ["bus_dispatch_matches"], "Stackframe.line.number": [179]} +{"create": {"_index": "profiling-stackframes", "_id": "dkAubCDgL7khnJPkNdUwRwAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InternalEngine.java"], "Stackframe.function.name": ["org.elasticsearch.index.engine.Engine$RefreshResult org.elasticsearch.index.engine.InternalEngine.refresh(java.lang.String)"], "Stackframe.line.number": [1836], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "hfMR5YVLU22vPk_NOG-TgAAAAAAAAAAX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECKeyPairGenerator.java"], "Stackframe.function.name": ["byte[] sun.security.ec.ECKeyPairGenerator.generatePrivateScalar(java.security.SecureRandom, sun.security.ec.ECOperations, int)"], "Stackframe.line.number": [168], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "ClvIuFYr5ArIOKSAaLGqggAAAAAAAAGv"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper()"], "Stackframe.line.number": [1157], "Stackframe.function.offset": [61]} +{"create": {"_index": "profiling-stackframes", "_id": "y3hT9dbM11gdF2x7xJH8oQAAAAAAAAAR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParserBase.java"], "Stackframe.function.name": ["long com.fasterxml.jackson.dataformat.smile.SmileParserBase.getLongValue()"], "Stackframe.line.number": [538], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "C-hFb4flwkETp_lahExtrwAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportService.java"], "Stackframe.function.name": ["void org.elasticsearch.transport.TransportService$6.doRun()"], "Stackframe.line.number": [976], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ZaLM93n34r2A8Tcv4UQ0mgAAAAAAAABC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportReplicationAction.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.TransportReplicationAction.handlePrimaryRequest(org.elasticsearch.action.support.replication.TransportReplicationAction$ConcreteShardRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.tasks.Task)"], "Stackframe.line.number": [355], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "YcHA99kMtpR5AAkygC-qMAAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CodecUtil.java"], "Stackframe.function.name": ["void org.apache.lucene.codecs.CodecUtil.writeCRC(org.apache.lucene.store.IndexOutput)"], "Stackframe.line.number": [648], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAAEM2"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["do_syscall_64"]} +{"create": {"_index": "profiling-stackframes", "_id": "sxq3K3ppB_xqEWb8y-RbYwAAAAAAAAC8"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3BlobContainer.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3BlobContainer.executeSingleUpload(org.elasticsearch.repositories.s3.S3BlobStore, java.lang.String, java.io.InputStream, long)"], "Stackframe.line.number": [490], "Stackframe.function.offset": [18]} +{"create": {"_index": "profiling-stackframes", "_id": "vs-DizK6zOgT7PLk55Hi8wAAAAAAAABg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexFileDeleter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexFileDeleter.decRef(java.util.Collection)"], "Stackframe.line.number": [656], "Stackframe.function.offset": [14]} +{"create": {"_index": "profiling-stackframes", "_id": "FhP6JufLZYYhuADwCLvRKAAAAAAAAACV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute()"], "Stackframe.line.number": [814], "Stackframe.function.offset": [20]} +{"create": {"_index": "profiling-stackframes", "_id": "mSb0V8ANbBWpi7TZTXcPNwAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FSDirectory.java"], "Stackframe.function.name": ["void org.apache.lucene.store.FSDirectory.fsync(java.lang.String)"], "Stackframe.line.number": [303], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "HoqCWZ471w3YYcVCfd06hAAAAAAAAACh"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessController.java"], "Stackframe.function.name": ["void java.security.AccessController.checkPermission(java.security.Permission)"], "Stackframe.line.number": [1068], "Stackframe.function.offset": [30]} +{"create": {"_index": "profiling-stackframes", "_id": "QTXwwuqN0mLb-8lqckiaTQAAAAAAAWoj"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["xfs_attr_get"]} +{"create": {"_index": "profiling-stackframes", "_id": "u-D_h2osKIeJ8uQjOobu_AAAAAAAAAHy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReplicationTracker.java"], "Stackframe.function.name": ["void org.elasticsearch.index.seqno.ReplicationTracker.updateFromMaster(long, java.util.Set, org.elasticsearch.cluster.routing.IndexShardRoutingTable)"], "Stackframe.line.number": [1198], "Stackframe.function.offset": [47]} +{"create": {"_index": "profiling-stackframes", "_id": "HNWspokmSU3mmXH9ENGQygAAAAAAAABV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FilePermission.java"], "Stackframe.function.name": ["boolean java.io.FilePermissionCollection.implies(java.security.Permission)"], "Stackframe.line.number": [1202], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "5ajLrlzgZ5NJn1Ifyl4tjwAAAAAAAACK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FilePermission.java"], "Stackframe.function.name": ["boolean java.io.FilePermission.impliesIgnoreMask(java.io.FilePermission)"], "Stackframe.line.number": [611], "Stackframe.function.offset": [23]} +{"create": {"_index": "profiling-stackframes", "_id": "s1ge7c8paVPaLi3Du1Dh1QAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SocketDispatcher.java"], "Stackframe.function.name": ["int sun.nio.ch.SocketDispatcher.write(java.io.FileDescriptor, long, int)"], "Stackframe.line.number": [62], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "VDYfO2UIwBGcuJQmu3YTtwAAAAAAAAAU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedOutputStream.java"], "Stackframe.function.name": ["void java.io.BufferedOutputStream.write(byte[], int, int)"], "Stackframe.line.number": [123], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "Ryec96xv7uLWO7iiTNqYKgAAAAAAAAAm"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractPipeline.java"], "Stackframe.function.name": ["boolean java.util.stream.AbstractPipeline.copyIntoWithCancel(java.util.stream.Sink, java.util.Spliterator)"], "Stackframe.line.number": [528], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "TnhL_a5gaR0GbLDTAKZU8gAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InternalEngine.java"], "Stackframe.function.name": ["org.elasticsearch.index.engine.Engine$IndexCommitRef org.elasticsearch.index.engine.InternalEngine.acquireLastIndexCommit(boolean)"], "Stackframe.line.number": [2224], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAMCXY"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__vfs_getxattr"]} +{"create": {"_index": "profiling-stackframes", "_id": "HwASysJunE30XUonp_SYPwAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ByteSizeCachingDirectory.java"], "Stackframe.function.name": ["void org.elasticsearch.index.store.ByteSizeCachingDirectory$2.writeLong(long)"], "Stackframe.line.number": [162], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Ohy0c1RhzpJIxIHtdNOBrgAAAAAAAABe"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InputStreamEntity.java"], "Stackframe.function.name": ["void org.apache.http.entity.InputStreamEntity.writeTo(java.io.OutputStream)"], "Stackframe.line.number": [144], "Stackframe.function.offset": [18]} +{"create": {"_index": "profiling-stackframes", "_id": "m_DK0nAVx1tMIimjFYyQPAAAAAAAAAAS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute()"], "Stackframe.line.number": [755], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "yqhsLQpHnDkAN8Nbjjx5JQAAAAAAAABp"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["RequestHandlerRegistry.java"], "Stackframe.function.name": ["void org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel)"], "Stackframe.line.number": [71], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "jojK5E5-Tpf57iS2qx9_2QAAAAAAAAA2"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshot.java"], "Stackframe.function.name": ["void org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo.toXContent(org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo, org.elasticsearch.xcontent.XContentBuilder, org.elasticsearch.xcontent.ToXContent$Params)"], "Stackframe.line.number": [259], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "8A-e4vMGSQm_8vtVRynoJAAAAAAAAADL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLSocketImpl.java"], "Stackframe.function.name": ["void sun.security.ssl.SSLSocketImpl$AppOutputStream.write(byte[], int, int)"], "Stackframe.line.number": [1298], "Stackframe.function.offset": [35]} +{"create": {"_index": "profiling-stackframes", "_id": "vzzPIR5tUnMkJ7d_ITdQRgAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["EsExecutors.java"], "Stackframe.function.name": ["boolean org.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue.offer(java.lang.Object)"], "Stackframe.line.number": [363], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "5iLGjLJFjZ3vVn5PbnDFiAAAAAAAAAAv"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassPath.java"], "Stackframe.function.name": ["jdk.internal.loader.Resource jdk.internal.loader.URLClassPath$JarLoader.checkResource(java.lang.String, boolean, java.util.jar.JarEntry)"], "Stackframe.line.number": [867], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "tq710yUF9bzkGXjQwM8_6QAAAAAAAADW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ECOperations.java"], "Stackframe.function.name": ["sun.security.ec.point.MutablePoint sun.security.ec.ECOperations.multiply(sun.security.ec.point.AffinePoint, byte[])"], "Stackframe.line.number": [271], "Stackframe.function.offset": [32]} +{"create": {"_index": "profiling-stackframes", "_id": "15Kl_LNlY1wkBO4-dVuptAAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["long org.apache.lucene.index.IndexWriter.commit()"], "Stackframe.line.number": [4005], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAADSU7"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["try_to_wake_up"]} +{"create": {"_index": "profiling-stackframes", "_id": "u1a5bpPCc1mWwQaCPFMnewAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SearchRequestInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.SearchRequestInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [21], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "SdeiuUk4wJykJDjmt_gy5AAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["OneMergeWrappingMergePolicy.java"], "Stackframe.function.name": ["org.apache.lucene.index.MergePolicy$MergeSpecification org.apache.lucene.index.OneMergeWrappingMergePolicy.findMerges(org.apache.lucene.index.MergeTrigger, org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.MergePolicy$MergeContext)"], "Stackframe.line.number": [48], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "1kYL5y-AD3sdPCqn6ivZowAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots$$Lambda$8712+0x0000000802140000.apply(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "QpI4ER3R8tI6upvquCghPgAAAAAAAABG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["GroupedActionListener.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.GroupedActionListener.onResponse(java.lang.Object)"], "Stackframe.line.number": [55], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAFBxM"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["futex_wake"]} +{"create": {"_index": "profiling-stackframes", "_id": "AFikCbtP_Dm7iUthjnlnEgAAAAAAAAGt"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.applyChanges(org.elasticsearch.cluster.ClusterState, org.elasticsearch.cluster.ClusterState, java.lang.String, org.elasticsearch.cluster.service.ClusterApplierRecordingService$Recorder)"], "Stackframe.line.number": [519], "Stackframe.function.offset": [41]} +{"create": {"_index": "profiling-stackframes", "_id": "f_uYAlUc4Mk4nBdvFkWUPgAAAAAAAAME"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["long org.apache.lucene.index.IndexWriter.prepareCommitInternal()"], "Stackframe.line.number": [3460], "Stackframe.function.offset": [130]} +{"create": {"_index": "profiling-stackframes", "_id": "77CMGAnm82a_x5oOgINbKgAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Permissions.java"], "Stackframe.function.name": ["boolean java.security.Permissions.implies(java.security.Permission)"], "Stackframe.line.number": [177], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "3D_A_sI8XDgpK1lgEmfWZgAAAAAAAAC_"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["HandshakeContext.java"], "Stackframe.function.name": ["void sun.security.ssl.HandshakeContext.dispatch(byte, sun.security.ssl.Plaintext)"], "Stackframe.line.number": [458], "Stackframe.function.offset": [66]} +{"create": {"_index": "profiling-stackframes", "_id": "cn7jRZ-ZvDDBUMM5Rer9wAAAAAAAAAAD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["MatchOps.java"], "Stackframe.function.name": ["java.lang.Object java.util.stream.MatchOps$MatchOp.evaluateSequential(java.util.stream.PipelineHelper, java.util.Spliterator)"], "Stackframe.line.number": [196], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "rJNvWVtt3dJDIQfHVkT3mAAAAAAAAAAk"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService$$Lambda$7229+0x000000080251cea0.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "eBJz8rf8VBkiNSfy4HLlcwAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CodecUtil.java"], "Stackframe.function.name": ["void org.apache.lucene.codecs.CodecUtil.writeFooter(org.apache.lucene.store.IndexOutput)"], "Stackframe.line.number": [411], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "eJ7mihRgQcJvejyU6kLDVAAAAAAAAAAc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService$$Lambda$10692+0x00000008029728f0.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "KjF0JPI3hCXDTCc6Z7ofdQAAAAAAAAFL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.runTask(java.lang.String, java.util.function.Function, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [428], "Stackframe.function.offset": [44]} +{"create": {"_index": "profiling-stackframes", "_id": "h4dwrMYlRFRjyfsvjXt4tgAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PrioritizedEsThreadPoolExecutor.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run()"], "Stackframe.line.number": [225], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALjan"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["lookup_fast"]} +{"create": {"_index": "profiling-stackframes", "_id": "vM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PrioritizedThrottledTaskRunner.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.PrioritizedThrottledTaskRunner$TaskWrapper.onResponse(org.elasticsearch.core.Releasable)"], "Stackframe.line.number": [51], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "wRG5B2klLAxXtt0B9lVulAAAAAAAAADS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.serialize(java.lang.Object, java.lang.String, boolean, java.util.Map, java.io.OutputStream)"], "Stackframe.line.number": [389], "Stackframe.function.offset": [29]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALpAY"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["filename_lookup"]} +{"create": {"_index": "profiling-stackframes", "_id": "X-q4xdk6PYPLAgZGMSlgiwAAAAAAAAAZ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.write(org.elasticsearch.xcontent.ToXContent, org.elasticsearch.common.blobstore.BlobContainer, java.lang.String, boolean, java.util.Map)"], "Stackframe.line.number": [292], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "nMqxSWeol-RN_p8hXE5oZQAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexShard.java"], "Stackframe.function.name": ["org.elasticsearch.index.engine.Engine$IndexCommitRef org.elasticsearch.index.shard.IndexShard.acquireIndexCommitForSnapshot()"], "Stackframe.line.number": [1443], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "gQv1haKZmRIe2g2DBTzDVAAAAAAAAAAX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["org.elasticsearch.xcontent.ToXContent org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.read(java.lang.String, org.elasticsearch.common.blobstore.BlobContainer, java.lang.String, org.elasticsearch.xcontent.NamedXContentRegistry)"], "Stackframe.line.number": [89], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "TvbloCY34U08znkUfz6GbAAAAAAAAAAU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["com.amazonaws.services.s3.model.ObjectMetadata com.amazonaws.services.s3.AmazonS3Client$PutObjectStrategy.invokeServiceCall(com.amazonaws.Request)"], "Stackframe.line.number": [5942], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "WOsBhYd9IbFldGZWVw03hgAAAAAAAAAV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ProtectionDomain.java"], "Stackframe.function.name": ["boolean java.security.ProtectionDomain.implies(java.security.Permission)"], "Stackframe.line.number": [325], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "PKIQdknzONDqr2S2uRbbjQAAAAAAAACC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.authorize(org.elasticsearch.xpack.core.security.authc.Authentication, java.lang.String, org.elasticsearch.transport.TransportRequest, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [250], "Stackframe.function.offset": [37]} +{"create": {"_index": "profiling-stackframes", "_id": "uBDO9BMjtjTmzHTlTfDLzAAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots$$Lambda$9714+0x00000008028a2440.apply(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "5VGPPNmqbrejwy3AxU1wmQAAAAAAAAB5"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLCipher.java"], "Stackframe.function.name": ["int sun.security.ssl.SSLCipher$T13GcmWriteCipherGenerator$GcmWriteCipher.encrypt(byte, java.nio.ByteBuffer)"], "Stackframe.line.number": [2101], "Stackframe.function.offset": [21]} +{"create": {"_index": "profiling-stackframes", "_id": "r4QCFwkajSWVBltX9dOYSwAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Sink.java"], "Stackframe.function.name": ["void java.util.stream.Sink.end()"], "Stackframe.line.number": [138], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "TrTEyZn7B30gBbM8MLULSQAAAAAAAAA5"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IOUtils.java"], "Stackframe.function.name": ["void org.apache.lucene.util.IOUtils.fsync(java.nio.file.Path, boolean)"], "Stackframe.line.number": [469], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "Oo9QFBPQY4ypFVPfKrisIQAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ConjunctionScorer.java"], "Stackframe.function.name": ["void org.apache.lucene.search.ConjunctionScorer.(org.apache.lucene.search.Weight, java.util.Collection, java.util.Collection)"], "Stackframe.line.number": [37], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAwACL"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["entry_SYSCALL_64_after_hwframe"]} +{"create": {"_index": "profiling-stackframes", "_id": "smN6GZa9-v-IcDUWnhvNkAAAAAAAAABL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexFileDeleter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexFileDeleter.deleteCommits()"], "Stackframe.line.number": [437], "Stackframe.function.offset": [14]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALSp_"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__x64_sys_openat"]} +{"create": {"_index": "profiling-stackframes", "_id": "COij2gsV-4lHDIB8-jTbygAAAAAAAACG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SnapshotShardsService.java"], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService.lambda$snapshot$3(org.elasticsearch.index.snapshots.IndexShardSnapshotStatus, org.elasticsearch.index.shard.ShardId, org.elasticsearch.snapshots.Snapshot, org.elasticsearch.repositories.IndexId, org.elasticsearch.Version, long, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [371], "Stackframe.function.offset": [21]} +{"create": {"_index": "profiling-stackframes", "_id": "Jy9mUBVZJITLUNGFd8QS0QAAAAAAAAFJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NioEventLoop.java"], "Stackframe.function.name": ["void io.netty.channel.nio.NioEventLoop.run()"], "Stackframe.line.number": [569], "Stackframe.function.offset": [64]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAATgeq"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["blkdev_issue_flush"]} +{"create": {"_index": "profiling-stackframes", "_id": "TF7R8j8eszhmy8WskJZ2NAAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.RBACEngine$$Lambda$7207+0x0000000802516a90.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "fhsEKXDuxJ-jIJrZpdRuSAAAAAAAAI9-"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["", "", "./inffast.c"], "Stackframe.function.name": ["inflate_fast", "inflate_fast", "inflate_fast"], "Stackframe.line.number": [0, 0, 113]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALUfw"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["vfs_write"]} +{"create": {"_index": "profiling-stackframes", "_id": "plZYNE8qhJOfCM58L5mfyQAAAAAAAAAd"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessController.java"], "Stackframe.function.name": ["java.lang.Object java.security.AccessController.executePrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext, java.lang.Class)"], "Stackframe.line.number": [807], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "yScC9Npb_ya8Br_QJ7EUZAAAAAAAAAB7"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Class.java"], "Stackframe.function.name": ["java.io.InputStream java.lang.Class.getResourceAsStream(java.lang.String)"], "Stackframe.line.number": [2882], "Stackframe.function.offset": [36]} +{"create": {"_index": "profiling-stackframes", "_id": "ZVMl7SvWgt8_FxFL79kGYgAAAAAAAAHm"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLEngineOutputRecord.java"], "Stackframe.function.name": ["sun.security.ssl.Ciphertext sun.security.ssl.SSLEngineOutputRecord.encode(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer)"], "Stackframe.line.number": [287], "Stackframe.function.offset": [92]} +{"create": {"_index": "profiling-stackframes", "_id": "DVxwSo4eOEycJY2lxrVA3wAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["JsonXContentParser.java"], "Stackframe.function.name": ["java.lang.String org.elasticsearch.xcontent.json.JsonXContentParser.text()"], "Stackframe.line.number": [104], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALSjZ"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["do_sys_open"]} +{"create": {"_index": "profiling-stackframes", "_id": "2V2dRNf-iGCAuWhm4oOfRAAAAAAAAABE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient.execute(com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, com.amazonaws.http.HttpResponseHandler, com.amazonaws.http.ExecutionContext, com.amazonaws.RequestConfig)"], "Stackframe.line.number": [544], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALb-c"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__do_sys_newlstat"]} +{"create": {"_index": "profiling-stackframes", "_id": "CNW3Uw4RnzkMwEIUegsYPwAAAAAAAACF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Deflater.java"], "Stackframe.function.name": ["int java.util.zip.Deflater.deflate(byte[], int, int, int)"], "Stackframe.line.number": [582], "Stackframe.function.offset": [25]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAC6oJ"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["worker_thread"]} +{"create": {"_index": "profiling-stackframes", "_id": "7z0vK5_lN4w4BvVehfj4wQAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FSDirectory.java"], "Stackframe.function.name": ["void org.apache.lucene.store.FSDirectory.fsync(java.lang.String)"], "Stackframe.line.number": [331], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "jLRjRKJujxpIzkv5EAU8CAAAAAAAAADE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SnapshotShardsService.java"], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService.lambda$startNewShards$1(org.elasticsearch.cluster.SnapshotsInProgress$Entry, java.util.Map)"], "Stackframe.line.number": [267], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "tMqbgEmfZJ47YRogSA-gKgAAAAAAAADl"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndicesClusterStateService.java"], "Stackframe.function.name": ["void org.elasticsearch.indices.cluster.IndicesClusterStateService.createOrUpdateShards(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [556], "Stackframe.function.offset": [18]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAApYft"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["copy_user_enhanced_fast_string"]} +{"create": {"_index": "profiling-stackframes", "_id": "zvnrbT9TB1hdLy7i_u1ShgAAAAAAAAAl"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LoggingHandler.java"], "Stackframe.function.name": ["void io.netty.handler.logging.LoggingHandler.flush(io.netty.channel.ChannelHandlerContext)"], "Stackframe.line.number": [304], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "XxvzEXolyPiyR3WZkqmNewAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SessionOutputBufferImpl.java"], "Stackframe.function.name": ["void org.apache.http.impl.io.SessionOutputBufferImpl.streamWrite(byte[], int, int)"], "Stackframe.line.number": [124], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "NDsPouY3NiBzl33zaU7fMgAAAAAAAAA4"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService$AuthorizationResultListener.onResponse(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationResult)"], "Stackframe.line.number": [986], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "5wGUH60A7iQqyWZA8jj7kwAAAAAAAAAd"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessController.java"], "Stackframe.function.name": ["java.lang.Object java.security.AccessController.executePrivileged(java.security.PrivilegedAction, java.security.AccessControlContext, java.lang.Class)"], "Stackframe.line.number": [776], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "nxbylxGsMi-XNEec__mC2gAAAAAAAAAP"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLEngineImpl.java"], "Stackframe.function.name": ["javax.net.ssl.SSLEngineResult sun.security.ssl.SSLEngineImpl.wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer)"], "Stackframe.line.number": [123], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "radvx3ka7U7YJiCSRTJ3kwAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.ServerTransportFilter$NodeProfile$$Lambda$6206+0x0000000801c16d08.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "2bJMveL01ajlzm-wdxWvUAAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.cluster.coordination.Coordinator$$Lambda$4541+0x00000008018321a8.apply(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "7tZRpCUjHjYLEjfN8TUeQAAAAAAAAABw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SearchRequestCacheDisablingInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.SearchRequestCacheDisablingInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [53], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "wh1zX_oqIoKNefuSr1ngvgAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LambdaForm$DMH"], "Stackframe.function.name": ["void java.lang.invoke.LambdaForm$DMH+0x00000008026fc000.invokeInterface(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, int, java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "FSvf6nmXZySKV-TedM62ngAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileParser._finishLongSlow()"], "Stackframe.line.number": [2196], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAFw9n"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["audit_copy_inode"]} +{"create": {"_index": "profiling-stackframes", "_id": "3-Nyd5iyxL31wUMeSpG3wAAAAAAAAAAK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PendingDeletes.java"], "Stackframe.function.name": ["int org.apache.lucene.index.PendingDeletes.numDeletesToMerge(org.apache.lucene.index.MergePolicy, org.apache.lucene.util.IOSupplier)"], "Stackframe.line.number": [238], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALmmh"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["path_openat"]} +{"create": {"_index": "profiling-stackframes", "_id": "48AhUVUmIzx4uY_a_nqGPwAAAAAAAAAe"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CodecUtil.java"], "Stackframe.function.name": ["void org.apache.lucene.codecs.CodecUtil.writeBEInt(org.apache.lucene.store.DataOutput, int)"], "Stackframe.line.number": [656], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "KO6VsFDaVRMvLVZz6LumQAAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixPath.java"], "Stackframe.function.name": ["java.nio.file.Path sun.nio.fs.UnixPath.getName(int)"], "Stackframe.line.number": [43], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "8AUzmHhqUZOHWH8Bccl_sQAAAAAAAAHc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Coordinator.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishWithJoinResponse org.elasticsearch.cluster.coordination.Coordinator.handlePublishRequest(org.elasticsearch.cluster.coordination.PublishRequest)"], "Stackframe.line.number": [437], "Stackframe.function.offset": [51]} +{"create": {"_index": "profiling-stackframes", "_id": "wEIfl0pGBuepuUcTwdKc2gAAAAAAAKGd"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["./inflate.c"], "Stackframe.function.name": ["inflate"], "Stackframe.line.number": [1077]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAAEIG"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["do_syscall_64"]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAimtb"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["sock_sendmsg"]} +{"create": {"_index": "profiling-stackframes", "_id": "ip4jveo5OesPxqJEnXrM0wAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLSocketImpl.java"], "Stackframe.function.name": ["sun.security.ssl.Plaintext sun.security.ssl.SSLSocketImpl.decode(java.nio.ByteBuffer)"], "Stackframe.line.number": [1510], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "cDTcKVGzeMo1oRYERHbXHwAAAAAAAAB5"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReplicationTracker.java"], "Stackframe.function.name": ["org.elasticsearch.index.shard.ReplicationGroup org.elasticsearch.index.seqno.ReplicationTracker.calculateReplicationGroup()"], "Stackframe.line.number": [1007], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "4pUL3Hn4ak1IOxEqUVFkHAAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["RBACEngine.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.RBACEngine.lambda$resolveAuthorizationInfo$0(org.elasticsearch.action.ActionListener, org.elasticsearch.core.Tuple)"], "Stackframe.line.number": [149], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAFBtp"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["futex_wake"]} +{"create": {"_index": "profiling-stackframes", "_id": "KxHEggHQvpMo7NXk9m-aKgAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void com.amazonaws.http.conn.$Proxy62.connect(org.apache.http.HttpClientConnection, org.apache.http.conn.routing.HttpRoute, int, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ovSFLiAX5U3zPkxnICf4iQAAAAAAAAAR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SnapshotShardsService.java"], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService.snapshot(org.elasticsearch.index.shard.ShardId, org.elasticsearch.snapshots.Snapshot, org.elasticsearch.repositories.IndexId, org.elasticsearch.index.snapshots.IndexShardSnapshotStatus, org.elasticsearch.Version, long, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [349], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "IvW6glp0EMhdH986Hu8MmgAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IntegerPolynomialP256.java"], "Stackframe.function.name": ["void sun.security.util.math.intpoly.IntegerPolynomialP256.carryReduce(long[], long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)"], "Stackframe.line.number": [81], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "S3fVfiwq94i14_VfWgkFiAAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ActionRunnable.java"], "Stackframe.function.name": ["void org.elasticsearch.action.ActionRunnable$2.accept(org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [50], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "RrXasmojz0ojjKVFAz-eswAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessController.java"], "Stackframe.function.name": ["java.security.AccessControlContext java.security.AccessController.getStackAccessControlContext()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "HBnk-r2jmt48gRTNgMOf8wAAAAAAAAAl"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService$1.onResponse(java.lang.Void)"], "Stackframe.line.number": [601], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "4P1DMygHaI4yHD8SKHtROwAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["URLClassPath.java"], "Stackframe.function.name": ["void jdk.internal.loader.URLClassPath.check(java.net.URL)"], "Stackframe.line.number": [559], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "zUqGzEtASB77lr6F9wlBfAAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["JsonXContentParser.java"], "Stackframe.function.name": ["long org.elasticsearch.xcontent.provider.json.JsonXContentParser.doLongValue()"], "Stackframe.line.number": [223], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "4Wda4DEj07iGWB9mKOvWMAAAAAAAAABo"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DirectMethodHandleAccessor.java"], "Stackframe.function.name": ["java.lang.Object jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.lang.Object, java.lang.Object[])"], "Stackframe.line.number": [158], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "kbApFhDbueqDTdsjbbOMUQAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FSDirectory.java"], "Stackframe.function.name": ["void org.apache.lucene.store.FSDirectory.sync(java.util.Collection)"], "Stackframe.line.number": [286], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "Y2eGzIpiKa-QBMAAKXZA_QAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["OutputStreamIndexOutput.java"], "Stackframe.function.name": ["void org.apache.lucene.store.OutputStreamIndexOutput.writeLong(long)"], "Stackframe.line.number": [77], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "fMf02bFW9UOsHXaY1ju3UAAAAAAAAAEL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["com.amazonaws.services.s3.model.S3Object com.amazonaws.services.s3.AmazonS3Client.getObject(com.amazonaws.services.s3.model.GetObjectRequest)"], "Stackframe.line.number": [1524], "Stackframe.function.offset": [40]} +{"create": {"_index": "profiling-stackframes", "_id": "56q5trA0bAF1B-Um6L_rqwAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(org.elasticsearch.cluster.ClusterChangedEvent, org.elasticsearch.cluster.service.ClusterApplierRecordingService$Recorder)"], "Stackframe.line.number": [539], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "XJAoY26CmEBCHOgy-kaybgAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityManager.java"], "Stackframe.function.name": ["void java.lang.SecurityManager.checkWrite(java.lang.String)"], "Stackframe.line.number": [842], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "sNHGncE46bxEYqLkiTNaMgAAAAAAAADJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportReplicationAction.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.doRun()"], "Stackframe.line.number": [411], "Stackframe.function.offset": [29]} +{"create": {"_index": "profiling-stackframes", "_id": "mafpkLzxyAOwBxGkDhiVNAAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["InboundHandler.java"], "Stackframe.function.name": ["void org.elasticsearch.transport.InboundHandler$1.doRun()"], "Stackframe.line.number": [260], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Z3m1S883R8QNRDHePf66cAAAAAAAAAAD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractFileSystemProvider.java"], "Stackframe.function.name": ["void sun.nio.fs.AbstractFileSystemProvider.delete(java.nio.file.Path)"], "Stackframe.line.number": [105], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "NIZuECXcBG2pC3vk7GF71gAAAAAAAAAe"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FSDirectory.java"], "Stackframe.function.name": ["void org.apache.lucene.store.FSDirectory.deleteFile(java.lang.String)"], "Stackframe.line.number": [311], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "83pPtFJ0Pe4c5bSskvCkMAAAAAAAAABn"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ReplicationOperation.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.ReplicationOperation.execute()"], "Stackframe.line.number": [125], "Stackframe.function.offset": [18]} +{"create": {"_index": "profiling-stackframes", "_id": "lt4DCYuCTF_qGLbdRnIhjAAAAAAAAADD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLConnectionSocketFactory.java"], "Stackframe.function.name": ["java.net.Socket org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(int, java.net.Socket, org.apache.http.HttpHost, java.net.InetSocketAddress, java.net.InetSocketAddress, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [384], "Stackframe.function.offset": [29]} +{"create": {"_index": "profiling-stackframes", "_id": "NaokQDqfrb6dyCBpANIkNwAAAAAAAAEv"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLSocketOutputRecord.java"], "Stackframe.function.name": ["void sun.security.ssl.SSLSocketOutputRecord.deliver(byte[], int, int)"], "Stackframe.line.number": [345], "Stackframe.function.offset": [57]} +{"create": {"_index": "profiling-stackframes", "_id": "tGxEGlv356rmSfx4IkmLcQAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractChannelHandlerContext.java"], "Stackframe.function.name": ["io.netty.channel.ChannelHandlerContext io.netty.channel.AbstractChannelHandlerContext.flush()"], "Stackframe.line.number": [893], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "Re_dvjV79ezcmCpSsdxZuAAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PhantomCleanable.java"], "Stackframe.function.name": ["void jdk.internal.ref.PhantomCleanable.clean()"], "Stackframe.line.number": [133], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "8__nCHyreLVA7r_BF4RklwAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3BlobContainer$$Lambda$8687+0x0000000802083390.run()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "2yAqVPrM2wZm88ulDRIkCgAAAAAAAACE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.serialize(org.elasticsearch.xcontent.ToXContent, java.lang.String, boolean, java.util.Map, java.io.OutputStream)"], "Stackframe.line.number": [332], "Stackframe.function.offset": [26]} +{"create": {"_index": "profiling-stackframes", "_id": "akj2EbMcV1BY1x-2V-R6VQAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NamedGroup.java"], "Stackframe.function.name": ["sun.security.ssl.SSLPossession sun.security.ssl.NamedGroup$NamedGroupSpec.createPossession(sun.security.ssl.NamedGroup, java.security.SecureRandom)"], "Stackframe.line.number": [520], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "wEIfl0pGBuepuUcTwdKc2gAAAAAAADW4"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["", "", "./deflate.c", "./deflate.c", "./deflate.c", "./deflate.c"], "Stackframe.function.name": ["fill_window", "fill_window", "fill_window", "slide_hash", "slide_hash", "slide_hash"], "Stackframe.line.number": [0, 0, 1580, 1580, 1580, 226]} +{"create": {"_index": "profiling-stackframes", "_id": "EiWa0n_9SgJD34zKIyVJDAAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Path.java"], "Stackframe.function.name": ["java.nio.file.Path java.nio.file.Path.resolve(java.lang.String)"], "Stackframe.line.number": [515], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "h6nIgR7I9-N28cV-Wv3K3AAAAAAAAAFB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixChannelFactory.java"], "Stackframe.function.name": ["java.io.FileDescriptor sun.nio.fs.UnixChannelFactory.open(int, sun.nio.fs.UnixPath, java.lang.String, sun.nio.fs.UnixChannelFactory$Flags, int)"], "Stackframe.line.number": [258], "Stackframe.function.offset": [71]} +{"create": {"_index": "profiling-stackframes", "_id": "bOTvPcD8pPP1fG6-CUmg6wAAAAAAAAGv"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper()"], "Stackframe.line.number": [1139], "Stackframe.function.offset": [61]} +{"create": {"_index": "profiling-stackframes", "_id": "IQvpHpp20NHD-0mZNf95oAAAAAAAAABp"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LinkedTransferQueue.java"], "Stackframe.function.name": ["java.lang.Object java.util.concurrent.LinkedTransferQueue.xfer(java.lang.Object, boolean, int, long)"], "Stackframe.line.number": [605], "Stackframe.function.offset": [10]} +{"create": {"_index": "profiling-stackframes", "_id": "wvgldxPJJj8FcIi5eLlQvgAAAAAAAAAm"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileParser.java"], "Stackframe.function.name": ["java.lang.String com.fasterxml.jackson.dataformat.smile.SmileParser.getText()"], "Stackframe.line.number": [996], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "-FiXU0afkg-sRwubj2WiAwAAAAAAAiUs"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["", "../../../bus/signals.c", "../../../bus/signals.c", "../../../bus/signals.c"], "Stackframe.function.name": ["get_recipients_from_list", "get_recipients_from_list", "match_rule_matches", "match_rule_matches"], "Stackframe.line.number": [0, 2093, 2093, 1797]} +{"create": {"_index": "profiling-stackframes", "_id": "Pu2JWw096K4wEF2usuCt-AAAAAAAAABc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PoolingHttpClientConnectionManager.java"], "Stackframe.function.name": ["void org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(org.apache.http.HttpClientConnection, org.apache.http.conn.routing.HttpRoute, int, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [376], "Stackframe.function.offset": [13]} +{"create": {"_index": "profiling-stackframes", "_id": "MRjz7ydeslXKi2GbhltLmwAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PendingSoftDeletes.java"], "Stackframe.function.name": ["int org.apache.lucene.index.PendingSoftDeletes.numDeletesToMerge(org.apache.lucene.index.MergePolicy, org.apache.lucene.util.IOSupplier)"], "Stackframe.line.number": [195], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "rXmzLUA4HH3snMulWKOyNgAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SessionOutputBufferImpl.java"], "Stackframe.function.name": ["void org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer()"], "Stackframe.line.number": [136], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "Td592FDxi26zl_r4mKuaXAAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NativePRNG.java"], "Stackframe.function.name": ["void sun.security.provider.NativePRNG.engineNextBytes(byte[])"], "Stackframe.line.number": [221], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAimwC"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["sock_write_iter"]} +{"create": {"_index": "profiling-stackframes", "_id": "rFCnpw1umelBJZQ8bfB_gwAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SnapshotShardsService.java"], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService.lambda$newShardSnapshotTask$2(org.elasticsearch.index.shard.ShardId, org.elasticsearch.snapshots.Snapshot, org.elasticsearch.repositories.IndexId, org.elasticsearch.index.snapshots.IndexShardSnapshotStatus, org.elasticsearch.Version, long)"], "Stackframe.line.number": [276], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "H1mK93wmygFvNYC57fovfwAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileChannel.java"], "Stackframe.function.name": ["java.nio.channels.FileChannel java.nio.channels.FileChannel.open(java.nio.file.Path, java.nio.file.OpenOption[])"], "Stackframe.line.number": [363], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "U3XGmp9XAuDQti4O3QZItgAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedOutputStream.java"], "Stackframe.function.name": ["void java.io.BufferedOutputStream.implWrite(byte[], int, int)"], "Stackframe.line.number": [216], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "OYpTnRQxT_yM-wTPYnG49wAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileDispatcherImpl.java"], "Stackframe.function.name": ["int sun.nio.ch.FileDispatcherImpl.force(java.io.FileDescriptor, boolean)"], "Stackframe.line.number": [82], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "RooPjsQ01TWhvqGm4rD4pAAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["NativePRNG.java"], "Stackframe.function.name": ["void sun.security.provider.NativePRNG$RandomIO.implNextBytes(byte[])"], "Stackframe.line.number": [537], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "DIud9aCnVVpiy1IhYas8ZwAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FilterDirectory.java"], "Stackframe.function.name": ["void org.apache.lucene.store.FilterDirectory.deleteFile(java.lang.String)"], "Stackframe.line.number": [65], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "_2Sq1jeupJuJ-QB3TmIqcwAAAAAAAADX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["java.lang.Object com.amazonaws.services.s3.AmazonS3Client.invoke(com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, java.lang.String, java.lang.String, boolean)"], "Stackframe.line.number": [5054], "Stackframe.function.offset": [46]} +{"create": {"_index": "profiling-stackframes", "_id": "AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8q"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["StubRoutines (1)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "5tsfFOiB0XQGtxfawg0JiQAAAAAAAAGP"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(com.amazonaws.http.AmazonHttpClient$RequestExecutor$ExecOneRequestParams)"], "Stackframe.line.number": [1346], "Stackframe.function.offset": [63]} +{"create": {"_index": "profiling-stackframes", "_id": "nVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadContext.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run()"], "Stackframe.line.number": [718], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "P4ZjI7g37fWz45cghUwTxQAAAAAAAAA5"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IOUtils.java"], "Stackframe.function.name": ["void org.apache.lucene.util.IOUtils.fsync(java.nio.file.Path, boolean)"], "Stackframe.line.number": [465], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "KPNYkONEetadZox7ZPj-_wAAAAAAAACa"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SnapshotShardsService.java"], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService.snapshot(org.elasticsearch.index.shard.ShardId, org.elasticsearch.snapshots.Snapshot, org.elasticsearch.repositories.IndexId, java.util.Map, org.elasticsearch.index.snapshots.IndexShardSnapshotStatus, org.elasticsearch.Version, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [377], "Stackframe.function.offset": [26]} +{"create": {"_index": "profiling-stackframes", "_id": "lLBPRDZhOsSZ0SPWLgVYwQAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLEngineImpl.java"], "Stackframe.function.name": ["sun.security.ssl.Ciphertext sun.security.ssl.SSLEngineImpl.encode(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int)"], "Stackframe.line.number": [305], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "OX6pd1GZ1KHmZAikJOZD-wAAAAAAAABo"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixChannelFactory.java"], "Stackframe.function.name": ["java.nio.channels.FileChannel sun.nio.fs.UnixChannelFactory.newFileChannel(int, sun.nio.fs.UnixPath, java.lang.String, java.util.Set, int)"], "Stackframe.line.number": [133], "Stackframe.function.offset": [17]} +{"create": {"_index": "profiling-stackframes", "_id": "a_D_KA1yUInCMlw0HKKJXgAAAAAAAABX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadContext.java"], "Stackframe.function.name": ["org.elasticsearch.common.util.concurrent.ThreadContext$StoredContext org.elasticsearch.common.util.concurrent.ThreadContext.newTraceContext()"], "Stackframe.line.number": [163], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "FOYm6EawRDxcLqPYr2TlYwAAAAAAAACT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SequenceNumbers.java"], "Stackframe.function.name": ["org.elasticsearch.index.seqno.SequenceNumbers$CommitInfo org.elasticsearch.index.seqno.SequenceNumbers.loadSeqNoInfoFromLuceneCommit(java.lang.Iterable)"], "Stackframe.line.number": [53], "Stackframe.function.offset": [12]} +{"create": {"_index": "profiling-stackframes", "_id": "gA6euexXfLm-c-5bdW_pngAAAAAAAAAx"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CompositeRolesStore.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.store.CompositeRolesStore.lambda$getRoles$1(org.elasticsearch.xpack.core.security.authc.Authentication, org.elasticsearch.action.ActionListener, org.elasticsearch.xpack.core.security.authz.permission.Role)"], "Stackframe.line.number": [201], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "ZQ0AxrpV-kvXnFTqilFT7wAAAAAAAAAf"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileChannel.java"], "Stackframe.function.name": ["java.nio.channels.FileChannel java.nio.channels.FileChannel.open(java.nio.file.Path, java.nio.file.OpenOption[])"], "Stackframe.line.number": [357], "Stackframe.function.offset": [6]} +{"create": {"_index": "profiling-stackframes", "_id": "vweqY124jM8xgz5HvRfnbAAAAAAAAAA9"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadPoolExecutor.java"], "Stackframe.function.name": ["void java.util.concurrent.ThreadPoolExecutor.execute(java.lang.Runnable)"], "Stackframe.line.number": [1357], "Stackframe.function.offset": [28]} +{"create": {"_index": "profiling-stackframes", "_id": "eNITicG0MvFr9HQHk70FLAAAAAAAAAAI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["EsThreadPoolExecutor.java"], "Stackframe.function.name": ["void org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor.execute(java.lang.Runnable)"], "Stackframe.line.number": [95], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "PeFsynzCKRZawnN184w4uwAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractChannelHandlerContext.java"], "Stackframe.function.name": ["void io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(java.lang.Object, io.netty.channel.ChannelPromise)"], "Stackframe.line.number": [941], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "xhzTSPDm8vP1CtKm1pHa_AAAAAAAAADX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonS3Client.java"], "Stackframe.function.name": ["java.lang.Object com.amazonaws.services.s3.AmazonS3Client.invoke(com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, java.lang.String, java.lang.String, boolean)"], "Stackframe.line.number": [5456], "Stackframe.function.offset": [45]} +{"create": {"_index": "profiling-stackframes", "_id": "bFStJdQtuBtluMM9Zd1OwQAAAAAAAABc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshots.java"], "Stackframe.function.name": ["org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots.findPhysicalIndexFile(org.elasticsearch.index.store.StoreFileMetadata)"], "Stackframe.line.number": [142], "Stackframe.function.offset": [7]} +{"create": {"_index": "profiling-stackframes", "_id": "dfk3O1V70lDk9OWRJ4O2zgAAAAAAAABC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["OutputRecord.java"], "Stackframe.function.name": ["long sun.security.ssl.OutputRecord.encrypt(sun.security.ssl.SSLCipher$SSLWriteCipher, byte, java.nio.ByteBuffer, int, int, int, sun.security.ssl.ProtocolVersion)"], "Stackframe.line.number": [341], "Stackframe.function.offset": [13]} +{"create": {"_index": "profiling-stackframes", "_id": "0dBKXDWNMiejfPcFa2J8WwAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileDescriptor.java"], "Stackframe.function.name": ["void java.io.FileDescriptor.close()"], "Stackframe.line.number": [297], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "fbCakSHDHoBMTyuJNDB7CwAAAAAAAAAx"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedInputStream.java"], "Stackframe.function.name": ["int java.io.BufferedInputStream.read(byte[], int, int)"], "Stackframe.line.number": [343], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "q3uedK83ZBGp21KqIIcD7QAAAAAAAACW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LambdaForm$MH"], "Stackframe.function.name": ["java.lang.Object java.lang.invoke.LambdaForm$MH+0x0000000802a2a000.invoke(java.lang.Object, java.lang.Object, java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Brq2tMeYvo-7GC1rkF8BOwAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.snapshots.SnapshotShardsService$$Lambda$10696+0x00000008029733b8.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "CQI8nGGXTZm2Anxc2rVzlAAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient.execute(com.amazonaws.Request, com.amazonaws.http.HttpResponseHandler, com.amazonaws.http.HttpResponseHandler, com.amazonaws.http.ExecutionContext)"], "Stackframe.line.number": [524], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "oGQ2OUdACCpDvWCPN-t91QAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexTemplateRegistry.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.core.template.IndexTemplateRegistry.addTemplatesIfMissing(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [204], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "V_QMdmt4RxKxn4ZNgdvkJwAAAAAAAAAR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PendingReplicationActions.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.PendingReplicationActions.cancelActions(java.util.ArrayList, java.lang.String)"], "Stackframe.line.number": [108], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "W2G52eIffs6rSMZaDokh0AAAAAAAAAAT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexTemplateConfig.java"], "Stackframe.function.name": ["byte[] org.elasticsearch.xpack.core.template.IndexTemplateConfig.loadBytes()"], "Stackframe.line.number": [91], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "FHxMx1_4SqiAeAbrZHJ7sQAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileGenerator.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileGenerator.writeStringField(java.lang.String, java.lang.String)"], "Stackframe.line.number": [534], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "nfWxBNCjXXCl3tAETF7T8wAAAAAAAAAU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["XContentBuilder.java"], "Stackframe.function.name": ["org.elasticsearch.xcontent.XContentBuilder org.elasticsearch.xcontent.XContentBuilder.field(java.lang.String, java.lang.String)"], "Stackframe.line.number": [730], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "Mrj6Z8YTvyj7p7UD3GGpMgAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Deflater.java"], "Stackframe.function.name": ["int java.util.zip.Deflater.deflate(byte[], int, int)"], "Stackframe.line.number": [462], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "C7Gr60ZG8XU9_R3ucXNk1wAAAAAAAAEr"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.deserialize(java.lang.String, org.elasticsearch.xcontent.NamedXContentRegistry, java.io.InputStream)"], "Stackframe.line.number": [165], "Stackframe.function.offset": [35]} +{"create": {"_index": "profiling-stackframes", "_id": "ImSzkW6pD8jhY2FJThRJ8QAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ActionRunnable.java"], "Stackframe.function.name": ["void org.elasticsearch.action.ActionRunnable$2.accept(java.lang.Object)"], "Stackframe.line.number": [47], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "VdDRdK9-3VxhlLY5l0wZhQAAAAAAAAGh"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLEngineImpl.java"], "Stackframe.function.name": ["javax.net.ssl.SSLEngineResult sun.security.ssl.SSLEngineImpl.writeRecord(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int)"], "Stackframe.line.number": [251], "Stackframe.function.offset": [83]} +{"create": {"_index": "profiling-stackframes", "_id": "kRX6qZbTW9c5D6S8BjNVUQAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexModule.java"], "Stackframe.function.name": ["org.elasticsearch.index.engine.Engine$IndexCommitRef org.elasticsearch.index.IndexModule.lambda$static$1(org.elasticsearch.index.engine.Engine)"], "Stackframe.line.number": [626], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "GKHjZXGfLxTKi_lPdb3kRgAAAAAAAABV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileChannelImpl.java"], "Stackframe.function.name": ["void sun.nio.ch.FileChannelImpl.force(boolean)"], "Stackframe.line.number": [531], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "ds9yTvk8UzKAgDSjs6pNkgAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3BlobContainer.java"], "Stackframe.function.name": ["java.io.InputStream org.elasticsearch.repositories.s3.S3BlobContainer.readBlob(java.lang.String)"], "Stackframe.line.number": [95], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "k4geTYpM8uDz6HvI1jT73gAAAAAAAAAZ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ChecksumBlobStoreFormat.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.write(java.lang.Object, org.elasticsearch.common.blobstore.BlobContainer, java.lang.String, boolean, java.util.Map)"], "Stackframe.line.number": [346], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "ebuxNWQVKJLKmMPt8wkOJwAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixNativeDispatcher.java"], "Stackframe.function.name": ["void sun.nio.fs.UnixNativeDispatcher.lstat(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes)"], "Stackframe.line.number": [356], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "e_qwG8gpgd38JnWYrQTbhgAAAAAAAABT"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileGenerator.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileGenerator.writeString(java.lang.String)"], "Stackframe.line.number": [1025], "Stackframe.function.offset": [27]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAADtss"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["complete"]} +{"create": {"_index": "profiling-stackframes", "_id": "YkaRTKRhsYL87aTctpzuoQAAAAAAAACw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["void org.apache.lucene.index.IndexWriter.merge(org.apache.lucene.index.MergePolicy$OneMerge)"], "Stackframe.line.number": [4704], "Stackframe.function.offset": [38]} +{"create": {"_index": "profiling-stackframes", "_id": "Vo9H_8YeBmc0_i3CIsMkrwAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixNativeDispatcher.java"], "Stackframe.function.name": ["int sun.nio.fs.UnixNativeDispatcher.open0(long, int, int)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "xpXYHQL7vamCXb04_96hlgAAAAAAAAAL"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DigestBase.java"], "Stackframe.function.name": ["void sun.security.provider.DigestBase.engineReset()"], "Stackframe.line.number": [175], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "cMPxRfIRSUAO9TVG-M8JpAAAAAAAAAB0"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository.snapshotFile(org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo, org.elasticsearch.repositories.IndexId, org.elasticsearch.index.shard.ShardId, org.elasticsearch.snapshots.SnapshotId, org.elasticsearch.index.snapshots.IndexShardSnapshotStatus, org.elasticsearch.index.store.Store)"], "Stackframe.line.number": [3493], "Stackframe.function.offset": [31]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAp1q0"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__lock_text_start"]} +{"create": {"_index": "profiling-stackframes", "_id": "c2BpwrDKQx3haZVDD56LgAAAAAAAAABs"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SdkHttpRequestExecutor.java"], "Stackframe.function.name": ["org.apache.http.HttpResponse com.amazonaws.http.protocol.SdkHttpRequestExecutor.doSendRequest(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [63], "Stackframe.function.offset": [19]} +{"create": {"_index": "profiling-stackframes", "_id": "4j8yS0qsC_6XfTfMdPp5KQAAAAAAAAAQ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService$UpdateTask.run()"], "Stackframe.line.number": [154], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "UJmIMEc6K8gJ39NHYaD0WwAAAAAAAhyG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["../csu/libc-start.c"], "Stackframe.function.name": ["__libc_start_main"], "Stackframe.line.number": [310]} +{"create": {"_index": "profiling-stackframes", "_id": "9j0yGbd8eQNwdRhHZ159OQAAAAAAAAA9"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadPoolExecutor.java"], "Stackframe.function.name": ["void java.util.concurrent.ThreadPoolExecutor.execute(java.lang.Runnable)"], "Stackframe.line.number": [1357], "Stackframe.function.offset": [28]} +{"create": {"_index": "profiling-stackframes", "_id": "VTe2bxq-Jr5s7wFSht9_vgAAAAAAAABq"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["PublicationTransportHandler.java"], "Stackframe.function.name": ["org.elasticsearch.cluster.coordination.PublishWithJoinResponse org.elasticsearch.cluster.coordination.PublicationTransportHandler.acceptState(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [245], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "jxIGTrGHMnImsEvjAP6NuwAAAAAAAAEY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Boolean2ScorerSupplier.java"], "Stackframe.function.name": ["org.apache.lucene.search.Scorer org.apache.lucene.search.Boolean2ScorerSupplier.req(java.util.Collection, java.util.Collection, long)"], "Stackframe.line.number": [210], "Stackframe.function.offset": [47]} +{"create": {"_index": "profiling-stackframes", "_id": "IvW6glp0EMhdH986Hu8MmgAAAAAAAAN7"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IntegerPolynomialP256.java"], "Stackframe.function.name": ["void sun.security.util.math.intpoly.IntegerPolynomialP256.carryReduce(long[], long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)"], "Stackframe.line.number": [165], "Stackframe.function.offset": [84]} +{"create": {"_index": "profiling-stackframes", "_id": "uaLlXo_jail-f0Vd8f8fCwAAAAAAAACD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["GatewayMetaState.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.GatewayMetaState$LucenePersistedState.setLastAcceptedState(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [593], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "n_CesQ5pN3dpPkarM3dScAAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["TransportReplicationAction.java"], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.lambda$doRun$0(org.elasticsearch.index.shard.IndexShard, org.elasticsearch.core.Releasable)"], "Stackframe.line.number": [414], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "S4xo2K-7S9Psi5KVtkSU0AAAAAAAAAAO"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["CloseableHttpClient.java"], "Stackframe.function.name": ["org.apache.http.client.methods.CloseableHttpResponse org.apache.http.impl.client.CloseableHttpClient.execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [83], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "OoUyVxHN2rYPjLirZK4ihQAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["long org.apache.lucene.index.IndexWriter.prepareCommit()"], "Stackframe.line.number": [3293], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "8NHfQtcyI14VYOjZC2v_gwAAAAAAAABc"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadPoolExecutor.java"], "Stackframe.function.name": ["void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker)"], "Stackframe.line.number": [1144], "Stackframe.function.offset": [20]} +{"create": {"_index": "profiling-stackframes", "_id": "9oBnE4xnAvOiOv1q-LbApgAAAAAAAAAE"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierService.access$000(org.elasticsearch.cluster.service.ClusterApplierService, java.lang.String, java.util.function.Function, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [56], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "LeaqrhFv22rb1wzUlEMwAgAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["LockValidatingDirectoryWrapper.java"], "Stackframe.function.name": ["void org.apache.lucene.store.LockValidatingDirectoryWrapper.sync(java.util.Collection)"], "Stackframe.line.number": [68], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "L4TTplFq0_54QvTmQIK7TgAAAAAAAAAS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreRepository.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$executeOneFileSnapshot$78(org.elasticsearch.index.store.Store, org.elasticsearch.index.snapshots.IndexShardSnapshotStatus, org.elasticsearch.index.shard.ShardId, org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo, org.elasticsearch.repositories.IndexId, org.elasticsearch.snapshots.SnapshotId, java.util.concurrent.BlockingQueue, java.util.concurrent.Executor, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [2938], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "ihMpsHacOmWht-v_3Vk1hQAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BuiltinClassLoader.java"], "Stackframe.function.name": ["java.net.URL jdk.internal.loader.BuiltinClassLoader.lambda$findResourceOnClassPath$0(java.lang.String)"], "Stackframe.line.number": [539], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "O57ePcWMLnVMB2c1JYP_SgAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshot.java"], "Stackframe.function.name": ["void org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo.toXContent(org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshot$FileInfo, org.elasticsearch.xcontent.XContentBuilder, org.elasticsearch.xcontent.ToXContent$Params)"], "Stackframe.line.number": [256], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "KACWjtDKKsY3WzryMLMuQgAAAAAAAACN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute()"], "Stackframe.line.number": [796], "Stackframe.function.offset": [19]} +{"create": {"_index": "profiling-stackframes", "_id": "NJPFmv3cYB4fnHHuI2lrYQAAAAAAAABb"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3RetryingInputStream.java"], "Stackframe.function.name": ["void org.elasticsearch.repositories.s3.S3RetryingInputStream.(org.elasticsearch.repositories.s3.S3BlobStore, java.lang.String, long, long)"], "Stackframe.line.number": [76], "Stackframe.function.offset": [23]} +{"create": {"_index": "profiling-stackframes", "_id": "P7LRUTUpfWcPCMm1bmRUrgAAAAAAAAAY"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.ServerTransportFilter$$Lambda$6914+0x0000000802433568.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "ezRRC2sXv2hHIZbqwpv5zQAAAAAAAADS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexShard.java"], "Stackframe.function.name": ["void org.elasticsearch.index.shard.IndexShard.updateShardState(org.elasticsearch.cluster.routing.ShardRouting, long, java.util.function.BiConsumer, long, java.util.Set, org.elasticsearch.cluster.routing.IndexShardRoutingTable)"], "Stackframe.line.number": [535], "Stackframe.function.offset": [24]} +{"create": {"_index": "profiling-stackframes", "_id": "hqzAzTCpj-Nsh96skuh10wAAAAAAAABJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["HandshakeContext.java"], "Stackframe.function.name": ["void sun.security.ssl.HandshakeContext.dispatch(byte, java.nio.ByteBuffer)"], "Stackframe.line.number": [480], "Stackframe.function.offset": [15]} +{"create": {"_index": "profiling-stackframes", "_id": "IY3kOFBxddrJzoZrzargTAAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FileDescriptor.java"], "Stackframe.function.name": ["void java.io.FileDescriptor.close0()"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "HJHMeViEmhpbdveA5zS4zgAAAAAAAADU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ServerHelloDone.java"], "Stackframe.function.name": ["void sun.security.ssl.ServerHelloDone$ServerHelloDoneConsumer.consume(sun.security.ssl.ConnectionContext, java.nio.ByteBuffer)"], "Stackframe.line.number": [182], "Stackframe.function.offset": [48]} +{"create": {"_index": "profiling-stackframes", "_id": "lTaOxl3xTWrzN2-LwynoLwAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SHA.java"], "Stackframe.function.name": ["void sun.security.provider.SHA.implReset()"], "Stackframe.line.number": [85], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "Lhf7WGU0lxCaIsujYZjafAAAAAAAAAAS"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedOutputStream.java"], "Stackframe.function.name": ["void java.io.BufferedOutputStream.write(byte[], int, int)"], "Stackframe.line.number": [199], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "LqiOes3kysZtBc8totbsBAAAAAAAAAAA"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["UnixNativeDispatcher.java"], "Stackframe.function.name": ["void sun.nio.fs.UnixNativeDispatcher.lstat0(long, sun.nio.fs.UnixFileAttributes)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "_gZdvwQP6FQ5RcMsyYjAXwAAAAAAAAFD"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["DefaultHttpClientConnectionOperator.java"], "Stackframe.function.name": ["void org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(org.apache.http.conn.ManagedHttpClientConnection, org.apache.http.HttpHost, java.net.InetSocketAddress, int, org.apache.http.config.SocketConfig, org.apache.http.protocol.HttpContext)"], "Stackframe.line.number": [142], "Stackframe.function.offset": [36]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAMRzj"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["__x64_sys_fsync"]} +{"create": {"_index": "profiling-stackframes", "_id": "8T1GTOmmtW2zNfDAiA-RCgAAAAAAAADH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler.messageReceived(org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.tasks.Task)"], "Stackframe.line.number": [415], "Stackframe.function.offset": [48]} +{"create": {"_index": "profiling-stackframes", "_id": "FpTtdOGq0KA_LZU93WcT2gAAAAAAAAAs"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BufferedInputStream.java"], "Stackframe.function.name": ["int java.io.BufferedInputStream.read1(byte[], int, int)"], "Stackframe.line.number": [284], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "FC-FZ1oAaXNFzXvQCjtC_AAAAAAAAAAU"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLEngine.java"], "Stackframe.function.name": ["javax.net.ssl.SSLEngineResult javax.net.ssl.SSLEngine.wrap(java.nio.ByteBuffer[], java.nio.ByteBuffer)"], "Stackframe.line.number": [564], "Stackframe.function.offset": [3]} +{"create": {"_index": "profiling-stackframes", "_id": "RJOpyLKTKlv2enKt_xrNSwAAAAAAAAA7"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.authorizeSystemUser(org.elasticsearch.xpack.core.security.authc.Authentication, java.lang.String, java.lang.String, org.elasticsearch.transport.TransportRequest, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [620], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "aSV2qTlMpiialisnhZW9PgAAAAAAAAAN"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AccessController.java"], "Stackframe.function.name": ["java.lang.Object java.security.AccessController.doPrivileged(java.security.PrivilegedAction, java.security.AccessControlContext)"], "Stackframe.line.number": [399], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "becvgDELr5B5ZYyfqmyRzQAAAAAAAACq"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler.messageReceived(org.elasticsearch.transport.TransportRequest, org.elasticsearch.transport.TransportChannel, org.elasticsearch.tasks.Task)"], "Stackframe.line.number": [601], "Stackframe.function.offset": [48]} +{"create": {"_index": "profiling-stackframes", "_id": "rjyp8aib7sZjDzshnnXJQQAAAAAAAABB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ContentLengthOutputStream.java"], "Stackframe.function.name": ["void org.apache.http.impl.io.ContentLengthOutputStream.write(byte[], int, int)"], "Stackframe.line.number": [113], "Stackframe.function.offset": [9]} +{"create": {"_index": "profiling-stackframes", "_id": "3ITJpMVvGWxtAJg8iCjlKgAAAAAAAAAh"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SmileGenerator.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.dataformat.smile.SmileGenerator._flushBuffer()"], "Stackframe.line.number": [2647], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "6aHBr7IoSaYRBHN60TsSvgAAAAAAAACC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["long org.apache.lucene.index.IndexWriter.commitInternal(org.apache.lucene.index.MergePolicy)"], "Stackframe.line.number": [4051], "Stackframe.function.offset": [25]} +{"create": {"_index": "profiling-stackframes", "_id": "3HIAZ7KMFykIwp4WdvYF6gAAAAAAAAEV"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IndexWriter.java"], "Stackframe.function.name": ["org.apache.lucene.index.MergePolicy$MergeSpecification org.apache.lucene.index.IndexWriter.updatePendingMerges(org.apache.lucene.index.MergePolicy, org.apache.lucene.index.MergeTrigger, int)"], "Stackframe.line.number": [2349], "Stackframe.function.offset": [45]} +{"create": {"_index": "profiling-stackframes", "_id": "uE354xX1-6pq5qEqEPux5gAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ConcurrentMergeScheduler.java"], "Stackframe.function.name": ["void org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(org.apache.lucene.index.MergeScheduler$MergeSource, org.apache.lucene.index.MergePolicy$OneMerge)"], "Stackframe.line.number": [639], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "35BPGLqYcVRpRMhVtTI1-AAAAAAAAAAJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ActionListener.java"], "Stackframe.function.name": ["void org.elasticsearch.action.ActionListener$DelegatingFailureActionListener.onResponse(java.lang.Object)"], "Stackframe.line.number": [250], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "CKOgldhpJkxI6GxtBnkMFwAAAAAAAABI"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ClusterApplierRecordingService.java"], "Stackframe.function.name": ["void org.elasticsearch.cluster.service.ClusterApplierRecordingService.updateStats(org.elasticsearch.cluster.service.ClusterApplierRecordingService$Recorder)"], "Stackframe.line.number": [52], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "nrAGsit1vNwpXNBDsxW-CAAAAAAAAAAF"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SecurityServerTransportInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$3.onResponse(java.lang.Object)"], "Stackframe.line.number": [579], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "jqNXsTtyxyukYQAy6-O-GwAAAAAAAAFy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthorizationService.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.AuthorizationService.handleIndexActionAuthorizationResult(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$IndexAuthorizationResult, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, java.lang.String, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AsyncSupplier, org.elasticsearch.cluster.metadata.Metadata, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [582], "Stackframe.function.offset": [64]} +{"create": {"_index": "profiling-stackframes", "_id": "UI6vy2YkxZpNhPhBVD9zrQAAAAAAAAAB"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AmazonHttpClient.java"], "Stackframe.function.name": ["com.amazonaws.Response com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(com.amazonaws.http.AmazonHttpClient$RequestExecutor)"], "Stackframe.line.number": [698], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "JA3L5oTr7kSGnFgD6CVpBwAAAAAAAAAM"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": [""], "Stackframe.function.name": ["void org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction$$Lambda$8956+0x00000008027eb370.accept(java.lang.Object)"], "Stackframe.line.number": [0], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "WAsi5KS1LX4-mmePSPN4qwAAAAAAAABz"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["GatewayMetaState.java"], "Stackframe.function.name": ["void org.elasticsearch.gateway.GatewayMetaState$LucenePersistedState.setLastAcceptedState(org.elasticsearch.cluster.ClusterState)"], "Stackframe.line.number": [506], "Stackframe.function.offset": [11]} +{"create": {"_index": "profiling-stackframes", "_id": "087ujtUEat__kjA2FRsgeQAAAAAAAAAK"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FSDirectory.java"], "Stackframe.function.name": ["void org.apache.lucene.store.FSDirectory.privateDeleteFile(java.lang.String, boolean)"], "Stackframe.line.number": [346], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "DFSw6fr_Dyh89ExFUOBWuwAAAAAAAABm"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AuthenticatorChain.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authc.AuthenticatorChain.authenticateAsync(org.elasticsearch.xpack.security.authc.Authenticator$Context, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [93], "Stackframe.function.offset": [21]} +{"create": {"_index": "profiling-stackframes", "_id": "zP5HzbxY7goeRVwj37voeQAAAAAAAAAC"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLSocketImpl.java"], "Stackframe.function.name": ["void sun.security.ssl.SSLSocketImpl.startHandshake()"], "Stackframe.line.number": [426], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "tupDcGbWHEIVe-Q0MXArXgAAAAAAAAAG"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ShardSearchRequestInterceptor.java"], "Stackframe.function.name": ["void org.elasticsearch.xpack.security.authz.interceptor.ShardSearchRequestInterceptor.intercept(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$RequestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine$AuthorizationInfo, org.elasticsearch.action.ActionListener)"], "Stackframe.line.number": [24], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "BUXwXn0jTEljgr89rND6CgAAAAAAAAAw"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["IntegerPolynomial.java"], "Stackframe.function.name": ["sun.security.util.math.intpoly.IntegerPolynomial$MutableElement sun.security.util.math.intpoly.IntegerPolynomial$MutableElement.setProduct(sun.security.util.math.IntegerModuloP)"], "Stackframe.line.number": [698], "Stackframe.function.offset": [2]} +{"create": {"_index": "profiling-stackframes", "_id": "7SvDCQFg8noiOfIrUqyslQAAAAAAAAAJ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["HashMap.java"], "Stackframe.function.name": ["java.lang.Object java.util.HashMap.put(java.lang.Object, java.lang.Object)"], "Stackframe.line.number": [618], "Stackframe.function.offset": [0]} +{"create": {"_index": "profiling-stackframes", "_id": "XqZ8EmLPraAc01S4qiJfWgAAAAAAAAAZ"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["ThreadContext.java"], "Stackframe.function.name": ["org.elasticsearch.common.util.concurrent.ThreadContext$StoredContext org.elasticsearch.common.util.concurrent.ThreadContext.stashContext()"], "Stackframe.line.number": [114], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "wUUkbH4v-_I9fBBV0L_DSwAAAAAAAAAg"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BuiltinClassLoader.java"], "Stackframe.function.name": ["java.net.URL jdk.internal.loader.BuiltinClassLoader.findResourceOnClassPath(java.lang.String)"], "Stackframe.line.number": [540], "Stackframe.function.offset": [5]} +{"create": {"_index": "profiling-stackframes", "_id": "w-t0BUQhbl_nV8h8YiyiEQAAAAAAAAA1"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SSLEngineImpl.java"], "Stackframe.function.name": ["javax.net.ssl.SSLEngineResult sun.security.ssl.SSLEngineImpl.wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int)"], "Stackframe.line.number": [146], "Stackframe.function.offset": [15]} +{"create": {"_index": "profiling-stackframes", "_id": "V-zEfMlNdgG4SvC62RGySgAAAAAAAAAX"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["AbstractInterruptibleChannel.java"], "Stackframe.function.name": ["void java.nio.channels.spi.AbstractInterruptibleChannel.close()"], "Stackframe.line.number": [112], "Stackframe.function.offset": [4]} +{"create": {"_index": "profiling-stackframes", "_id": "j7E103DHicBcnyrMzev20gAAAAAAAAAx"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["Cipher.java"], "Stackframe.function.name": ["int javax.crypto.Cipher.getOutputSize(int)"], "Stackframe.line.number": [1030], "Stackframe.function.offset": [8]} +{"create": {"_index": "profiling-stackframes", "_id": "MDZqk-bznCkkPcSl3Z06LwAAAAAAAACR"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["FieldsIndexWriter.java"], "Stackframe.function.name": ["void org.apache.lucene.codecs.lucene90.compressing.FieldsIndexWriter.finish(int, long, org.apache.lucene.store.IndexOutput)"], "Stackframe.line.number": [121], "Stackframe.function.offset": [14]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAAAEAT"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["syscall_slow_exit_work"]} +{"create": {"_index": "profiling-stackframes", "_id": "92n0tgLpue4WLe7eq6vpuwAAAAAAAAAW"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["S3BlobContainer.java"], "Stackframe.function.name": ["java.lang.Object org.elasticsearch.repositories.s3.S3BlobContainer.lambda$writeBlob$1(long, java.lang.String, java.io.InputStream)"], "Stackframe.line.number": [128], "Stackframe.function.offset": [1]} +{"create": {"_index": "profiling-stackframes", "_id": "lHp5_WAgpLy2alrUVab6HAAAAAAALTpU"}} +{"ecs.version": "1.12.0", "Stackframe.function.name": ["new_sync_write"]} +{"create": {"_index": "profiling-stackframes", "_id": "KZn_I-ZtnojJ7fIDZHHneQAAAAAAAADy"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["BlobStoreIndexShardSnapshots.java"], "Stackframe.function.name": ["org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots.fromXContent(org.elasticsearch.xcontent.XContentParser)"], "Stackframe.line.number": [294], "Stackframe.function.offset": [34]} +{"create": {"_index": "profiling-stackframes", "_id": "c8gmQiPjvAnokd-rAm4_OQAAAAAAAABH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["SessionOutputBufferImpl.java"], "Stackframe.function.name": ["void org.apache.http.impl.io.SessionOutputBufferImpl.write(byte[], int, int)"], "Stackframe.line.number": [167], "Stackframe.function.offset": [17]} +{"create": {"_index": "profiling-stackframes", "_id": "hWcFfmcayZnqxV8VaktDEwAAAAAAAAAH"}} +{"ecs.version": "1.12.0", "Stackframe.file.name": ["JsonGenerator.java"], "Stackframe.function.name": ["void com.fasterxml.jackson.core.JsonGenerator.writeStringField(java.lang.String, java.lang.String)"], "Stackframe.line.number": [2187], "Stackframe.function.offset": [1]} diff --git a/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-stacktraces.ndjson b/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-stacktraces.ndjson new file mode 100644 index 0000000000000..23774e9b2b43b --- /dev/null +++ b/x-pack/plugin/profiling/src/internalClusterTest/resources/data/profiling-stacktraces.ndjson @@ -0,0 +1,88 @@ +{"create": {"_index": "profiling-stacktraces", "_id": "p0FpNwvinkonmYTrP_m8AQ"}} +{"Stacktrace": {"frame": {"ids": "SA0fsx010mzWc4t8ff1-lAAAAAAABCaZUJmIMEc6K8gJ39NHYaD0WwAAAAAAAhyGSA0fsx010mzWc4t8ff1-lAAAAAAABBdGSA0fsx010mzWc4t8ff1-lAAAAAAABWWLSA0fsx010mzWc4t8ff1-lAAAAAAABO5fSA0fsx010mzWc4t8ff1-lAAAAAAACbHCSA0fsx010mzWc4t8ff1-lAAAAAAABFnNVNoyxdugL4O4pEtN-lEJQwAAAAAADKVLVNoyxdugL4O4pEtN-lEJQwAAAAAADKAFVNoyxdugL4O4pEtN-lEJQwAAAAAADHogVNoyxdugL4O4pEtN-lEJQwAAAAAAD0DTVNoyxdugL4O4pEtN-lEJQwAAAAAADtnd", "types": "DAM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "V-R5JWu8vu2g_Vodg6Kd6w"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABck8v4vce5CPjZaoKS8wiSZwAAAAAAAAAVBqEVAd8MPrtkYhJgO4GhZAAAAAAAAAAEepNUCeEe4JglhIlXIVE76AAAAAAAAAAG7TfJIA5ukUl_URVlhByP5QAAAAAAAAAu7MyQRgXoynWLAIL3MMBcgwAAAAAAAAAEeJ7mihRgQcJvejyU6kLDVAAAAAAAAAAcrFCnpw1umelBJZQ8bfB_gwAAAAAAAAAWovSFLiAX5U3zPkxnICf4iQAAAAAAAAARbnYc3RJmtKwpcpofJJsHfwAAAAAAAAACBrq2tMeYvo-7GC1rkF8BOwAAAAAAAAAgCOij2gsV-4lHDIB8-jTbygAAAAAAAACGnMqxSWeol-RN_p8hXE5oZQAAAAAAAAAQ7HvWKt-xH9wdfCiPfTMv1gAAAAAAAAAIYRdREBgpcH5AEXcyjzcstgAAAAAAAAABkRX6qZbTW9c5D6S8BjNVUQAAAAAAAAACTnhL_a5gaR0GbLDTAKZU8gAAAAAAAAATYhErxbFc2y82dI3FdqHUOwAAAAAAAADs0vu-8-EP1KjTNjFoZrojbgAAAAAAAAAh15Kl_LNlY1wkBO4-dVuptAAAAAAAAAAM6aHBr7IoSaYRBHN60TsSvgAAAAAAAACCx88iiyZQ8B1lQnhTbyrEkwAAAAAAAACNr21mW5wIwvlwHfvj4Leh8wAAAAAAAACosmN6GZa9-v-IcDUWnhvNkAAAAAAAAABLvs-DizK6zOgT7PLk55Hi8wAAAAAAAABgkBc-zardyidmU9M2FtS_7wAAAAAAAACUpT78-BAaZ59fFXwdquC9KQAAAAAAAAAFHTWghk6sgAJ14g_dZIR1agAAAAAAAAAMu6cCfBpCKfnm1TY7pHx6ZgAAAAAAAAAEayyYx9DIcjy4NGNqpq88GQAAAAAAAAAPDIud9aCnVVpiy1IhYas8ZwAAAAAAAAAFRO5fkjSwhs-w1RFeE1q0WQAAAAAAAAACDIud9aCnVVpiy1IhYas8ZwAAAAAAAAAFNIZuECXcBG2pC3vk7GF71gAAAAAAAAAe087ujtUEat__kjA2FRsgeQAAAAAAAAAKBJKRobhikTEVTM_TJ5G21wAAAAAAAAAFZ3m1S883R8QNRDHePf66cAAAAAAAAAADweat5ldYNeQ9Grv2_1-CAwAAAAAAAAAOCgEj6Rp3n26KLxmeHzazOAAAAAAAAAAWebuxNWQVKJLKmMPt8wkOJwAAAAAAAAAOLqiOes3kysZtBc8totbsBAAAAAAAAAAASVqTovndX3vgWwiNPDrUZAAAAAAAAM4TqjB_amR59Lv13Nhle_NwbwAAAAAAENV5lHp5_WAgpLy2alrUVab6HAAAAAAAwACLlHp5_WAgpLy2alrUVab6HAAAAAAAAEIGlHp5_WAgpLy2alrUVab6HAAAAAAALb_llHp5_WAgpLy2alrUVab6HAAAAAAALb-clHp5_WAgpLy2alrUVab6HAAAAAAALbjVlHp5_WAgpLy2alrUVab6HAAAAAAALpFFlHp5_WAgpLy2alrUVab6HAAAAAAALpAYlHp5_WAgpLy2alrUVab6HAAAAAAAF0JUlHp5_WAgpLy2alrUVab6HAAAAAAAFw9nlHp5_WAgpLy2alrUVab6HAAAAAAARLUslHp5_WAgpLy2alrUVab6HAAAAAAAMCXYQTXwwuqN0mLb-8lqckiaTQAAAAAACHlyQTXwwuqN0mLb-8lqckiaTQAAAAAAAWojQTXwwuqN0mLb-8lqckiaTQAAAAAAB4DjQTXwwuqN0mLb-8lqckiaTQAAAAAAB4A6lHp5_WAgpLy2alrUVab6HAAAAAAApz47", "types": "CAMsBQIDEAQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "evah_aPn6ywh3ieU3e4MDQ"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAACuyaSy1RHb0tl4hOkUXXLXQQAAAAAAAAAzGUwipo03N4glyS6268EEmgAAAAAAAAAXC7Gr60ZG8XU9_R3ucXNk1wAAAAAAAAErrLErn8W8_gFwO7zvGO-LBwAAAAAAAAAIOUMeXZZ6fO-t9RTzPCiRtQAAAAAAAAABKZn_I-ZtnojJ7fIDZHHneQAAAAAAAACFzV-LQYJm41zGMkfXUp2AHgAAAAAAAAF_QzYQ9wb1jS08S2BufSVqWAAAAAAAAAAC0GU5IksNSYIYre39EnRVtQAAAAAAAAAczUqGzEtASB77lr6F9wlBfAAAAAAAAAAEy3hT9dbM11gdF2x7xJH8oQAAAAAAAAARiZ3mYpUZ_vDzUycli_tCcQAAAAAAAAAuWE9wZHWs5kC-tWUiTpjMyQAAAAAAAAA20Pih7Ldp-yyaIKsINSnPvQAAAAAAAAAfFSvf6nmXZySKV-TedM62ngAAAAAAAAABt5nOOkOTN6QC2_E5A_LICgAAAAAAAAAQl4dVCOTlRJdBiyQ88Tx8OQAAAAAAAABR-FIPITFlgylPOavKEh5SEQAAAAAAAAAB4w-7ZRIHk2tM9RfD6v6f4gAAAAAAAAAVI9AUeiUn_SK_Dgdkbb3mdAAAAAAAAAASnTSx0380z3H9OoIBkTGK2wAAAAAAAAAxBjycB5yXrYLMnUcjhbPq2gAAAAAAAAAnU2mkS0m3fBX-awRgTvpBLAAAAAAAAAAlCsbq98qEMjLfznv89zxcQwAAAAAAAABASlb8MNVKIFfE9HJqtN3BhwAAAAAAAAAAhrCIM-i5cm0sSd-oVTZrsgAAAAAAAC8kwEIfl0pGBuepuUcTwdKc2gAAAAAAAKGdwEIfl0pGBuepuUcTwdKc2gAAAAAAAJF2", "types": "CAMmBQMD"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "NPliZYuvPv2y5wnRJfOutw"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAACuyaSy1RHb0tl4hOkUXXLXQQAAAAAAAAAzGUwipo03N4glyS6268EEmgAAAAAAAAAKds9yTvk8UzKAgDSjs6pNkgAAAAAAAAANzVmgO3uV6bZtx2XUjAkXcgAAAAAAAAAHNJPFmv3cYB4fnHHuI2lrYQAAAAAAAABbsh1T4lVaqf9yZbH1lhPrZwAAAAAAAACNduOfgYTG-Pz3qxfosjBOKgAAAAAAAAAEFTD_DMq9LCr2rMh4XAWQegAAAAAAAAAF5wGUH60A7iQqyWZA8jj7kwAAAAAAAAAdDPKZG86WCe-rkFTx_IAdagAAAAAAAAAIhCl4jaZsLnxk3C0-qCjENwAAAAAAAAAFfMf02bFW9UOsHXaY1ju3UAAAAAAAAAELie51PKalSPz0oTw25hOjdgAAAAAAAAAHxhzTSPDm8vP1CtKm1pHa_AAAAAAAAADX3SU4n_eVvbLOxW0zu9gonAAAAAAAAAATBULXlXluMevM23wGn-scGgAAAAAAAABIX3YYuA6U4OM2ZjQu8fVwYwAAAAAAAABLSNDYMaokxZpNhjFZnC0cqQAAAAAAAAABm_DK0nAVx1tMIimjFYyQPAAAAAAAAAAS_B6c9784WlLvFF9uk3pSswAAAAAAAAAcFhP6JufLZYYhuADwCLvRKAAAAAAAAACVClvIuFYr5ArIOKSAaLGqggAAAAAAAAGv5tsfFOiB0XQGtxfawg0JiQAAAAAAAAGPe8ARrqT9JmZcuLd6G8ZTMgAAAAAAAAAGV6Xv8yqxVPgM9JZWMvD_ogAAAAAAAAADS4xo2K-7S9Psi5KVtkSU0AAAAAAAAAAONNX6LKmc60fQ-V_Nw2_9cAAAAAAAAACwVGJu-bYJBqeYrugO5COQdQAAAAAAAAHGAxJNlcXBvrgVOpR8a1WEYgAAAAAAAAG2n0mWG92K0zbUz5S-_ixlIAAAAAAAAABrKxHEggHQvpMo7NXk9m-aKgAAAAAAAAAghvijQK1a5iiWkFoVp40y5AAAAAAAAAAGvRwDdjzKXpreYxi90MDGQQAAAAAAAABms-5AzRQS0AyjARcxs2D2DQAAAAAAAAAX4Wda4DEj07iGWB9mKOvWMAAAAAAAAABo45faa5L8TTwA9zJYlmGKywAAAAAAAAAUq3uedK83ZBGp21KqIIcD7QAAAAAAAACWwh1zX_oqIoKNefuSr1ngvgAAAAAAAAAfPu2JWw096K4wEF2usuCt-AAAAAAAAABc_gZdvwQP6FQ5RcMsyYjAXwAAAAAAAAFD1PIPTBbtPHUrg0d3N2nuygAAAAAAAABBlt4DCYuCTF_qGLbdRnIhjAAAAAAAAADDFERPJCfrzkqs-7XhU53jhwAAAAAAAAFtzP5HzbxY7goeRVwj37voeQAAAAAAAAACy87oVbGEsnZxcfXcdrLYswAAAAAAAAB6i1t0pdr_xnHfk_UsEnpDiwAAAAAAAAAMip4jveo5OesPxqJEnXrM0wAAAAAAAAAOrDli4oCQ8GWnljRH2_1bLAAAAAAAAAEZH2XMIGvXG_73d5XzBvFSxAAAAAAAAAEB3D_A_sI8XDgpK1lgEmfWZgAAAAAAAAC_hqzAzTCpj-Nsh96skuh10wAAAAAAAABJibtF619pQHGNKblUfb9MKwAAAAAAAAANHJHMeViEmhpbdveA5zS4zgAAAAAAAADUNW0MvXdcfyNB_rjxH_JHXgAAAAAAAAAN16j8HtYPNjd3qdRoXnMi0AAAAAAAAABaO4wSxfOE-c6Sft1wmb_6fgAAAAAAAABpoKMpPO_rrguOLYx8VBTGhgAAAAAAAAAGakj2EbMcV1BY1x-2V-R6VQAAAAAAAAANqND66z7potQhxSJ1H4ezHgAAAAAAAAAG2B-rbS8KhbB8ePRnpVf7_QAAAAAAAAAU89ogc5uTbOqh2aLJlzHKmAAAAAAAAAAX9ccfl0YdabzwSUY2PdYA0QAAAAAAAAATDT06D5A7Yxiqx6IJ7Kvu0wAAAAAAAACCtq710yUF9bzkGXjQwM8_6QAAAAAAAADWH7Tmwg9rKZuxl8eAfe0cQwAAAAAAAAATpKAwMR-9-3afO3tccFzRKwAAAAAAAAIXbYAsS36pm68v9ebHURyhdAAAAAAAAAACBUXwXn0jTEljgr89rND6CgAAAAAAAAAwR_ZB9SjojSrHSQ8dwIq_WQAAAAAAAAOrIvW6glp0EMhdH986Hu8MmgAAAAAAAAAA", "types": "CANTBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "VxcDhJCIVlMC063NXB1S1Q"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAANGUEIf0h4CmbF3WXaliniYgAAAAAAAAAL6bg5h6o_GLUtahiXyigwlQAAAAAAAAAsJy9mUBVZJITLUNGFd8QS0QAAAAAAAAFJX5HtFQ851Qd03wmhWrZR4QAAAAAAAAAqMs8C2PsOPTwJ_BWU-NqKjwAAAAAAAAABXC-En-mvMkLnH_EQYbHTPwAAAAAAAAABDsEcu-FxsA-5RKaWB1grdAAAAAAAAAApPeFsynzCKRZawnN184w4uwAAAAAAAAAOfo33a47SQa_ikvx14Wo6GwAAAAAAAAAmTF5EMbS9G90c1yPz7xfKpAAAAAAAAAAChEBKqh2xU-RorWUVO4ewtQAAAAAAAADttGxEGlv356rmSfx4IkmLcQAAAAAAAAAWtqJQIOovDd8UazKau6rQMwAAAAAAAAAIfo33a47SQa_ikvx14Wo6GwAAAAAAAAAmzvnrbT9TB1hdLy7i_u1ShgAAAAAAAAAltGxEGlv356rmSfx4IkmLcQAAAAAAAAAWtqJQIOovDd8UazKau6rQMwAAAAAAAAAIfo33a47SQa_ikvx14Wo6GwAAAAAAAAAxDjDYSMBm5cQnwKCRH0dlgwAAAAAAAAA0obEloCxQqTOnivGYEKZEEAAAAAAAAAAuAE1Q7tv3S3rfQh4l5ABt6AAAAAAAAABnB8SjIPdc3ZwlcMQD5LrUqAAAAAAAAACOFC-FZ1oAaXNFzXvQCjtC_AAAAAAAAAAUnxbylxGsMi-XNEec__mC2gAAAAAAAAAPw-t0BUQhbl_nV8h8YiyiEQAAAAAAAAA1VdDRdK9-3VxhlLY5l0wZhQAAAAAAAAGhlLBPRDZhOsSZ0SPWLgVYwQAAAAAAAAAQVlTLE-LbC-qAF2rlk-BxLQAAAAAAAABIZVMl7SvWgt8_FxFL79kGYgAAAAAAAAHmdfk3O1V70lDk9OWRJ4O2zgAAAAAAAABCT2JZOvbQqWZFxul4uMvPzgAAAAAAAABw5VGPPNmqbrejwy3AxU1wmQAAAAAAAAB5j7E103DHicBcnyrMzev20gAAAAAAAAAxeWbRBA5HjtSejwiG_37xQwAAAAAAAAABv5Q60hHLUFC78bfvz1WyQQAAAAAAAAAA", "types": "CAMlBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "-lrLeM0iQSsI3WnVH08B3w"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAANVk4geTYpM8uDz6HvI1jT73gAAAAAAAAAZHc4fbH8wnl-aZPA1_7gB-wAAAAAAAAAyaBWoLwWk5u6kqgD3gwKyagAAAAAAAAAYluqtQRsIjOPWY7wdgiD4bAAAAAAAAAAIwRG5B2klLAxXtt0B9lVulAAAAAAAAADSeBJz8rf8VBkiNSfy4HLlcwAAAAAAAAAMYcHA99kMtpR5AAkygC-qMAAAAAAAAAAgPvkUluf_nN5PcG5RTjFmTgAAAAAAAAAG48AhUVUmIzx4uY_a_nqGPwAAAAAAAAAeXjeOrvBx98FSmUHFqJE5JAAAAAAAAAAA", "types": "CAMXBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "XF9MchOwpePfa6_hYy-vZQ"}} +{"Stacktrace": {"frame": {"ids": "634wiWh6F21tPpXr0Zz3mgAAAAAAEfFi8NlMClggx8jaziUTJXlmWAAAAAAAAIYIZSkKN3zNxr0HYuO2pqe5hQAAAAAAwcBwZSkKN3zNxr0HYuO2pqe5hQAAAAAA5ECvZSkKN3zNxr0HYuO2pqe5hQAAAAAA4_9_ZSkKN3zNxr0HYuO2pqe5hQAAAAAAj7b5ZSkKN3zNxr0HYuO2pqe5hQAAAAAAgwXKZSkKN3zNxr0HYuO2pqe5hQAAAAAAgu3UAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABch4dwrMYlRFRjyfsvjXt4tgAAAAAAAAAg3V-8FLy1GH8nVRceMDeaiwAAAAAAAAABnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAV4j8yS0qsC_6XfTfMdPp5KQAAAAAAAAAQ9oBnE4xnAvOiOv1q-LbApgAAAAAAAAAEwRQstrBYZ0ShmJnYV-ADrQAAAAAAAAFLAFikCbtP_Dm7iUthjnlnEgAAAAAAAAGtTfYUtN-rf_0uYWSYAHKfDQAAAAAAAAAH4O-ovD5bG6j4SStsVkgzcQAAAAAAAABHacnJzC_C1bsmTPMH_pcsCAAAAAAAAABdoGQ2OUdACCpDvWCPN-t91QAAAAAAAAAMagUnXAr2_hsl_qyYsSOrqQAAAAAAAABcIP-4kS9K2z9dstopMSzdEAAAAAAAAAAKW2G52eIffs6rSMZaDokh0AAAAAAAAAATZUblhfsP3eghXbFQlRo7WwAAAAAAAAABmwuQyMHK5RYUe_aaboQONgAAAAAAAAADyScC9Npb_ya8Br_QJ7EUZAAAAAAAAAB7Sm149Q4n4lGGxDiZNf94FQAAAAAAAAAHPUPItXL9ODmL0kwnalRigwAAAAAAAAARPUPItXL9ODmL0kwnalRigwAAAAAAAAARPUPItXL9ODmL0kwnalRigwAAAAAAAAAj77BcdPidwQf8JepqsYlnCAAAAAAAAACPwUUkbH4v-_I9fBBV0L_DSwAAAAAAAAAgFTD_DMq9LCr2rMh4XAWQegAAAAAAAAAF5wGUH60A7iQqyWZA8jj7kwAAAAAAAAAdIGvGOb8CKDtqOos6VI5kCAAAAAAAAAAIihMpsHacOmWht-v_3Vk1hQAAAAAAAAAG8iRqFHNeeA-Vq5mM-jaESgAAAAAAAAAG", "types": "CAMgBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "SsxQM9_HdP1iq1X4sNsK_Q"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAACuyaSy1RHb0tl4hOkUXXLXQQAAAAAAAAAzGUwipo03N4glyS6268EEmgAAAAAAAAAKds9yTvk8UzKAgDSjs6pNkgAAAAAAAAANzVmgO3uV6bZtx2XUjAkXcgAAAAAAAAAHNJPFmv3cYB4fnHHuI2lrYQAAAAAAAABbsh1T4lVaqf9yZbH1lhPrZwAAAAAAAACNduOfgYTG-Pz3qxfosjBOKgAAAAAAAAAEFTD_DMq9LCr2rMh4XAWQegAAAAAAAAAF5wGUH60A7iQqyWZA8jj7kwAAAAAAAAAdDPKZG86WCe-rkFTx_IAdagAAAAAAAAAIhCl4jaZsLnxk3C0-qCjENwAAAAAAAAAFfMf02bFW9UOsHXaY1ju3UAAAAAAAAAELie51PKalSPz0oTw25hOjdgAAAAAAAAAHxhzTSPDm8vP1CtKm1pHa_AAAAAAAAADX3SU4n_eVvbLOxW0zu9gonAAAAAAAAAATBULXlXluMevM23wGn-scGgAAAAAAAABIX3YYuA6U4OM2ZjQu8fVwYwAAAAAAAABLSNDYMaokxZpNhjFZnC0cqQAAAAAAAAABm_DK0nAVx1tMIimjFYyQPAAAAAAAAAAS_B6c9784WlLvFF9uk3pSswAAAAAAAAAcFhP6JufLZYYhuADwCLvRKAAAAAAAAACVClvIuFYr5ArIOKSAaLGqggAAAAAAAAGv5tsfFOiB0XQGtxfawg0JiQAAAAAAAAGPe8ARrqT9JmZcuLd6G8ZTMgAAAAAAAAAGV6Xv8yqxVPgM9JZWMvD_ogAAAAAAAAADS4xo2K-7S9Psi5KVtkSU0AAAAAAAAAAONNX6LKmc60fQ-V_Nw2_9cAAAAAAAAACwVGJu-bYJBqeYrugO5COQdQAAAAAAAAHGAxJNlcXBvrgVOpR8a1WEYgAAAAAAAAG2n0mWG92K0zbUz5S-_ixlIAAAAAAAAABrKxHEggHQvpMo7NXk9m-aKgAAAAAAAAAghvijQK1a5iiWkFoVp40y5AAAAAAAAAAGvRwDdjzKXpreYxi90MDGQQAAAAAAAABms-5AzRQS0AyjARcxs2D2DQAAAAAAAAAX4Wda4DEj07iGWB9mKOvWMAAAAAAAAABo45faa5L8TTwA9zJYlmGKywAAAAAAAAAUq3uedK83ZBGp21KqIIcD7QAAAAAAAACWwh1zX_oqIoKNefuSr1ngvgAAAAAAAAAfPu2JWw096K4wEF2usuCt-AAAAAAAAABc_gZdvwQP6FQ5RcMsyYjAXwAAAAAAAAFD1PIPTBbtPHUrg0d3N2nuygAAAAAAAABBlt4DCYuCTF_qGLbdRnIhjAAAAAAAAADDFERPJCfrzkqs-7XhU53jhwAAAAAAAAFtzP5HzbxY7goeRVwj37voeQAAAAAAAAACy87oVbGEsnZxcfXcdrLYswAAAAAAAAB6i1t0pdr_xnHfk_UsEnpDiwAAAAAAAAAMip4jveo5OesPxqJEnXrM0wAAAAAAAAAOrDli4oCQ8GWnljRH2_1bLAAAAAAAAAEZH2XMIGvXG_73d5XzBvFSxAAAAAAAAAEB3D_A_sI8XDgpK1lgEmfWZgAAAAAAAAC_hqzAzTCpj-Nsh96skuh10wAAAAAAAABJibtF619pQHGNKblUfb9MKwAAAAAAAAANHJHMeViEmhpbdveA5zS4zgAAAAAAAADUNW0MvXdcfyNB_rjxH_JHXgAAAAAAAAAN16j8HtYPNjd3qdRoXnMi0AAAAAAAAABaO4wSxfOE-c6Sft1wmb_6fgAAAAAAAABpoKMpPO_rrguOLYx8VBTGhgAAAAAAAAAGakj2EbMcV1BY1x-2V-R6VQAAAAAAAAANqND66z7potQhxSJ1H4ezHgAAAAAAAAAG2B-rbS8KhbB8ePRnpVf7_QAAAAAAAAAU89ogc5uTbOqh2aLJlzHKmAAAAAAAAAAX9ccfl0YdabzwSUY2PdYA0QAAAAAAAAATDT06D5A7Yxiqx6IJ7Kvu0wAAAAAAAACCtq710yUF9bzkGXjQwM8_6QAAAAAAAADWH7Tmwg9rKZuxl8eAfe0cQwAAAAAAAAATpKAwMR-9-3afO3tccFzRKwAAAAAAAABwbYAsS36pm68v9ebHURyhdAAAAAAAAAACBUXwXn0jTEljgr89rND6CgAAAAAAAAAwR_ZB9SjojSrHSQ8dwIq_WQAAAAAAAAOrIvW6glp0EMhdH986Hu8MmgAAAAAAAAN74jtFwV4I0VFxZ633CiXAEQAAAAAAAAAA", "types": "CANUBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "AIcHF1g0UqebNhdXerG6rQ"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnyhAKi3MXCBa6QbMykpz9ogAAAAAAAAAIImSzkW6pD8jhY2FJThRJ8QAAAAAAAAAFS3fVfiwq94i14_VfWgkFiAAAAAAAAAAF86ShTOKEhMBNNZND3RBl5QAAAAAAAAABd8JoiANFYdN_HlsRPvshMwAAAAAAAAAxIz1h-lJR9hawlSRETyh1qQAAAAAAAAAIeOepQqcpphM0NTbieX0wIgAAAAAAAAE4ooplCYR951bf9t1YS6OUBQAAAAAAAACrWAsi5KS1LX4-mmePSPN4qwAAAAAAAABzUnU61_VzRQulrS0OJYkU7gAAAAAAAABaHJWDExCp8dmw9-CAF-WXfwAAAAAAAAAJoxSW321mwoDVUa0haFaP7QAAAAAAAAAuTyZK4BUMsPg3P3wu6EYhkAAAAAAAAAB6PiSwsMqyjn24GnxXwBvfuQAAAAAAAAAGzY8oFom0Mq0j4EO6ho2wLAAAAAAAAAMEeC3OrXu_7VLA9EdCZMRh6AAAAAAAAAGdLeaqrhFv22rb1wzUlEMwAgAAAAAAAAAM4FrN4VeCu4HJZNavjw0tmgAAAAAAAAAgmSb0V8ANbBWpi7TZTXcPNwAAAAAAAAALP4ZjI7g37fWz45cghUwTxQAAAAAAAAA_GKHjZXGfLxTKi_lPdb3kRgAAAAAAAABVOYpTnRQxT_yM-wTPYnG49wAAAAAAAAAC_OOeQuiXtvgynmE43QMbEAAAAAAAAAAASVqTovndX3vgWwiNPDrUZAAAAAAAAHzEvQ7EacG6CR4rzcFaNFEsTQAAAAAAATk6lHp5_WAgpLy2alrUVab6HAAAAAAAwACLlHp5_WAgpLy2alrUVab6HAAAAAAAAEIGlHp5_WAgpLy2alrUVab6HAAAAAAAMRzjlHp5_WAgpLy2alrUVab6HAAAAAAAMRyclHp5_WAgpLy2alrUVab6HAAAAAAAMRwHQTXwwuqN0mLb-8lqckiaTQAAAAAABml_QTXwwuqN0mLb-8lqckiaTQAAAAAACEMYlHp5_WAgpLy2alrUVab6HAAAAAAATgeqlHp5_WAgpLy2alrUVab6HAAAAAAATXEilHp5_WAgpLy2alrUVab6HAAAAAAAIgIAlHp5_WAgpLy2alrUVab6HAAAAAAAIgE0lHp5_WAgpLy2alrUVab6HAAAAAAAKgJ7", "types": "CAMdBQIDDAQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "Ce77w10WeIDow3kd1jowlA"}} +{"Stacktrace": {"frame": {"ids": "634wiWh6F21tPpXr0Zz3mgAAAAAAEfFi8NlMClggx8jaziUTJXlmWAAAAAAAAIYIZSkKN3zNxr0HYuO2pqe5hQAAAAAAwcBwZSkKN3zNxr0HYuO2pqe5hQAAAAAA5ECvZSkKN3zNxr0HYuO2pqe5hQAAAAAA4_9_ZSkKN3zNxr0HYuO2pqe5hQAAAAAAj7b5ZSkKN3zNxr0HYuO2pqe5hQAAAAAAgwXKZSkKN3zNxr0HYuO2pqe5hQAAAAAAgu3UAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAVcBTlmvRfiK_eaWEDctBQ5wAAAAAAAAAMjLRjRKJujxpIzkv5EAU8CAAAAAAAAADEKPNYkONEetadZox7ZPj-_wAAAAAAAACojPaG_bLbWLTHMVbsZ6KO3wAAAAAAAAPSX-q4xdk6PYPLAgZGMSlgiwAAAAAAAAAZHH3S5b5wm0-iwMj6LUThxAAAAAAAAAAyTqPaoMp2He0IHYVdVGyXigAAAAAAAAAY7wrMCA1tiwccLQqKJr9yEwAAAAAAAAAI2yAqVPrM2wZm88ulDRIkCgAAAAAAAACE5t8GiksjQcuLCsu8jyRsaAAAAAAAAAA2jojK5E5-Tpf57iS2qx9_2QAAAAAAAAA2rHKWkGh7pRChoM8BKsgaigAAAAAAAAAUwlgkZprTs7F_QEEM-7VvZwAAAAAAAAAGFHxMx1_4SqiAeAbrZHJ7sQAAAAAAAAAYi0MJsjg1nTMYg21Lh8j5pAAAAAAAAABTKtHBJ2R0vuuTX50F8kgGAgAAAAAAAAAhVDYfO2UIwBGcuJQmu3YTtwAAAAAAAAAU_eHurMk1AuWI20vPBelYUQAAAAAAAABRReKfR-5xbP5LM4-DWXoUigAAAAAAAAAOMrj6Z8YTvyj7p7UD3GGpMgAAAAAAAAAFCNW3Uw4RnzkMwEIUegsYPwAAAAAAAACFkpBi8LFR3RTjSJqFuljOuQAAAAAAAAAAGXH6S9Nv2Lf0omTz4cH4RAAAAAAAAClRfhsEKXDuxJ-jIJrZpdRuSAAAAAAAAFtjfhsEKXDuxJ-jIJrZpdRuSAAAAAAAAEJ_fhsEKXDuxJ-jIJrZpdRuSAAAAAAAADZ4", "types": "CAMbBQQD"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "JvISdnJ47BQ01489cwF9DA"}} +{"Stacktrace": {"frame": {"ids": "lW7fiQNIMpeUsn4R6s23pwAAAAAARq6glW7fiQNIMpeUsn4R6s23pwAAAAAAp3aplW7fiQNIMpeUsn4R6s23pwAAAAAApuPOlW7fiQNIMpeUsn4R6s23pwAAAAAApwWL", "types": "BAM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "ZZ003BQ7N2U_lm0xfG38Bw"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnC-hFb4flwkETp_lahExtrwAAAAAAAAAMyqhsLQpHnDkAN8Nbjjx5JQAAAAAAAABpbecvgDELr5B5ZYyfqmyRzQAAAAAAAACqS5_Ae_ABcHEi_tFSU_YdMgAAAAAAAAC9JwuJ_YrJlPmIg66vmsQiFAAAAAAAAAAzDFSw6fr_Dyh89ExFUOBWuwAAAAAAAABm5q05wRKHTvDR50L-9gxI_QAAAAAAAAAamFLCPRKYSR953-KUHmrTKQAAAAAAAAAFP7LRUTUpfWcPCMm1bmRUrgAAAAAAAAAYLY5nQliSvp7OkEEaJEKLkwAAAAAAAABBbigR-ShDu7V7qAzdPnM3tAAAAAAAAADaRp8oHoivvR1QPD15A2l2aQAAAAAAAAAeo5Yet5LouZ46IDsTOII1IgAAAAAAAAAbXlXfalHUp2vnq0b86Ske7QAAAAAAAABAIWt15Ku8-XXZGHssEyOb_gAAAAAAAAAw_NbGvNUAYnubBA2-cDqDrQAAAAAAAAAeOnLcYjZw6TA_n_91fXkLXAAAAAAAAAAMC5AvyP3bA4PjoVWj5P4reAAAAAAAAAADev9B8ljReSM94vfJilTEvgAAAAAAAAAMe4ya-skDHmxwpVLi-SiX7wAAAAAAAABwQpI4ER3R8tI6upvquCghPgAAAAAAAABGmFLCPRKYSR953-KUHmrTKQAAAAAAAAAFRoDaQXQoj9oJAPcF2bxG2gAAAAAAAAAIThW7aRtMu5otJJ-vTe9tmQAAAAAAAABMmFLCPRKYSR953-KUHmrTKQAAAAAAAAAFYfB7-hrLT6gRL7Zld6Lp8QAAAAAAAAAQgA6euexXfLm-c-5bdW_pngAAAAAAAAAxmFLCPRKYSR953-KUHmrTKQAAAAAAAAAFTF7R8j8eszhmy8WskJZ2NAAAAAAAAAAI4pUL3Hn4ak1IOxEqUVFkHAAAAAAAAAAWsfblkOdEaLUvfgvW-QAdjgAAAAAAAAASmFLCPRKYSR953-KUHmrTKQAAAAAAAAAFipWtYiD0L8zHlsu-KRlKIwAAAAAAAAAUDTQx8l7VJrszvdqL-9PytgAAAAAAAAARYgOo_ePEdS6xTt4Sk9uAVQAAAAAAAABpsE8Y8IrvW4YwnRePcOob7gAAAAAAAADrh7EwhN3qpUCOhT4f95Qz0gAAAAAAAAExsfblkOdEaLUvfgvW-QAdjgAAAAAAAAASKTge2icH_VE2kyqCeDCWXgAAAAAAAAAFNDsPouY3NiBzl33zaU7fMgAAAAAAAAA4rJNvWVtt3dJDIQfHVkT3mAAAAAAAAAAkeG5s_qI4F4I51_yuNS46mwAAAAAAAAAOjqNXsTtyxyukYQAy6-O-GwAAAAAAAAFy7pNlbTUIFAGF4ew35tQ1mAAAAAAAAABAtupDcGbWHEIVe-Q0MXArXgAAAAAAAAAGnpAgnwz74Cv0gdn19xaCuAAAAAAAAADyrQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAFHBnk-r2jmt48gRTNgMOf8wAAAAAAAAAlg6A5O5DE8lToSDEW-xkfTwAAAAAAAAESrQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAFHBnk-r2jmt48gRTNgMOf8wAAAAAAAAAl5-kXfhOMZeJHGZEEqUgZKAAAAAAAAADSrQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAFHBnk-r2jmt48gRTNgMOf8wAAAAAAAAAl2i9E7A7hICqdU2K3ciAqMgAAAAAAAAFLrQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAFHBnk-r2jmt48gRTNgMOf8wAAAAAAAAAlbzjbwk-dGTAEYzErTwuuOQAAAAAAAADgrQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAFHBnk-r2jmt48gRTNgMOf8wAAAAAAAAAlu1a5bpPCc1mWwQaCPFMnewAAAAAAAAAGnpAgnwz74Cv0gdn19xaCuAAAAAAAAADyrQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAFHBnk-r2jmt48gRTNgMOf8wAAAAAAAAAlBPKHF0uWLBGF-EDvSz50AwAAAAAAAAAGnpAgnwz74Cv0gdn19xaCuAAAAAAAAADyrQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAFHBnk-r2jmt48gRTNgMOf8wAAAAAAAAAl7tZRpCUjHjYLEjfN8TUeQAAAAAAAAABwrQ3u6x1hcLs9pHgHDEucRgAAAAAAAAAFHBnk-r2jmt48gRTNgMOf8wAAAAAAAAAynrAGsit1vNwpXNBDsxW-CAAAAAAAAAAFLewwMUXjDx8itumiJ5m9uAAAAAAAAAAOIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABhJgyhaKZ9eSJym5BMY7B2wAAAAAAAAATYIa5zXbUOkdcfY3BuS_SLwAAAAAAAAAKZaLM93n34r2A8Tcv4UQ0mgAAAAAAAABCIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABsNHGncE46bxEYqLkiTNaMgAAAAAAAADJmT2KIvEsDcA0I2RiMDHSuAAAAAAAAAAL2s9Z-1EblvqRm49b6lgFUQAAAAAAAAAy4wHidvPJpZTy7Q8lK21otgAAAAAAAAAfZ7ZAUH4Eu0mE1Lr-7VKuiwAAAAAAAACg35BPGLqYcVRpRMhVtTI1-AAAAAAAAAAJim4CSpLxZ-7jo4vfOXMUNAAAAAAAAAAM1XoENb4qIQOXPbHVVVKpqgAAAAAAAAAMmFLCPRKYSR953-KUHmrTKQAAAAAAAAAFJA3L5oTr7kSGnFgD6CVpBwAAAAAAAAAMn_CesQ5pN3dpPkarM3dScAAAAAAAAAAOizoIqZ2EJGa3SfYoWrHMNwAAAAAAAAFJ83pPtFJ0Pe4c5bSskvCkMAAAAAAAAABnkgFL8vDWeva5yNPPlsZUygAAAAAAAAA3etyLdtogTiVt3WXDEehDtAAAAAAAAAAHUMvK1DDwEUhXYDkQsZey_gAAAAAAAAAYjJKyCKnhVDSt_DYivEq7yQAAAAAAAAAidkAubCDgL7khnJPkNdUwRwAAAAAAAAAGa9pOxt0fqv_QTtBRBlV_8QAAAAAAAAAlOkkiwQ9aM2OL-oHoBjLvhAAAAAAAAAAOq5h54Kb3U85YSjTzRyaF_gAAAAAAAAAW4iWyc_l7zIMt9gi9uNbDxgAAAAAAAAAFhYgsx8HjLzhm9LYVIHuquwAAAAAAAAAEOkkiwQ9aM2OL-oHoBjLvhAAAAAAAAAAOq5h54Kb3U85YSjTzRyaF_gAAAAAAAAAWcnnfHiXpYZi_Xvw7GhRVowAAAAAAAAAFAtOKW4aoAdMhmd7GyZi8TAAAAAAAAAABS271rVNO8pQHfSRu8D2-7gAAAAAAAAABHbnRCcPqpeCpFx8D1c3dbgAAAAAAAAAF1AYJQILFnHXEV9oxyMp7FgAAAAAAAAAFmYNktaRFRY0plnRBTkItUgAAAAAAAAANWyzAcL0AWgIkl4A0YO5RQwAAAAAAAAAmSPBSRBf5-JQ_B0HnmSeY4AAAAAAAAACL92jCQ7FJd_qE8nezHXMXDQAAAAAAAACYySBUSdLpTE4kxptOyYACMwAAAAAAAACHGV9odb7eqAONOiRGAnVZsQAAAAAAAAFYkxggmTmW48eX63B51-tv4wAAAAAAAAEElMvGIQySgdUzptqnRUQpUAAAAAAAAAALeL-oIR1CC2R0ykcUAAfoowAAAAAAAABTMDZqk-bznCkkPcSl3Z06LwAAAAAAAACRHwASysJunE30XUonp_SYPwAAAAAAAAAFY2eGzIpiKa-QBMAAKXZA_QAAAAAAAAAA", "types": "CAN-BQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "p_qI8Ts1o4R4GHiu2MHhmg"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYIqvacTmpSpuAOHxTh9l_exAAAAAAAv8CwqvacTmpSpuAOHxTh9l_exAAAAAAA2XfPqvacTmpSpuAOHxTh9l_exAAAAAAA2TYhqvacTmpSpuAOHxTh9l_exAAAAAAAjXK5qvacTmpSpuAOHxTh9l_exAAAAAAAgN46qvacTmpSpuAOHxTh9l_exAAAAAAAgMZEAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABDJLJRrJNARIRyzxCnxa4WQAAAAAAAAAYmafpkLzxyAOwBxGkDhiVNAAAAAAAAAAMZJExOMsbBfy8WqRgcylCLwAAAAAAAABp8T1GTOmmtW2zNfDAiA-RCgAAAAAAAADHUu1pGUpLQ35aan6Rej1VEwAAAAAAAADJJwuJ_YrJlPmIg66vmsQiFAAAAAAAAAAz6KK4nudrIWi-u7NWSV5S7QAAAAAAAABnEBqXZsoPGK2F0IF3gcVlzwAAAAAAAAAaIunvE7sWPSz4YCgk0UVsFAAAAAAAAAAFradvx3ka7U7YJiCSRTJ3kwAAAAAAAAAYW80Dopg4GIca7JXLWHFwVAAAAAAAAAA6mZnKLpDGXH5r07376P6zgQAAAAAAAACCRJOpyLKTKlv2enKt_xrNSwAAAAAAAAA73-s2ANt1vNwpWiAFGYs2eAAAAAAAAAAFdWyxTJ01gHAXEF1z9sDOKwAAAAAAAAAOBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABJG_5wUb6Q1WN6hfRJFcqEwAAAAAAAAAT3r1MnCyPIgP6mYXLoLcz9AAAAAAAAAAKXrSW2Ro9Ws10jZmj20O0hQAAAAAAAAADHSftxLHu5xLDzJX5F8kBXAAAAAAAAAGVVTe2bxq-Jr5s7wFSht9_vgAAAAAAAABqC-DRD-J_UvsXUc59TOzOVAAAAAAAAAAI8AUzmHhqUZOHWH8Bccl_sQAAAAAAAAHc6TUXIWC2WcF-_43xKp-wtQAAAAAAAAETd0aX3KonLcPjMEO-H4cl5QAAAAAAAACDIir7eGdVZsjNItLfykxs3gAAAAAAAABaNWk7GQCtDStIuwl83iGqTwAAAAAAAAAv2CwcPQcRkPoyzD89B8CtBQAAAAAAAAB-OoUyVxHN2rYPjLirZK4ihQAAAAAAAAAGVWOUd0jMGfSYTm8Ns8_hDgAAAAAAAAMEGASd-GxTI3CnNP2dmtJ0gQAAAAAAAAHeLeaqrhFv22rb1wzUlEMwAgAAAAAAAAAMkbApFhDbueqDTdsjbbOMUQAAAAAAAAAg7z0vK5_lN4w4BvVehfj4wQAAAAAAAAALTrTEyZn7B30gBbM8MLULSQAAAAAAAADAV-zEfMlNdgG4SvC62RGySgAAAAAAAAAXFTndS9swIMm3K06ZEY-ZcgAAAAAAAACORe_dvjV79ezcmCpSsdxZuAAAAAAAAAAM6QvV8Ag8LiqGHdRYVptEnwAAAAAAAAAEGQWHl0s0fmnGMrrNRd7yDQAAAAAAAAAHp_sL8jeyDjPZI0awM1-lMQAAAAAAAAAB0dBKXDWNMiejfPcFa2J8WwAAAAAAAAAFIY3kOFBxddrJzoZrzargTAAAAAAAAAAA-6ARRafpA91HAsyIFfBmBQAAAAAAAWW_vQ7EacG6CR4rzcFaNFEsTQAAAAAAATRalHp5_WAgpLy2alrUVab6HAAAAAAAwACLlHp5_WAgpLy2alrUVab6HAAAAAAAAEM2lHp5_WAgpLy2alrUVab6HAAAAAAAAEATlHp5_WAgpLy2alrUVab6HAAAAAAAFz87lHp5_WAgpLy2alrUVab6HAAAAAAAFzaR", "types": "CAMwBQIDBQQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "iCDmSM5ZMerasUWJeO1RoA"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAACuyaSy1RHb0tl4hOkUXXLXQQAAAAAAAAAzGUwipo03N4glyS6268EEmgAAAAAAAAAKds9yTvk8UzKAgDSjs6pNkgAAAAAAAAANzVmgO3uV6bZtx2XUjAkXcgAAAAAAAAAHNJPFmv3cYB4fnHHuI2lrYQAAAAAAAABbsh1T4lVaqf9yZbH1lhPrZwAAAAAAAACNduOfgYTG-Pz3qxfosjBOKgAAAAAAAAAEFTD_DMq9LCr2rMh4XAWQegAAAAAAAAAF5wGUH60A7iQqyWZA8jj7kwAAAAAAAAAdDPKZG86WCe-rkFTx_IAdagAAAAAAAAAIhCl4jaZsLnxk3C0-qCjENwAAAAAAAAAFfMf02bFW9UOsHXaY1ju3UAAAAAAAAAELie51PKalSPz0oTw25hOjdgAAAAAAAAAHxhzTSPDm8vP1CtKm1pHa_AAAAAAAAADX3SU4n_eVvbLOxW0zu9gonAAAAAAAAAATBULXlXluMevM23wGn-scGgAAAAAAAABIX3YYuA6U4OM2ZjQu8fVwYwAAAAAAAABLSNDYMaokxZpNhjFZnC0cqQAAAAAAAAABm_DK0nAVx1tMIimjFYyQPAAAAAAAAAAS_B6c9784WlLvFF9uk3pSswAAAAAAAAAcFhP6JufLZYYhuADwCLvRKAAAAAAAAACVClvIuFYr5ArIOKSAaLGqggAAAAAAAAGv5tsfFOiB0XQGtxfawg0JiQAAAAAAAAGPe8ARrqT9JmZcuLd6G8ZTMgAAAAAAAAAGV6Xv8yqxVPgM9JZWMvD_ogAAAAAAAAADS4xo2K-7S9Psi5KVtkSU0AAAAAAAAAAONNX6LKmc60fQ-V_Nw2_9cAAAAAAAAACwVGJu-bYJBqeYrugO5COQdQAAAAAAAAHGAxJNlcXBvrgVOpR8a1WEYgAAAAAAAAG2n0mWG92K0zbUz5S-_ixlIAAAAAAAAABrKxHEggHQvpMo7NXk9m-aKgAAAAAAAAAghvijQK1a5iiWkFoVp40y5AAAAAAAAAAGvRwDdjzKXpreYxi90MDGQQAAAAAAAABms-5AzRQS0AyjARcxs2D2DQAAAAAAAAAX4Wda4DEj07iGWB9mKOvWMAAAAAAAAABo45faa5L8TTwA9zJYlmGKywAAAAAAAAAUq3uedK83ZBGp21KqIIcD7QAAAAAAAACWwh1zX_oqIoKNefuSr1ngvgAAAAAAAAAfPu2JWw096K4wEF2usuCt-AAAAAAAAABc_gZdvwQP6FQ5RcMsyYjAXwAAAAAAAAFD1PIPTBbtPHUrg0d3N2nuygAAAAAAAABBlt4DCYuCTF_qGLbdRnIhjAAAAAAAAADDFERPJCfrzkqs-7XhU53jhwAAAAAAAAFtzP5HzbxY7goeRVwj37voeQAAAAAAAAACy87oVbGEsnZxcfXcdrLYswAAAAAAAAB6i1t0pdr_xnHfk_UsEnpDiwAAAAAAAAAMip4jveo5OesPxqJEnXrM0wAAAAAAAAAOrDli4oCQ8GWnljRH2_1bLAAAAAAAAAEZH2XMIGvXG_73d5XzBvFSxAAAAAAAAAEB3D_A_sI8XDgpK1lgEmfWZgAAAAAAAAC_hqzAzTCpj-Nsh96skuh10wAAAAAAAABJibtF619pQHGNKblUfb9MKwAAAAAAAAANHJHMeViEmhpbdveA5zS4zgAAAAAAAADUNW0MvXdcfyNB_rjxH_JHXgAAAAAAAAAN16j8HtYPNjd3qdRoXnMi0AAAAAAAAABaO4wSxfOE-c6Sft1wmb_6fgAAAAAAAABpoKMpPO_rrguOLYx8VBTGhgAAAAAAAAAGakj2EbMcV1BY1x-2V-R6VQAAAAAAAAANqND66z7potQhxSJ1H4ezHgAAAAAAAAAG2B-rbS8KhbB8ePRnpVf7_QAAAAAAAAAU89ogc5uTbOqh2aLJlzHKmAAAAAAAAAAX9ccfl0YdabzwSUY2PdYA0QAAAAAAAAATDT06D5A7Yxiqx6IJ7Kvu0wAAAAAAAACCtq710yUF9bzkGXjQwM8_6QAAAAAAAADWH7Tmwg9rKZuxl8eAfe0cQwAAAAAAAAATpKAwMR-9-3afO3tccFzRKwAAAAAAAAEnbYAsS36pm68v9ebHURyhdAAAAAAAAAACBUXwXn0jTEljgr89rND6CgAAAAAAAAAwR_ZB9SjojSrHSQ8dwIq_WQAAAAAAAAOrIvW6glp0EMhdH986Hu8MmgAAAAAAAAAA", "types": "CANTBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "hm6pJJBFG1EoukWkIgUkSg"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAACuyaSy1RHb0tl4hOkUXXLXQQAAAAAAAAAzGUwipo03N4glyS6268EEmgAAAAAAAAAKds9yTvk8UzKAgDSjs6pNkgAAAAAAAAAA", "types": "CAMQBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "P4G4FrOCtB7UkFb-8UfLLQ"}} +{"Stacktrace": {"frame": {"ids": "z5k14PsCcDvFyUC1kmlV3QAAAAABGlXAz5k14PsCcDvFyUC1kmlV3QAAAAABSEXoz5k14PsCcDvFyUC1kmlV3QAAAAABSDNxz5k14PsCcDvFyUC1kmlV3QAAAAABSDbU", "types": "BAM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "L7kj7UvlKbT-vN73el4faQ"}} +{"Stacktrace": {"frame": {"ids": "634wiWh6F21tPpXr0Zz3mgAAAAAAEfFi8NlMClggx8jaziUTJXlmWAAAAAAAAIYIZSkKN3zNxr0HYuO2pqe5hQAAAAAAwcBwZSkKN3zNxr0HYuO2pqe5hQAAAAAA5ECvZSkKN3zNxr0HYuO2pqe5hQAAAAAA4_9_ZSkKN3zNxr0HYuO2pqe5hQAAAAAAj7b5ZSkKN3zNxr0HYuO2pqe5hQAAAAAAgwXKZSkKN3zNxr0HYuO2pqe5hQAAAAAAgu3UAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAVcBTlmvRfiK_eaWEDctBQ5wAAAAAAAAAMjLRjRKJujxpIzkv5EAU8CAAAAAAAAADEKPNYkONEetadZox7ZPj-_wAAAAAAAACaB0jzxgjaMAT2f_-sp0qKdQAAAAAAAAALFOYm6EawRDxcLqPYr2TlYwAAAAAAAACT", "types": "CAMKBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "8Nt8q4FpMS1YBSbb8JjA4Q"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYIqvacTmpSpuAOHxTh9l_exAAAAAAAv8CwqvacTmpSpuAOHxTh9l_exAAAAAAA2XfPqvacTmpSpuAOHxTh9l_exAAAAAAA2TYhqvacTmpSpuAOHxTh9l_exAAAAAAAjXK5qvacTmpSpuAOHxTh9l_exAAAAAAAgN46qvacTmpSpuAOHxTh9l_exAAAAAAAgMZEAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABch4dwrMYlRFRjyfsvjXt4tgAAAAAAAAAg3V-8FLy1GH8nVRceMDeaiwAAAAAAAAABnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAV4j8yS0qsC_6XfTfMdPp5KQAAAAAAAAAQ9oBnE4xnAvOiOv1q-LbApgAAAAAAAAAEKjF0JPI3hCXDTCc6Z7ofdQAAAAAAAAFLAFikCbtP_Dm7iUthjnlnEgAAAAAAAAEq56q5trA0bAF1B-Um6L_rqwAAAAAAAAAGgi_774C-EJhuJfyXXhzVgwAAAAAAAABEgvYbo0YBmE65VwrpTWYalQAAAAAAAAB2tMqbgEmfZJ47YRogSA-gKgAAAAAAAADlKz3aUSMwqIxIxaAplngd8AAAAAAAAACXezRRC2sXv2hHIZbqwpv5zQAAAAAAAADSu-D_h2osKIeJ8uQjOobu_AAAAAAAAAHywnSBrxGSumHiAQQABJeNtQAAAAAAAAAWcDTcKVGzeMo1oRYERHbXHwAAAAAAAAB5", "types": "CAMUBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "kU23IHsR5pRIb6YvFIRS3Q"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnyhAKi3MXCBa6QbMykpz9ogAAAAAAAAAIImSzkW6pD8jhY2FJThRJ8QAAAAAAAAAFS3fVfiwq94i14_VfWgkFiAAAAAAAAAAF86ShTOKEhMBNNZND3RBl5QAAAAAAAAABd8JoiANFYdN_HlsRPvshMwAAAAAAAAAxIz1h-lJR9hawlSRETyh1qQAAAAAAAAAIeOepQqcpphM0NTbieX0wIgAAAAAAAAE4ooplCYR951bf9t1YS6OUBQAAAAAAAACrWAsi5KS1LX4-mmePSPN4qwAAAAAAAABzUnU61_VzRQulrS0OJYkU7gAAAAAAAABaHJWDExCp8dmw9-CAF-WXfwAAAAAAAAAJoxSW321mwoDVUa0haFaP7QAAAAAAAAAuTyZK4BUMsPg3P3wu6EYhkAAAAAAAAAB6PiSwsMqyjn24GnxXwBvfuQAAAAAAAAAGzY8oFom0Mq0j4EO6ho2wLAAAAAAAAAMEeC3OrXu_7VLA9EdCZMRh6AAAAAAAAAGdLeaqrhFv22rb1wzUlEMwAgAAAAAAAAAM4FrN4VeCu4HJZNavjw0tmgAAAAAAAAAgmSb0V8ANbBWpi7TZTXcPNwAAAAAAAAALP4ZjI7g37fWz45cghUwTxQAAAAAAAAA5H1mK93wmygFvNYC57fovfwAAAAAAAAAfUnm7y6YLik7WuESK-9BXmgAAAAAAAAAOp_xoiXGCsXgpBNHrp24JKQAAAAAAAAAV5jDiO_Lgv2e10LojWCULCwAAAAAAAAAFOX6pd1GZ1KHmZAikJOZD-wAAAAAAAABoBoyt9QmW9-zzCwzKZ9LhFAAAAAAAAAEXXJAoY26CmEBCHOgy-kaybgAAAAAAAAALSWMbBt07f_PdUThaE5iWmwAAAAAAAAABHoqCWZ471w3YYcVCfd06hAAAAAAAAAAORrXasmojz0ojjKVFAz-eswAAAAAAAAAA8DDAjVJl721y2vxKHGSBegAAAAAAltV1", "types": "CAMkBQED"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "L3nUGoNiPS6jpV4lzI0HKw"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYIqvacTmpSpuAOHxTh9l_exAAAAAAAv8CwqvacTmpSpuAOHxTh9l_exAAAAAAA2XfPqvacTmpSpuAOHxTh9l_exAAAAAAA2TYhqvacTmpSpuAOHxTh9l_exAAAAAAAjXK5qvacTmpSpuAOHxTh9l_exAAAAAAAgN46qvacTmpSpuAOHxTh9l_exAAAAAAAgMZEAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAV5GqAUaYv86rgi1w0nJY6kwAAAAAAAAAMjLRjRKJujxpIzkv5EAU8CAAAAAAAAADEKPNYkONEetadZox7ZPj-_wAAAAAAAACoMH4ZLlkHvkfZTK_KWydMDgAAAAAAAAC4ZGKy7ArdiDfRv4uogAG0CQAAAAAAAAAzgQv1haKZmRIe2g2DBTzDVAAAAAAAAAAX6a5XWhjsuz26DnHoF0x5RwAAAAAAAABSwe1dsXqMIsi7fg7veaiJyQAAAAAAAAAIN1GpN_XYj7AoDd4ql2RyHgAAAAAAAAABGXzDmM-hgGlNDieJ9EUhGAAAAAAAAAEwzgecUfJLYoiYIxBtYNFbZwAAAAAAAAAo1kYL5y-AD3sdPCqn6ivZowAAAAAAAAAEDVxwSo4eOEycJY2lxrVA3wAAAAAAAAAOwvgldxPJJj8FcIi5eLlQvgAAAAAAAAAmnrTqwGPzO0uzQD3C7T948wAAAAAAAAAP9UBMSNV9JIwVE7bRWf7rNAAAAAAAAACIfbCakSHDHoBMTyuJNDB7CwAAAAAAAAAxFpTtdOGq0KA_LZU93WcT2gAAAAAAAAAstXdLdOQIv2CEGExsyL_epQAAAAAAAAC4PQiF41WruwXqpcujdafqogAAAAAAAAAlCsbq98qEMjLfznv89zxcQwAAAAAAAABASlb8MNVKIFfE9HJqtN3BhwAAAAAAAAAAqn_i-43Ca0UMIY4VcWF0AgAAAAAAAC8kfhsEKXDuxJ-jIJrZpdRuSAAAAAAAAKGdfhsEKXDuxJ-jIJrZpdRuSAAAAAAAAI9-", "types": "CAMbBQMD"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "YVZcVDoPQkcegaQYBCZkzw"}} +{"Stacktrace": {"frame": {"ids": "lHp5_WAgpLy2alrUVab6HAAAAAAAwAIUlHp5_WAgpLy2alrUVab6HAAAAAAADAxglHp5_WAgpLy2alrUVab6HAAAAAAAC6oJlHp5_WAgpLy2alrUVab6HAAAAAAAC6XulHp5_WAgpLy2alrUVab6HAAAAAAAC3tRlHp5_WAgpLy2alrUVab6HAAAAAAADtsslHp5_WAgpLy2alrUVab6HAAAAAAAp1q0", "types": "BwQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "14cFLjgoe-BTQd17mhedeA"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA76Af8DDAjVJl721y2vxKHGSBegAAAAAAdLJM8DDAjVJl721y2vxKHGSBegAAAAAAdFaK8DDAjVJl721y2vxKHGSBegAAAAAAdDbu8DDAjVJl721y2vxKHGSBegAAAAAAdJ0N8DDAjVJl721y2vxKHGSBegAAAAAAcin2", "types": "CgM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "_eitfgJr5SICw3IID0ieUw"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAfa_D_KA1yUInCMlw0HKKJXgAAAAAAAABX7SvDCQFg8noiOfIrUqyslQAAAAAAAAAJ", "types": "CAMIBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "5RX98LQ-TugfdPLcy0tTFA"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAANVk4geTYpM8uDz6HvI1jT73gAAAAAAAAAZHc4fbH8wnl-aZPA1_7gB-wAAAAAAAAAyaBWoLwWk5u6kqgD3gwKyagAAAAAAAAAYluqtQRsIjOPWY7wdgiD4bAAAAAAAAAAIwRG5B2klLAxXtt0B9lVulAAAAAAAAAB-Gjm3c7dzM21apoh-_mmOrwAAAAAAAAA2O57ePcWMLnVMB2c1JYP_SgAAAAAAAAAMnfWxBNCjXXCl3tAETF7T8wAAAAAAAAAUoi3QXV0PR2nGOV5pzW_MvAAAAAAAAAAGhWcFfmcayZnqxV8VaktDEwAAAAAAAAAHe_qwG8gpgd38JnWYrQTbhgAAAAAAAABT3ITJpMVvGWxtAJg8iCjlKgAAAAAAAAAhLhf7WGU0lxCaIsujYZjafAAAAAAAAAASU3XGmp9XAuDQti4O3QZItgAAAAAAAAAT_eHurMk1AuWI20vPBelYUQAAAAAAAABRbt6Ho82qwuZ3iDZme91J3QAAAAAAAAAOMrj6Z8YTvyj7p7UD3GGpMgAAAAAAAAAFqzJXUPlBwNnFY2QMV7wpwgAAAAAAAACFkpBi8LFR3RTjSJqFuljOuQAAAAAAAAAAhrCIM-i5cm0sSd-oVTZrsgAAAAAAACZBwEIfl0pGBuepuUcTwdKc2gAAAAAAAFtjwEIfl0pGBuepuUcTwdKc2gAAAAAAAEJ_wEIfl0pGBuepuUcTwdKc2gAAAAAAADW4", "types": "CAMgBQQD"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "lDY7ho5Q3VRiBNIA0utPkg"}} +{"Stacktrace": {"frame": {"ids": "634wiWh6F21tPpXr0Zz3mgAAAAAAEfFi8NlMClggx8jaziUTJXlmWAAAAAAAAIYIZSkKN3zNxr0HYuO2pqe5hQAAAAAAwcBwZSkKN3zNxr0HYuO2pqe5hQAAAAAA5ECvZSkKN3zNxr0HYuO2pqe5hQAAAAAA4_9_ZSkKN3zNxr0HYuO2pqe5hQAAAAAAj7b5ZSkKN3zNxr0HYuO2pqe5hQAAAAAAgwXKZSkKN3zNxr0HYuO2pqe5hQAAAAAAgu3UAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABch4dwrMYlRFRjyfsvjXt4tgAAAAAAAAAg3V-8FLy1GH8nVRceMDeaiwAAAAAAAAABnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAV4j8yS0qsC_6XfTfMdPp5KQAAAAAAAAAQ9oBnE4xnAvOiOv1q-LbApgAAAAAAAAAEwRQstrBYZ0ShmJnYV-ADrQAAAAAAAAFLAFikCbtP_Dm7iUthjnlnEgAAAAAAAAGtTfYUtN-rf_0uYWSYAHKfDQAAAAAAAAAH4O-ovD5bG6j4SStsVkgzcQAAAAAAAABHacnJzC_C1bsmTPMH_pcsCAAAAAAAAABdoGQ2OUdACCpDvWCPN-t91QAAAAAAAAAMagUnXAr2_hsl_qyYsSOrqQAAAAAAAABcIP-4kS9K2z9dstopMSzdEAAAAAAAAAAKW2G52eIffs6rSMZaDokh0AAAAAAAAAATZUblhfsP3eghXbFQlRo7WwAAAAAAAAABmwuQyMHK5RYUe_aaboQONgAAAAAAAAADyScC9Npb_ya8Br_QJ7EUZAAAAAAAAAB7Sm149Q4n4lGGxDiZNf94FQAAAAAAAAAHPUPItXL9ODmL0kwnalRigwAAAAAAAAAjTC2QqZAb8KnizCTsnAuCGgAAAAAAAAANaSV2qTlMpiialisnhZW9PgAAAAAAAAAN5wGUH60A7iQqyWZA8jj7kwAAAAAAAAAdq8pCDW17i5MKeUo5LLv96QAAAAAAAAABCW_r9nc-U1Fi4aU8XoGOXAAAAAAAAAAM8iRqFHNeeA-Vq5mM-jaESgAAAAAAAAARt5uE-GFMsmesNeLBgx_z4wAAAAAAAAADDnrzOZkhcnoTNvvkP1TdqAAAAAAAAAAi5iLGjLJFjZ3vVn5PbnDFiAAAAAAAAAAv4P1DMygHaI4yHD8SKHtROwAAAAAAAAAYSWMbBt07f_PdUThaE5iWmwAAAAAAAAABHoqCWZ471w3YYcVCfd06hAAAAAAAAAChYKWsiTTdS4chcntYalLpvQAAAAAAAAFDGwvNKsXwAWDPAp3O-Td6NAAAAAAAAAAXWOsBhYd9IbFldGZWVw03hgAAAAAAAAAVKOnuKkBYBgm4HtfyhrUS2wAAAAAAAAC777CMGAnm82a_x5oOgINbKgAAAAAAAAAWHNWspokmSU3mmXH9ENGQygAAAAAAAABV5ajLrlzgZ5NJn1Ifyl4tjwAAAAAAAACKX6aGRt4o2LlAY8FCZg8t_gAAAAAAAACWKO6VsFDaVRMvLVZz6LumQAAAAAAAAAACqOuY7z4cBuGpkQnMsu5M4QAAAAAAAAAB2HSuy-oZigDpg5cKC7dkqwAAAAAAAACX", "types": "CAMuBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "LpsjtOqp4gQNWANoCtMhpw"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qp0eo8IwDes1buf90_PyLCgAAAAAAAAAwVB_A4ihbc-HQ5QDUj7Wz0QAAAAAAAAB_uE354xX1-6pq5qEqEPux5gAAAAAAAAACyTY-WlmajV5YhETL2qC3jgAAAAAAAAAdYkaRTKRhsYL87aTctpzuoQAAAAAAAACw3HIAZ7KMFykIwp4WdvYF6gAAAAAAAAEVsCbyN1LnxDvKtK16chc1UAAAAAAAAAAHSdeiuUk4wJykJDjmt_gy5AAAAAAAAAAISdeiuUk4wJykJDjmt_gy5AAAAAAAAAAISdeiuUk4wJykJDjmt_gy5AAAAAAAAAAILqytSQO0xoKueTdBUmzm9gAAAAAAAAAc0iStdyhoG4WqQkJ1aFKZnQAAAAAAAAA1k8ZGDLdSxDSM2lL9n7Ll1AAAAAAAAAAfHbqGqBv_PKwJzIrNCTkRMwAAAAAAAAALMRjz7ydeslXKi2GbhltLmwAAAAAAAAAI3-Nyd5iyxL31wUMeSpG3wAAAAAAAAAAKggEpzKYUUToCZ_IIz775eQAAAAAAAAAHggEpzKYUUToCZ_IIz775eQAAAAAAAAAHSLSuJBznTE3BvHPDUjF7JgAAAAAAAABqrg1U8-_Qg7P4zN0uZwHMZAAAAAAAAAAh2sLCSYuHZvfeGvojnGEVfAAAAAAAAAAQr5B7woHUx7hmwtrjMRtOuwAAAAAAAAACLlon2cTU88EAb0xt_e8N6QAAAAAAAABBjxIGTrGHMnImsEvjAP6NuwAAAAAAAAEYOo9QFBPQY4ypFVPfKrisIQAAAAAAAAAfx9iJb0OhVB_kYAbvkT0IJAAAAAAAAABLw0BKBBEkfs3oopm7NSQhfQAAAAAAAADMxmj6c8GMqxu-eoFnl7D4qwAAAAAAAAAA", "types": "CAMdBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "hRqQI2CBPiapzgFG9jrmDA"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA76Af8DDAjVJl721y2vxKHGSBegAAAAAAdLJM8DDAjVJl721y2vxKHGSBegAAAAAAdFID8DDAjVJl721y2vxKHGSBegAAAAAAdJ0N8DDAjVJl721y2vxKHGSBegAAAAAAckc9", "types": "CQM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "Qn60Qbgyi9gMjkEiQhHG0w"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYIqvacTmpSpuAOHxTh9l_exAAAAAAAv8CwqvacTmpSpuAOHxTh9l_exAAAAAAA2XfPqvacTmpSpuAOHxTh9l_exAAAAAAA2TYhqvacTmpSpuAOHxTh9l_exAAAAAAAjXK5qvacTmpSpuAOHxTh9l_exAAAAAAAgN46qvacTmpSpuAOHxTh9l_exAAAAAAAgMZEAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABDJLJRrJNARIRyzxCnxa4WQAAAAAAAAAYmafpkLzxyAOwBxGkDhiVNAAAAAAAAAAMZJExOMsbBfy8WqRgcylCLwAAAAAAAABp8T1GTOmmtW2zNfDAiA-RCgAAAAAAAADHUu1pGUpLQ35aan6Rej1VEwAAAAAAAADJJwuJ_YrJlPmIg66vmsQiFAAAAAAAAAAz6KK4nudrIWi-u7NWSV5S7QAAAAAAAABnEBqXZsoPGK2F0IF3gcVlzwAAAAAAAAAaIunvE7sWPSz4YCgk0UVsFAAAAAAAAAAFradvx3ka7U7YJiCSRTJ3kwAAAAAAAAAYW80Dopg4GIca7JXLWHFwVAAAAAAAAAA6mZnKLpDGXH5r07376P6zgQAAAAAAAACCRJOpyLKTKlv2enKt_xrNSwAAAAAAAAA73-s2ANt1vNwpWiAFGYs2eAAAAAAAAAAFdWyxTJ01gHAXEF1z9sDOKwAAAAAAAAAOBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABJG_5wUb6Q1WN6hfRJFcqEwAAAAAAAAAT3r1MnCyPIgP6mYXLoLcz9AAAAAAAAAAKXrSW2Ro9Ws10jZmj20O0hQAAAAAAAAADHSftxLHu5xLDzJX5F8kBXAAAAAAAAAGVVTe2bxq-Jr5s7wFSht9_vgAAAAAAAABqC-DRD-J_UvsXUc59TOzOVAAAAAAAAAAI8AUzmHhqUZOHWH8Bccl_sQAAAAAAAAHc6TUXIWC2WcF-_43xKp-wtQAAAAAAAAETd0aX3KonLcPjMEO-H4cl5QAAAAAAAACDIir7eGdVZsjNItLfykxs3gAAAAAAAABaNWk7GQCtDStIuwl83iGqTwAAAAAAAAAv2CwcPQcRkPoyzD89B8CtBQAAAAAAAAB-OoUyVxHN2rYPjLirZK4ihQAAAAAAAAAGVWOUd0jMGfSYTm8Ns8_hDgAAAAAAAAMEGASd-GxTI3CnNP2dmtJ0gQAAAAAAAAHeLeaqrhFv22rb1wzUlEMwAgAAAAAAAAAMkbApFhDbueqDTdsjbbOMUQAAAAAAAAAg7z0vK5_lN4w4BvVehfj4wQAAAAAAAAAFEiWa0n_9SgJD34zKIyVJDAAAAAAAAAAMHo9Mi8DG7FUtIimhU2yBagAAAAAAAABqyzkMNxhTqdw8OfBH6KpVbgAAAAAAAAAEHWeYMQJlcaP0GMe8ZUABEgAAAAAAAAAu0Ju-cCCi3kHxLcKkTtnYSAAAAAAAAAAB", "types": "CAMsBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "7Se-2CaL4CbSRMgSyNxl5w"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAAIRbFStJdQtuBtluMM9Zd1OwQAAAAAAAABc", "types": "CAMOBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "P7SH4zhzkMyu8ClDXegYrw"}} +{"Stacktrace": {"frame": {"ids": "4rFFPORY8_4FvK9QaA3QUQAAAAAADLHJUJmIMEc6K8gJ39NHYaD0WwAAAAAAAhyG4rFFPORY8_4FvK9QaA3QUQAAAAAADLg44rFFPORY8_4FvK9QaA3QUQAAAAAAEcDs4rFFPORY8_4FvK9QaA3QUQAAAAAAEcbB4rFFPORY8_4FvK9QaA3QUQAAAAAAEhP-4rFFPORY8_4FvK9QaA3QUQAAAAAADxKo4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD4jP4rFFPORY8_4FvK9QaA3QUQAAAAAAD4jP4rFFPORY8_4FvK9QaA3QUQAAAAAAD4jP4rFFPORY8_4FvK9QaA3QUQAAAAAAD5YF4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD5YF4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD5YF4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD5YF4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD5Cd4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD5Cd4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD5YF4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD5YF4rFFPORY8_4FvK9QaA3QUQAAAAAADxmJ4rFFPORY8_4FvK9QaA3QUQAAAAAAD0IB4rFFPORY8_4FvK9QaA3QUQAAAAAADg7N", "types": "HQM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "S07KmaoGhvNte78xwwRbZQ"}} +{"Stacktrace": {"frame": {"ids": "634wiWh6F21tPpXr0Zz3mgAAAAAAEfFi8NlMClggx8jaziUTJXlmWAAAAAAAAIYIZSkKN3zNxr0HYuO2pqe5hQAAAAAAwcBwZSkKN3zNxr0HYuO2pqe5hQAAAAAA5ECvZSkKN3zNxr0HYuO2pqe5hQAAAAAA4_9_ZSkKN3zNxr0HYuO2pqe5hQAAAAAAj7b5ZSkKN3zNxr0HYuO2pqe5hQAAAAAAgwXKZSkKN3zNxr0HYuO2pqe5hQAAAAAAgu3UAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABch4dwrMYlRFRjyfsvjXt4tgAAAAAAAAAg3V-8FLy1GH8nVRceMDeaiwAAAAAAAAABnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAV4j8yS0qsC_6XfTfMdPp5KQAAAAAAAAAQ9oBnE4xnAvOiOv1q-LbApgAAAAAAAAAEwRQstrBYZ0ShmJnYV-ADrQAAAAAAAAFLAFikCbtP_Dm7iUthjnlnEgAAAAAAAAEq56q5trA0bAF1B-Um6L_rqwAAAAAAAAAGgi_774C-EJhuJfyXXhzVgwAAAAAAAABEgvYbo0YBmE65VwrpTWYalQAAAAAAAAB2tMqbgEmfZJ47YRogSA-gKgAAAAAAAADlCQUIxcdtvT35ZznMVnzc_AAAAAAAAACXN4c5sJszjyVzcx3AmWN8pwAAAAAAAADS_GFFImAT2VE6Ar5VgmaN7QAAAAAAAAHywnSBrxGSumHiAQQABJeNtQAAAAAAAAAkPK6VPfk6aJqBe-5Qji8O5gAAAAAAAAAFEIxfgHbDbI5dElFzd3Ha-QAAAAAAAAAZFq10nEfKWtXEt510UwEUUAAAAAAAAAB7V_QMdmt4RxKxn4ZNgdvkJwAAAAAAAAAReNITicG0MvFr9HQHk70FLAAAAAAAAAAI9j0yGbd8eQNwdRhHZ159OQAAAAAAAAA9vzzPIR5tUnMkJ7d_ITdQRgAAAAAAAAAC6YIeLAztuVSewvuGh8XKXgAAAAAAAAAFIQvpHpp20NHD-0mZNf95oAAAAAAAAABp0vAOoRRxsQcS4vDapC3-mwAAAAAAAAANqnvWBP24iZLcQ-Wi76ZDxQAAAAAAAAAI3X9PCd1tVPhzrMiwigfodgAAAAAAAAAAZSkKN3zNxr0HYuO2pqe5hQAAAAAA52Uf8NlMClggx8jaziUTJXlmWAAAAAAAAQEslHp5_WAgpLy2alrUVab6HAAAAAAAwACLlHp5_WAgpLy2alrUVab6HAAAAAAAAEIGlHp5_WAgpLy2alrUVab6HAAAAAAAFFQelHp5_WAgpLy2alrUVab6HAAAAAAAFErelHp5_WAgpLy2alrUVab6HAAAAAAAFBtp", "types": "CAMfBQIDBQQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "4tB_mGJrj1xVuMFbXVYwGA"}} +{"Stacktrace": {"frame": {"ids": "634wiWh6F21tPpXr0Zz3mgAAAAAAEfFi8NlMClggx8jaziUTJXlmWAAAAAAAAIYIZSkKN3zNxr0HYuO2pqe5hQAAAAAAwcBwZSkKN3zNxr0HYuO2pqe5hQAAAAAA5ECvZSkKN3zNxr0HYuO2pqe5hQAAAAAA4_9_ZSkKN3zNxr0HYuO2pqe5hQAAAAAAj7b5ZSkKN3zNxr0HYuO2pqe5hQAAAAAAgwXKZSkKN3zNxr0HYuO2pqe5hQAAAAAAgu3UAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABDJLJRrJNARIRyzxCnxa4WQAAAAAAAAAYv6rQl1rwEGF72NGhRc1i-wAAAAAAAAAMZJExOMsbBfy8WqRgcylCLwAAAAAAAABpLSgILL0Q8I6llgRQX49QDQAAAAAAAADHbUctjbWcypk0wJUtGkKmFgAAAAAAAADJJwuJ_YrJlPmIg66vmsQiFAAAAAAAAAAz6KK4nudrIWi-u7NWSV5S7QAAAAAAAABnEBqXZsoPGK2F0IF3gcVlzwAAAAAAAAAaIunvE7sWPSz4YCgk0UVsFAAAAAAAAAAFObVu4EglQ3fhG0H69eyyrwAAAAAAAAAYW80Dopg4GIca7JXLWHFwVAAAAAAAAAA6PKIQdknzONDqr2S2uRbbjQAAAAAAAACCRJOpyLKTKlv2enKt_xrNSwAAAAAAAAA73-s2ANt1vNwpWiAFGYs2eAAAAAAAAAAFdWyxTJ01gHAXEF1z9sDOKwAAAAAAAAAOBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABJG_5wUb6Q1WN6hfRJFcqEwAAAAAAAAATAo_nvps-se9i_u9kVJi0LQAAAAAAAAAKXrSW2Ro9Ws10jZmj20O0hQAAAAAAAAADHSftxLHu5xLDzJX5F8kBXAAAAAAAAAGVBASYhiEtRRk5wvHC9yWtCgAAAAAAAABV2bJMveL01ajlzm-wdxWvUAAAAAAAAAAIy6xtuPPjpVFeK4CXqSN6fQAAAAAAAAHc6TUXIWC2WcF-_43xKp-wtQAAAAAAAAETuaLlXo_jail-f0Vd8f8fCwAAAAAAAACDIir7eGdVZsjNItLfykxs3gAAAAAAAABaNWk7GQCtDStIuwl83iGqTwAAAAAAAAAv2CwcPQcRkPoyzD89B8CtBQAAAAAAAAB-OoUyVxHN2rYPjLirZK4ihQAAAAAAAAAGf_uYAlUc4Mk4nBdvFkWUPgAAAAAAAAMEGASd-GxTI3CnNP2dmtJ0gQAAAAAAAAHeLeaqrhFv22rb1wzUlEMwAgAAAAAAAAAMkbApFhDbueqDTdsjbbOMUQAAAAAAAAAg7z0vK5_lN4w4BvVehfj4wQAAAAAAAAALTrTEyZn7B30gBbM8MLULSQAAAAAAAAA5ZQ0AxrpV-kvXnFTqilFT7wAAAAAAAAAfK8SfjEwLlz1-kQVCzD5OrAAAAAAAAAAOp_xoiXGCsXgpBNHrp24JKQAAAAAAAAAV5jDiO_Lgv2e10LojWCULCwAAAAAAAAAFOX6pd1GZ1KHmZAikJOZD-wAAAAAAAABoh6nIgR7I9-N28cV-Wv3K3AAAAAAAAAFBCqi1_91FMYO-otI3ESGKwAAAAAAAAAALVo9H_8YeBmc0_i3CIsMkrwAAAAAAAAAAJsaw4aRwbsrSC4mkOwhwQQAAAAAAANJa8NlMClggx8jaziUTJXlmWAAAAAAAATrTlHp5_WAgpLy2alrUVab6HAAAAAAAwACLlHp5_WAgpLy2alrUVab6HAAAAAAAAEIGlHp5_WAgpLy2alrUVab6HAAAAAAALSp_lHp5_WAgpLy2alrUVab6HAAAAAAALSjZlHp5_WAgpLy2alrUVab6HAAAAAAALpP6lHp5_WAgpLy2alrUVab6HAAAAAAALmmhlHp5_WAgpLy2alrUVab6HAAAAAAALkVrlHp5_WAgpLy2alrUVab6HAAAAAAALkColHp5_WAgpLy2alrUVab6HAAAAAAALjanlHp5_WAgpLy2alrUVab6HAAAAAAAL0cjlHp5_WAgpLy2alrUVab6HAAAAAAAD8cD", "types": "CAMwBQIDCwQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "828nO5IsKeisTjrd1qZGjA"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYIqvacTmpSpuAOHxTh9l_exAAAAAAAv8CwqvacTmpSpuAOHxTh9l_exAAAAAAA2XfPqvacTmpSpuAOHxTh9l_exAAAAAAA2TYhqvacTmpSpuAOHxTh9l_exAAAAAAAjXK5qvacTmpSpuAOHxTh9l_exAAAAAAAgN46qvacTmpSpuAOHxTh9l_exAAAAAAAgMZEAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABch4dwrMYlRFRjyfsvjXt4tgAAAAAAAAAg3V-8FLy1GH8nVRceMDeaiwAAAAAAAAABnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAV4j8yS0qsC_6XfTfMdPp5KQAAAAAAAAAQ9oBnE4xnAvOiOv1q-LbApgAAAAAAAAAEKjF0JPI3hCXDTCc6Z7ofdQAAAAAAAAFLAFikCbtP_Dm7iUthjnlnEgAAAAAAAAEq56q5trA0bAF1B-Um6L_rqwAAAAAAAAAGgi_774C-EJhuJfyXXhzVgwAAAAAAAABEgvYbo0YBmE65VwrpTWYalQAAAAAAAAB2tMqbgEmfZJ47YRogSA-gKgAAAAAAAADlKz3aUSMwqIxIxaAplngd8AAAAAAAAACXezRRC2sXv2hHIZbqwpv5zQAAAAAAAADSu-D_h2osKIeJ8uQjOobu_AAAAAAAAAHywnSBrxGSumHiAQQABJeNtQAAAAAAAAAkPK6VPfk6aJqBe-5Qji8O5gAAAAAAAAAFEIxfgHbDbI5dElFzd3Ha-QAAAAAAAAAZFq10nEfKWtXEt510UwEUUAAAAAAAAAB7V_QMdmt4RxKxn4ZNgdvkJwAAAAAAAAAReNITicG0MvFr9HQHk70FLAAAAAAAAAAIvweqY124jM8xgz5HvRfnbAAAAAAAAAA9vzzPIR5tUnMkJ7d_ITdQRgAAAAAAAAAC6YIeLAztuVSewvuGh8XKXgAAAAAAAAAFIQvpHpp20NHD-0mZNf95oAAAAAAAAABp0vAOoRRxsQcS4vDapC3-mwAAAAAAAAANqnvWBP24iZLcQ-Wi76ZDxQAAAAAAAAAI3X9PCd1tVPhzrMiwigfodgAAAAAAAAAAqvacTmpSpuAOHxTh9l_exAAAAAAA3Hr-vQ7EacG6CR4rzcFaNFEsTQAAAAAAAQGMlHp5_WAgpLy2alrUVab6HAAAAAAAwACLlHp5_WAgpLy2alrUVab6HAAAAAAAAEIGlHp5_WAgpLy2alrUVab6HAAAAAAAFFQelHp5_WAgpLy2alrUVab6HAAAAAAAFErelHp5_WAgpLy2alrUVab6HAAAAAAAFBxMlHp5_WAgpLy2alrUVab6HAAAAAAADSlTlHp5_WAgpLy2alrUVab6HAAAAAAADSU7lHp5_WAgpLy2alrUVab6HAAAAAAAp1q0", "types": "CAMfBQIDCAQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "Cf-uAEYevmDh96dG8LiA7w"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYIqvacTmpSpuAOHxTh9l_exAAAAAAAv8CwqvacTmpSpuAOHxTh9l_exAAAAAAA2XfPqvacTmpSpuAOHxTh9l_exAAAAAAA2TYhqvacTmpSpuAOHxTh9l_exAAAAAAAjXK5qvacTmpSpuAOHxTh9l_exAAAAAAAgN46qvacTmpSpuAOHxTh9l_exAAAAAAAgMZEAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABDJLJRrJNARIRyzxCnxa4WQAAAAAAAAAYmafpkLzxyAOwBxGkDhiVNAAAAAAAAAAMZJExOMsbBfy8WqRgcylCLwAAAAAAAABp8T1GTOmmtW2zNfDAiA-RCgAAAAAAAADHUu1pGUpLQ35aan6Rej1VEwAAAAAAAADJJwuJ_YrJlPmIg66vmsQiFAAAAAAAAAAz6KK4nudrIWi-u7NWSV5S7QAAAAAAAABnEBqXZsoPGK2F0IF3gcVlzwAAAAAAAAAaIunvE7sWPSz4YCgk0UVsFAAAAAAAAAAFradvx3ka7U7YJiCSRTJ3kwAAAAAAAAAYW80Dopg4GIca7JXLWHFwVAAAAAAAAAA6mZnKLpDGXH5r07376P6zgQAAAAAAAACCRJOpyLKTKlv2enKt_xrNSwAAAAAAAAA73-s2ANt1vNwpWiAFGYs2eAAAAAAAAAAFdWyxTJ01gHAXEF1z9sDOKwAAAAAAAAAOBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABJG_5wUb6Q1WN6hfRJFcqEwAAAAAAAAAT3r1MnCyPIgP6mYXLoLcz9AAAAAAAAAAKXrSW2Ro9Ws10jZmj20O0hQAAAAAAAAADHSftxLHu5xLDzJX5F8kBXAAAAAAAAAGVVTe2bxq-Jr5s7wFSht9_vgAAAAAAAABqC-DRD-J_UvsXUc59TOzOVAAAAAAAAAAI8AUzmHhqUZOHWH8Bccl_sQAAAAAAAAHc6TUXIWC2WcF-_43xKp-wtQAAAAAAAAETd0aX3KonLcPjMEO-H4cl5QAAAAAAAACDIir7eGdVZsjNItLfykxs3gAAAAAAAABaNWk7GQCtDStIuwl83iGqTwAAAAAAAAAv2CwcPQcRkPoyzD89B8CtBQAAAAAAAAB-OoUyVxHN2rYPjLirZK4ihQAAAAAAAAAGVWOUd0jMGfSYTm8Ns8_hDgAAAAAAAAMEGASd-GxTI3CnNP2dmtJ0gQAAAAAAAAHeLeaqrhFv22rb1wzUlEMwAgAAAAAAAAAMkbApFhDbueqDTdsjbbOMUQAAAAAAAAAg7z0vK5_lN4w4BvVehfj4wQAAAAAAAAALTrTEyZn7B30gBbM8MLULSQAAAAAAAABBvtg0KUtDPlzazpv9gP6MtQAAAAAAAABQOYpTnRQxT_yM-wTPYnG49wAAAAAAAAAC_OOeQuiXtvgynmE43QMbEAAAAAAAAAAAEkX-Bbjdn5I_vHMz9xIc5gAAAAAAAHukvQ7EacG6CR4rzcFaNFEsTQAAAAAAATk7", "types": "CAMrBQID"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "TEeScu0pOzeesTxGaw4JAg"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAACuyaSy1RHb0tl4hOkUXXLXQQAAAAAAAAAzGUwipo03N4glyS6268EEmgAAAAAAAAAKds9yTvk8UzKAgDSjs6pNkgAAAAAAAAANzVmgO3uV6bZtx2XUjAkXcgAAAAAAAAAHNJPFmv3cYB4fnHHuI2lrYQAAAAAAAABbsh1T4lVaqf9yZbH1lhPrZwAAAAAAAACNduOfgYTG-Pz3qxfosjBOKgAAAAAAAAAEFTD_DMq9LCr2rMh4XAWQegAAAAAAAAAF5wGUH60A7iQqyWZA8jj7kwAAAAAAAAAdDPKZG86WCe-rkFTx_IAdagAAAAAAAAAIhCl4jaZsLnxk3C0-qCjENwAAAAAAAAAFfMf02bFW9UOsHXaY1ju3UAAAAAAAAAELie51PKalSPz0oTw25hOjdgAAAAAAAAAHxhzTSPDm8vP1CtKm1pHa_AAAAAAAAADX3SU4n_eVvbLOxW0zu9gonAAAAAAAAAATBULXlXluMevM23wGn-scGgAAAAAAAABIX3YYuA6U4OM2ZjQu8fVwYwAAAAAAAABLSNDYMaokxZpNhjFZnC0cqQAAAAAAAAABm_DK0nAVx1tMIimjFYyQPAAAAAAAAAAS_B6c9784WlLvFF9uk3pSswAAAAAAAAAcFhP6JufLZYYhuADwCLvRKAAAAAAAAACVClvIuFYr5ArIOKSAaLGqggAAAAAAAAGv5tsfFOiB0XQGtxfawg0JiQAAAAAAAAGPe8ARrqT9JmZcuLd6G8ZTMgAAAAAAAAAGV6Xv8yqxVPgM9JZWMvD_ogAAAAAAAAADS4xo2K-7S9Psi5KVtkSU0AAAAAAAAAAONNX6LKmc60fQ-V_Nw2_9cAAAAAAAAACwVGJu-bYJBqeYrugO5COQdQAAAAAAAAHGAxJNlcXBvrgVOpR8a1WEYgAAAAAAAAG2n0mWG92K0zbUz5S-_ixlIAAAAAAAAABrKxHEggHQvpMo7NXk9m-aKgAAAAAAAAAghvijQK1a5iiWkFoVp40y5AAAAAAAAAAGvRwDdjzKXpreYxi90MDGQQAAAAAAAABms-5AzRQS0AyjARcxs2D2DQAAAAAAAAAX4Wda4DEj07iGWB9mKOvWMAAAAAAAAABo45faa5L8TTwA9zJYlmGKywAAAAAAAAAUq3uedK83ZBGp21KqIIcD7QAAAAAAAACWwh1zX_oqIoKNefuSr1ngvgAAAAAAAAAfPu2JWw096K4wEF2usuCt-AAAAAAAAABc_gZdvwQP6FQ5RcMsyYjAXwAAAAAAAAFD1PIPTBbtPHUrg0d3N2nuygAAAAAAAABBlt4DCYuCTF_qGLbdRnIhjAAAAAAAAADDFERPJCfrzkqs-7XhU53jhwAAAAAAAAFtzP5HzbxY7goeRVwj37voeQAAAAAAAAACy87oVbGEsnZxcfXcdrLYswAAAAAAAAB6i1t0pdr_xnHfk_UsEnpDiwAAAAAAAAAMip4jveo5OesPxqJEnXrM0wAAAAAAAAAOrDli4oCQ8GWnljRH2_1bLAAAAAAAAAEZH2XMIGvXG_73d5XzBvFSxAAAAAAAAAEB3D_A_sI8XDgpK1lgEmfWZgAAAAAAAAC_hqzAzTCpj-Nsh96skuh10wAAAAAAAABJibtF619pQHGNKblUfb9MKwAAAAAAAAANHJHMeViEmhpbdveA5zS4zgAAAAAAAADUNW0MvXdcfyNB_rjxH_JHXgAAAAAAAAAN16j8HtYPNjd3qdRoXnMi0AAAAAAAAABaO4wSxfOE-c6Sft1wmb_6fgAAAAAAAABpoKMpPO_rrguOLYx8VBTGhgAAAAAAAAAGakj2EbMcV1BY1x-2V-R6VQAAAAAAAAANqND66z7potQhxSJ1H4ezHgAAAAAAAAAG2B-rbS8KhbB8ePRnpVf7_QAAAAAAAAAU89ogc5uTbOqh2aLJlzHKmAAAAAAAAAAX9ccfl0YdabzwSUY2PdYA0QAAAAAAAAATDT06D5A7Yxiqx6IJ7Kvu0wAAAAAAAABIhfMR5YVLU22vPk_NOG-TgAAAAAAAAAAXyknYMrbzZKxPQGFhtsDUFgAAAAAAAAAMTd592FDxi26zl_r4mKuaXAAAAAAAAAAERooPjsQ01TWhvqGm4rD4pAAAAAAAAAAFc6kGRam5UKx_l-9ot9811wAAAAAAAACL8KbuOHlqa1mTqGljNuuiVAAAAAAAAAAF7F9XBiRMgggoDE1ZbLLQRgAAAAAAAAAH5TLUwI_khEb2-zaj4FK_ZQAAAAAAAAAaxpXYHQL7vamCXb04_96hlgAAAAAAAAALlTaOxl3xTWrzN2-LwynoLwAAAAAAAAAA", "types": "CANWBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "qRkm6b_RZPI0741rrxfzIA"}} +{"Stacktrace": {"frame": {"ids": "cEvvhuguaGYCmGWrnWRz1QAAAAACFwqgcEvvhuguaGYCmGWrnWRz1QAAAAADhEEZcEvvhuguaGYCmGWrnWRz1QAAAAACsrSecEvvhuguaGYCmGWrnWRz1QAAAAACsroGcEvvhuguaGYCmGWrnWRz1QAAAAACsosccEvvhuguaGYCmGWrnWRz1QAAAAACso6VcEvvhuguaGYCmGWrnWRz1QAAAAACsp77cEvvhuguaGYCmGWrnWRz1QAAAAACXrhycEvvhuguaGYCmGWrnWRz1QAAAAACXrumcEvvhuguaGYCmGWrnWRz1QAAAAACXuSNcEvvhuguaGYCmGWrnWRz1QAAAAACXrumcEvvhuguaGYCmGWrnWRz1QAAAAACXtc2cEvvhuguaGYCmGWrnWRz1QAAAAACXssucEvvhuguaGYCmGWrnWRz1QAAAAACXtfdcEvvhuguaGYCmGWrnWRz1QAAAAACXvWEcEvvhuguaGYCmGWrnWRz1QAAAAACLjD5cEvvhuguaGYCmGWrnWRz1QAAAAACLjdJcEvvhuguaGYCmGWrnWRz1QAAAAACLj_YcEvvhuguaGYCmGWrnWRz1QAAAAACHPCM", "types": "EwM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "CT7Jn1_cfRttYWpYz0WvHA"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYIqvacTmpSpuAOHxTh9l_exAAAAAAAv8CwqvacTmpSpuAOHxTh9l_exAAAAAAA2XfPqvacTmpSpuAOHxTh9l_exAAAAAAA2TYhqvacTmpSpuAOHxTh9l_exAAAAAAAjXK5qvacTmpSpuAOHxTh9l_exAAAAAAAgN46qvacTmpSpuAOHxTh9l_exAAAAAAAgMZEAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABch4dwrMYlRFRjyfsvjXt4tgAAAAAAAAAg3V-8FLy1GH8nVRceMDeaiwAAAAAAAAABnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAV4j8yS0qsC_6XfTfMdPp5KQAAAAAAAAAQ9oBnE4xnAvOiOv1q-LbApgAAAAAAAAAEKjF0JPI3hCXDTCc6Z7ofdQAAAAAAAAFLAFikCbtP_Dm7iUthjnlnEgAAAAAAAAEq56q5trA0bAF1B-Um6L_rqwAAAAAAAAAGgi_774C-EJhuJfyXXhzVgwAAAAAAAABEgvYbo0YBmE65VwrpTWYalQAAAAAAAABiAvk7vHT4UprOTP5MohWAugAAAAAAAAAa3Opn5CZ2iYMPW1WE6HYQfAAAAAAAAAAE", "types": "CAMQBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "uZJLF8SFtg9OqPXwQZVelg"}} +{"Stacktrace": {"frame": {"ids": "634wiWh6F21tPpXr0Zz3mgAAAAAAEfFi8NlMClggx8jaziUTJXlmWAAAAAAAAIYIZSkKN3zNxr0HYuO2pqe5hQAAAAAAwcBwZSkKN3zNxr0HYuO2pqe5hQAAAAAA5ECvZSkKN3zNxr0HYuO2pqe5hQAAAAAA4_9_ZSkKN3zNxr0HYuO2pqe5hQAAAAAAj7b5ZSkKN3zNxr0HYuO2pqe5hQAAAAAAgwXKZSkKN3zNxr0HYuO2pqe5hQAAAAAAgu3UAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcBtfAnw52Zh-pzF1hN6odGgAAAAAAAAABDJLJRrJNARIRyzxCnxa4WQAAAAAAAAAYmcb8sJ6l3hl2564ZMljLvwAAAAAAAAAINeO57Qkcge62xvmelDstIAAAAAAAAAAoL4TTplFq0_54QvTmQIK7TgAAAAAAAAAScMPxRfIRSUAO9TVG-M8JpAAAAAAAAAB0_iIILZSpQek0elrVmCyWigAAAAAAAAAgE0bQU1G2uDlA0HZGujxA9wAAAAAAAAAEigHK0MNBkupTzE8Gzv6EygAAAAAAAAAJplZYNE8qhJOfCM58L5mfyQAAAAAAAAAdMKXd2GM1KQ-HCXB8XbvuBAAAAAAAAAAQ92n0tgLpue4WLe7eq6vpuwAAAAAAAAAWsxq3K3ppB_xqEWb8y-RbYwAAAAAAAAC8SlqES-nwtjqDlYXOe7K1YAAAAAAAAAAJFTD_DMq9LCr2rMh4XAWQegAAAAAAAAAF5wGUH60A7iQqyWZA8jj7kwAAAAAAAAAdmZJt6uLSgudylMZ0eHd7CAAAAAAAAAAEQkrVHFzrrNPXJryM_udmYQAAAAAAAAAB8__nCHyreLVA7r_BF4RklwAAAAAAAAAIgWzF_k06817SsAPAEeEuVAAAAAAAAAAFP8GYPQV63_J7gmzBFEQnJwAAAAAAAAFgmiWKFzr_hZhlQAnEjidKYAAAAAAAAABITvbloCY34U08znkUfz6GbAAAAAAAAAAU-lMJxP-0bZiF5XB2gMdbVwAAAAAAAAAGYxIrzYSolBsbC9VHbJjZmgAAAAAAAAAH_2Sq1jeupJuJ-QB3TmIqcwAAAAAAAADXCQI8nGGXTZm2Anxc2rVzlAAAAAAAAAAT2V2dRNf-iGCAuWhm4oOfRAAAAAAAAABE5iqVHRdlT1dn5BdxVeiR7QAAAAAAAABLUI6vy2YkxZpNhPhBVD9zrQAAAAAAAAABWIcSMVTq4UI8IrRuG9Ls8gAAAAAAAAAS6bLW5yM_cMbSli8_NsjzNQAAAAAAAAAcKACWjtDKKsY3WzryMLMuQgAAAAAAAACNbOTvPcD8pPP1fG6-CUmg6wAAAAAAAAGvHtE3mFX5tbjDXSQ7-hE7bwAAAAAAAAF5e8ARrqT9JmZcuLd6G8ZTMgAAAAAAAAAGV6Xv8yqxVPgM9JZWMvD_ogAAAAAAAAADS4xo2K-7S9Psi5KVtkSU0AAAAAAAAAAONNX6LKmc60fQ-V_Nw2_9cAAAAAAAAACwVGJu-bYJBqeYrugO5COQdQAAAAAAAAHGAxJNlcXBvrgVOpR8a1WEYgAAAAAAAALRiM0ISMJkW1PbadMrIfDN5gAAAAAAAAAZc2BpwrDKQx3haZVDD56LgAAAAAAAAABsnENxGWN4qoBcDN73jfy1WgAAAAAAAADf1QVyanYcPpNfuP3xZ0ogLQAAAAAAAAAFqAh8Zr_sGDY6rzZXJvta_gAAAAAAAAAfxBi4pQ8utWGRmJVqaVBkxwAAAAAAAAAfOhy0c1RhzpJIxIHtdNOBrgAAAAAAAABerjyp8aib7sZjDzshnnXJQQAAAAAAAABBc8gmQiPjvAnokd-rAm4_OQAAAAAAAABHrXmzLUA4HH3snMulWKOyNgAAAAAAAAAWXxvzEXolyPiyR3WZkqmNewAAAAAAAAAQ8A-e4vMGSQm_8vtVRynoJAAAAAAAAADLNaokQDqfrb6dyCBpANIkNwAAAAAAAAEvqzb1PmzSJpYKqqQC4Es1dAAAAAAAAAAHBjHQJvdwWPCTBjvnSeRZ2wAAAAAAAAAHid_Nq5V40zsa5EMiEnSMswAAAAAAAAA0UJLc0zscqzwPwar7clkaagAAAAAAAAAPtgCBGeongyDKoP0eQjcOvQAAAAAAAAA3s1ge7c8paVPaLi3Du1Dh1QAAAAAAAAAE2Swt2qN1JJo2lNqpZIN9-wAAAAAAAAAAJsaw4aRwbsrSC4mkOwhwQQAAAAAAAINa8NlMClggx8jaziUTJXlmWAAAAAAAATLOlHp5_WAgpLy2alrUVab6HAAAAAAAwACLlHp5_WAgpLy2alrUVab6HAAAAAAAAEIGlHp5_WAgpLy2alrUVab6HAAAAAAALW4JlHp5_WAgpLy2alrUVab6HAAAAAAALW22lHp5_WAgpLy2alrUVab6HAAAAAAALUfwlHp5_WAgpLy2alrUVab6HAAAAAAALTsYlHp5_WAgpLy2alrUVab6HAAAAAAALTpUlHp5_WAgpLy2alrUVab6HAAAAAAAimwClHp5_WAgpLy2alrUVab6HAAAAAAAimtblHp5_WAgpLy2alrUVab6HAAAAAAAmOK4lHp5_WAgpLy2alrUVab6HAAAAAAAlcA7lHp5_WAgpLy2alrUVab6HAAAAAAAlbpNlHp5_WAgpLy2alrUVab6HAAAAAAAUd51lHp5_WAgpLy2alrUVab6HAAAAAAApYft", "types": "CANBBQIDDgQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "bA1f839p2HCzC7fcTWp8Kw"}} +{"Stacktrace": {"frame": {"ids": "Z3CKaS4aU08RhYA19y5ITQAAAAABubEQZ3CKaS4aU08RhYA19y5ITQAAAAAC1On5Z3CKaS4aU08RhYA19y5ITQAAAAAC19YhZ3CKaS4aU08RhYA19y5ITQAAAAAC14rZZ3CKaS4aU08RhYA19y5ITQAAAAACs8h3Z3CKaS4aU08RhYA19y5ITQAAAAACqk0gZ3CKaS4aU08RhYA19y5ITQAAAAACIAqaZ3CKaS4aU08RhYA19y5ITQAAAAACtAiPZ3CKaS4aU08RhYA19y5ITQAAAAACsxfDZ3CKaS4aU08RhYA19y5ITQAAAAACIA1aZ3CKaS4aU08RhYA19y5ITQAAAAACIbK8Z3CKaS4aU08RhYA19y5ITQAAAAACIP7qZ3CKaS4aU08RhYA19y5ITQAAAAABtFAmZ3CKaS4aU08RhYA19y5ITQAAAAABtEB1", "types": "DgM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "Hwc9ojSnNRegxwpOeXsNnw"}} +{"Stacktrace": {"frame": {"ids": "634wiWh6F21tPpXr0Zz3mgAAAAAAEfFi8NlMClggx8jaziUTJXlmWAAAAAAAAIYIZSkKN3zNxr0HYuO2pqe5hQAAAAAAwcBwZSkKN3zNxr0HYuO2pqe5hQAAAAAA5ECvZSkKN3zNxr0HYuO2pqe5hQAAAAAA4_9_ZSkKN3zNxr0HYuO2pqe5hQAAAAAAj7b5ZSkKN3zNxr0HYuO2pqe5hQAAAAAAgwXKZSkKN3zNxr0HYuO2pqe5hQAAAAAAgu3UAAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qZgY89pr05YIxi0DTL7hyTAAAAAAAAAALzZZ6VCjFYAFVAKtY0XlyPwAAAAAAAAAFySPx-89oJ6TfXYn-uir7mQAAAAAAAABcnVB2vvQdnm3M5BpEt6xnFAAAAAAAAAAEXqZ8EmLPraAc01S4qiJfWgAAAAAAAAAZGabeEr60puRs20AAHoWA0AAAAAAAAAAInGPKMkILxfXIjt9GRbMXwAAAAAAAAABYcn7jRZ-ZvDDBUMM5Rer9wAAAAAAAAAAD5IpWfunjiW7HmwJPoVX8WQAAAAAAAAAO11cfhNddX4HypzZBkL8GJAAAAAAAAAAN5Ga434JXyMCORvI3aSPl0wAAAAAAAAAxRyec96xv7uLWO7iiTNqYKgAAAAAAAAAmr4QCFwkajSWVBltX9dOYSwAAAAAAAAAA", "types": "CAMOBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "ehqmjj-2Kv8A1vCgGKyP2Q"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABPeVkW0TQ9c5aTnXLXV2plwAAAAAAAAAnP7mHtlyIKp9O861pj2g7OwAAAAAAAAAdBPzs7KzDmaKPMROQHmdZzAAAAAAAAAAFvM_fQkfMwYX5ebFDxVQdtwAAAAAAAAAGIpKkMAR_dWJeYgHr6Pp56AAAAAAAAAABRQiOAUVYPrJNPqfM54o9YwAAAAAAAAALSCkRMoBKKPg9IolzXt51kAAAAAAAAAAIY8sJdN8JrOKeDGcKRLKzYgAAAAAAAACuyaSy1RHb0tl4hOkUXXLXQQAAAAAAAAAzGUwipo03N4glyS6268EEmgAAAAAAAAAXC7Gr60ZG8XU9_R3ucXNk1wAAAAAAAAErrLErn8W8_gFwO7zvGO-LBwAAAAAAAAAIOUMeXZZ6fO-t9RTzPCiRtQAAAAAAAAABKZn_I-ZtnojJ7fIDZHHneQAAAAAAAADy92JDYcQA4cXvpv7axYYOPwAAAAAAAAAouBDO9BMjtjTmzHTlTfDLzAAAAAAAAAAECGeCGw7geerub3AylJt7SwAAAAAAAAABA0rFfZQgIUFzz7A2AHAg7gAAAAAAAAAE", "types": "CAMXBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "fL6FlEuXKQQ1vbZSuOkNDA"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA76Af8DDAjVJl721y2vxKHGSBegAAAAAAdJED8DDAjVJl721y2vxKHGSBegAAAAAAdA-2", "types": "BwM"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "FWCWmB5KaAfOjnip-rDwUQ"}} +{"Stacktrace": {"frame": {"ids": "qjB_amR59Lv13Nhle_NwbwAAAAAAEfEyvQ7EacG6CR4rzcFaNFEsTQAAAAAAAIYI8DDAjVJl721y2vxKHGSBegAAAAAAyUNH8DDAjVJl721y2vxKHGSBegAAAAAA5HKP8DDAjVJl721y2vxKHGSBegAAAAAA49it8DDAjVJl721y2vxKHGSBegAAAAAAlT598DDAjVJl721y2vxKHGSBegAAAAAAiFDh8DDAjVJl721y2vxKHGSBegAAAAAAiDi0AAAAAAAAV4sAAAAAAAAAHezOBBlhpr8qytcfMbv--KUIhYho462CJAAAAAAAAAAN1LqFeo_BgrVHpNhRzkRnIAAAAAAAAAAF8NHfQtcyI14VYOjZC2v_gwAAAAAAAABcv7DgkUS5-ysky2RXxPMSjAAAAAAAAAAgRCG4Qx5E9EZ0R-BBEbZnmwAAAAAAAAABk8v4vce5CPjZaoKS8wiSZwAAAAAAAAAVV2OKkEZQbgFjMzVwaTkytwAAAAAAAAAQ3tyP2MUj5DlzxqSh6DRnAwAAAAAAAAFkZ737A4mvoWuasLPvz8LMuAAAAAAAAABDCKOgldhpJkxI6GxtBnkMFwAAAAAAAABIDP-R410tjxklQGgyNbSilQAAAAAAAADK", "types": "CAMMBQ"}}, "ecs": {"version": "1.12.0"}} +{"create": {"_index": "profiling-stacktraces", "_id": "ZnXwrIATmk5PmXMsv4nKtg"}} +{"Stacktrace": {"frame": {"ids": "-FiXU0afkg-sRwubj2WiAwAAAAAAAKlJUJmIMEc6K8gJ39NHYaD0WwAAAAAAAhyG-FiXU0afkg-sRwubj2WiAwAAAAAAAKMr-FiXU0afkg-sRwubj2WiAwAAAAAAAmE0-FiXU0afkg-sRwubj2WiAwAAAAAAAlz6-FiXU0afkg-sRwubj2WiAwAAAAAAAla0Fuiq0RN8VMfwSLHsA6DzhAAAAAAAATq8-FiXU0afkg-sRwubj2WiAwAAAAAAAZtb-FiXU0afkg-sRwubj2WiAwAAAAAAAZdL-FiXU0afkg-sRwubj2WiAwAAAAAAAkK3-FiXU0afkg-sRwubj2WiAwAAAAAAAiUs", "types": "CwM"}}, "ecs": {"version": "1.12.0"}} diff --git a/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/SearchableSnapshots.java b/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/SearchableSnapshots.java index 98f6da9ba6a58..45c38e52ad9c3 100644 --- a/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/SearchableSnapshots.java +++ b/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/SearchableSnapshots.java @@ -12,6 +12,7 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.ActionRequest; import org.elasticsearch.action.ActionResponse; +import org.elasticsearch.blobcache.BlobCacheMetrics; import org.elasticsearch.blobcache.shared.SharedBlobCacheService; import org.elasticsearch.client.internal.Client; import org.elasticsearch.cluster.ClusterChangedEvent; @@ -328,7 +329,8 @@ public Collection createComponents(PluginServices services) { nodeEnvironment, settings, threadPool, - SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME + SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME, + new BlobCacheMetrics(services.telemetryProvider().getMeterRegistry()) ); this.frozenCacheService.set(sharedBlobCacheService); components.add(cacheService); diff --git a/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/allocation/SearchableSnapshotAllocator.java b/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/allocation/SearchableSnapshotAllocator.java index f95b44f1d2e22..fbac3d339e902 100644 --- a/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/allocation/SearchableSnapshotAllocator.java +++ b/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/allocation/SearchableSnapshotAllocator.java @@ -30,7 +30,6 @@ import org.elasticsearch.cluster.routing.allocation.NodeAllocationResult; import org.elasticsearch.cluster.routing.allocation.RoutingAllocation; import org.elasticsearch.cluster.routing.allocation.decider.Decision; -import org.elasticsearch.cluster.routing.allocation.decider.DiskThresholdDecider; import org.elasticsearch.common.Priority; import org.elasticsearch.common.Strings; import org.elasticsearch.common.settings.Settings; @@ -61,6 +60,7 @@ import java.util.concurrent.ConcurrentMap; import static java.util.stream.Collectors.toSet; +import static org.elasticsearch.cluster.routing.ExpectedShardSizeEstimator.getExpectedShardSize; import static org.elasticsearch.gateway.ReplicaShardAllocator.augmentExplanationsWithStoreInfo; import static org.elasticsearch.snapshots.SearchableSnapshotsSettings.SNAPSHOT_PARTIAL_SETTING; import static org.elasticsearch.xpack.searchablesnapshots.SearchableSnapshots.SNAPSHOT_INDEX_ID_SETTING; @@ -198,7 +198,7 @@ public void allocateUnassigned( unassignedAllocationHandler.initialize( allocateUnassignedDecision.getTargetNode().getId(), allocateUnassignedDecision.getAllocationId(), - DiskThresholdDecider.getExpectedShardSize(shardRouting, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE, allocation), + getExpectedShardSize(shardRouting, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE, allocation), allocation.changes() ); } else { diff --git a/x-pack/plugin/searchable-snapshots/src/test/java/org/elasticsearch/xpack/searchablesnapshots/AbstractSearchableSnapshotsTestCase.java b/x-pack/plugin/searchable-snapshots/src/test/java/org/elasticsearch/xpack/searchablesnapshots/AbstractSearchableSnapshotsTestCase.java index 0bc339f17e190..a599aeaeada71 100644 --- a/x-pack/plugin/searchable-snapshots/src/test/java/org/elasticsearch/xpack/searchablesnapshots/AbstractSearchableSnapshotsTestCase.java +++ b/x-pack/plugin/searchable-snapshots/src/test/java/org/elasticsearch/xpack/searchablesnapshots/AbstractSearchableSnapshotsTestCase.java @@ -14,6 +14,7 @@ import org.apache.lucene.store.IOContext; import org.apache.lucene.store.IndexInput; import org.apache.lucene.store.IndexOutput; +import org.elasticsearch.blobcache.BlobCacheMetrics; import org.elasticsearch.blobcache.common.ByteRange; import org.elasticsearch.blobcache.shared.SharedBlobCacheService; import org.elasticsearch.cluster.node.DiscoveryNode; @@ -143,7 +144,8 @@ protected SharedBlobCacheService defaultFrozenCacheService() { nodeEnvironment, Settings.EMPTY, threadPool, - SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME + SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME, + BlobCacheMetrics.NOOP ); } @@ -165,7 +167,8 @@ protected SharedBlobCacheService randomFrozenCacheService() { singlePathNodeEnvironment, cacheSettings.build(), threadPool, - SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME + SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME, + BlobCacheMetrics.NOOP ); } @@ -189,7 +192,8 @@ protected SharedBlobCacheService createFrozenCacheService(final ByteSi .put(SharedBlobCacheService.SHARED_CACHE_RANGE_SIZE_SETTING.getKey(), cacheRangeSize) .build(), threadPool, - SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME + SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME, + BlobCacheMetrics.NOOP ); } diff --git a/x-pack/plugin/searchable-snapshots/src/test/java/org/elasticsearch/xpack/searchablesnapshots/store/input/FrozenIndexInputTests.java b/x-pack/plugin/searchable-snapshots/src/test/java/org/elasticsearch/xpack/searchablesnapshots/store/input/FrozenIndexInputTests.java index f6f494cd46099..ca4ad51ecb819 100644 --- a/x-pack/plugin/searchable-snapshots/src/test/java/org/elasticsearch/xpack/searchablesnapshots/store/input/FrozenIndexInputTests.java +++ b/x-pack/plugin/searchable-snapshots/src/test/java/org/elasticsearch/xpack/searchablesnapshots/store/input/FrozenIndexInputTests.java @@ -9,6 +9,7 @@ import org.apache.lucene.store.IndexInput; import org.elasticsearch.action.ActionListener; +import org.elasticsearch.blobcache.BlobCacheMetrics; import org.elasticsearch.blobcache.shared.SharedBlobCacheService; import org.elasticsearch.blobcache.shared.SharedBytes; import org.elasticsearch.common.settings.Settings; @@ -108,7 +109,8 @@ public void testRandomReads() throws IOException { nodeEnvironment, settings, threadPool, - SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME + SearchableSnapshots.CACHE_FETCH_ASYNC_THREAD_POOL_NAME, + BlobCacheMetrics.NOOP ); CacheService cacheService = randomCacheService(); TestSearchableSnapshotDirectory directory = new TestSearchableSnapshotDirectory( diff --git a/x-pack/plugin/security/qa/jwt-realm/src/javaRestTest/java/org/elasticsearch/xpack/security/authc/jwt/JwtWithUnavailableSecurityIndexRestIT.java b/x-pack/plugin/security/qa/jwt-realm/src/javaRestTest/java/org/elasticsearch/xpack/security/authc/jwt/JwtWithUnavailableSecurityIndexRestIT.java index 015c66aea6164..29d94eddbbf0f 100644 --- a/x-pack/plugin/security/qa/jwt-realm/src/javaRestTest/java/org/elasticsearch/xpack/security/authc/jwt/JwtWithUnavailableSecurityIndexRestIT.java +++ b/x-pack/plugin/security/qa/jwt-realm/src/javaRestTest/java/org/elasticsearch/xpack/security/authc/jwt/JwtWithUnavailableSecurityIndexRestIT.java @@ -53,7 +53,11 @@ public class JwtWithUnavailableSecurityIndexRestIT extends ESRestTestCase { // Using this to first test without, then with caching. Since caching is controlled by a static setting, we need a // MutableSettingsProvider instance - private static final MutableSettingsProvider mutableSettingsForLastLoadCache = new MutableSettingsProvider(); + private static final MutableSettingsProvider mutableSettingsForLastLoadCache = new MutableSettingsProvider() { + { + put("xpack.security.authz.store.role_mappings.last_load_cache.enabled", "false"); + } + }; @ClassRule public static ElasticsearchCluster cluster = ElasticsearchCluster.local() diff --git a/x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/xpack/security/authc/jwt/JwtRealmSingleNodeTests.java b/x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/xpack/security/authc/jwt/JwtRealmSingleNodeTests.java index a738e18b0fb10..d84b93fa6f638 100644 --- a/x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/xpack/security/authc/jwt/JwtRealmSingleNodeTests.java +++ b/x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/xpack/security/authc/jwt/JwtRealmSingleNodeTests.java @@ -188,53 +188,56 @@ public void testInvalidJWTDoesNotFallbackToAnonymousAccess() throws Exception { } public void testAnyJwtRealmWillExtractTheToken() throws ParseException { - final List jwtRealms = getJwtRealms(); - final JwtRealm jwtRealm = randomFrom(jwtRealms); - - final String sharedSecret = randomBoolean() ? randomAlphaOfLengthBetween(10, 20) : null; - final String iss = randomAlphaOfLengthBetween(5, 18); - final String aud = randomAlphaOfLengthBetween(5, 18); - final String sub = randomAlphaOfLengthBetween(5, 18); - - // Realm 1 will extract the token because the JWT has all iss, sub, aud, principal claims. - // Their values do not match what realm 1 expects but that does not matter when extracting the token - final SignedJWT signedJWT1 = getSignedJWT(Map.of("iss", iss, "aud", aud, "sub", sub)); - final ThreadContext threadContext1 = prepareThreadContext(signedJWT1, sharedSecret); - final var token1 = (JwtAuthenticationToken) jwtRealm.token(threadContext1); - final String principal1 = Strings.format("%s/%s/%s/%s", iss, aud, sub, sub); - assertJwtToken(token1, principal1, sharedSecret, signedJWT1); - - // Realm 2 for extracting the token from the following JWT - // Because it does not have the sub claim but client_id, which is configured as fallback by realm 2 - final String appId = randomAlphaOfLengthBetween(5, 18); - final SignedJWT signedJWT2 = getSignedJWT(Map.of("iss", iss, "aud", aud, "client_id", sub, "appid", appId)); - final ThreadContext threadContext2 = prepareThreadContext(signedJWT2, sharedSecret); - final var token2 = (JwtAuthenticationToken) jwtRealm.token(threadContext2); - final String principal2 = Strings.format("%s/%s/%s/%s", iss, aud, sub, appId); - assertJwtToken(token2, principal2, sharedSecret, signedJWT2); - - // Realm 3 will extract the token from the following JWT - // Because it has the oid claim which is configured as a fallback by realm 3 - final String email = randomAlphaOfLengthBetween(5, 18) + "@example.com"; - final SignedJWT signedJWT3 = getSignedJWT(Map.of("iss", iss, "aud", aud, "oid", sub, "email", email)); - final ThreadContext threadContext3 = prepareThreadContext(signedJWT3, sharedSecret); - final var token3 = (JwtAuthenticationToken) jwtRealm.token(threadContext3); - final String principal3 = Strings.format("%s/%s/%s/%s", iss, aud, sub, email); - assertJwtToken(token3, principal3, sharedSecret, signedJWT3); - - // The JWT does not match any realm's configuration, a token with generic token principal will be extracted - final SignedJWT signedJWT4 = getSignedJWT(Map.of("iss", iss, "aud", aud, "azp", sub, "email", email)); - final ThreadContext threadContext4 = prepareThreadContext(signedJWT4, sharedSecret); - final var token4 = (JwtAuthenticationToken) jwtRealm.token(threadContext4); - final String principal4 = Strings.format(" by %s", iss); - assertJwtToken(token4, principal4, sharedSecret, signedJWT4); - - // The JWT does not have an issuer, a token with generic token principal will be extracted - final SignedJWT signedJWT5 = getSignedJWT(Map.of("aud", aud, "sub", sub)); - final ThreadContext threadContext5 = prepareThreadContext(signedJWT5, sharedSecret); - final var token5 = (JwtAuthenticationToken) jwtRealm.token(threadContext5); - final String principal5 = ""; - assertJwtToken(token5, principal5, sharedSecret, signedJWT5); + for (JwtRealm jwtRealm : getJwtRealms()) { + final String sharedSecret = randomBoolean() ? randomAlphaOfLengthBetween(10, 20) : null; + final String iss = randomAlphaOfLengthBetween(5, 18); + final List aud = List.of(randomAlphaOfLengthBetween(5, 18), randomAlphaOfLengthBetween(5, 18)); + final String sub = randomAlphaOfLengthBetween(5, 18); + + // JWT1 has all iss, sub, aud, principal claims. + final SignedJWT signedJWT1 = getSignedJWT(Map.of("iss", iss, "aud", aud, "sub", sub)); + final ThreadContext threadContext1 = prepareThreadContext(signedJWT1, sharedSecret); + final var token1 = (JwtAuthenticationToken) jwtRealm.token(threadContext1); + final String principal1 = Strings.format("'aud:%s,%s' 'iss:%s' 'sub:%s'", aud.get(0), aud.get(1), iss, sub); + assertJwtToken(token1, principal1, sharedSecret, signedJWT1); + + // JWT2, JWT3, and JWT4 don't have the sub claim. + // Some realms define fallback claims for the sub claim (which themselves might not exist), + // but that is not relevant for token building (it's used for user principal assembling). + final String appId = randomAlphaOfLengthBetween(5, 18); + final SignedJWT signedJWT2 = getSignedJWT(Map.of("iss", iss, "aud", aud, "client_id", sub, "appid", appId)); + final ThreadContext threadContext2 = prepareThreadContext(signedJWT2, sharedSecret); + final var token2 = (JwtAuthenticationToken) jwtRealm.token(threadContext2); + final String principal2 = Strings.format( + "'appid:%s' 'aud:%s,%s' 'client_id:%s' 'iss:%s'", + appId, + aud.get(0), + aud.get(1), + sub, + iss + ); + assertJwtToken(token2, principal2, sharedSecret, signedJWT2); + + final String email = randomAlphaOfLengthBetween(5, 18) + "@example.com"; + final SignedJWT signedJWT3 = getSignedJWT(Map.of("iss", iss, "aud", aud, "oid", sub, "email", email)); + final ThreadContext threadContext3 = prepareThreadContext(signedJWT3, sharedSecret); + final var token3 = (JwtAuthenticationToken) jwtRealm.token(threadContext3); + final String principal3 = Strings.format("'aud:%s,%s' 'email:%s' 'iss:%s' 'oid:%s'", aud.get(0), aud.get(1), email, iss, sub); + assertJwtToken(token3, principal3, sharedSecret, signedJWT3); + + final SignedJWT signedJWT4 = getSignedJWT(Map.of("iss", iss, "aud", aud, "azp", sub, "email", email)); + final ThreadContext threadContext4 = prepareThreadContext(signedJWT4, sharedSecret); + final var token4 = (JwtAuthenticationToken) jwtRealm.token(threadContext4); + final String principal4 = Strings.format("'aud:%s,%s' 'azp:%s' 'email:%s' 'iss:%s'", aud.get(0), aud.get(1), sub, email, iss); + assertJwtToken(token4, principal4, sharedSecret, signedJWT4); + + // JWT5 does not have an issuer. + final SignedJWT signedJWT5 = getSignedJWT(Map.of("aud", aud, "sub", sub)); + final ThreadContext threadContext5 = prepareThreadContext(signedJWT5, sharedSecret); + final var token5 = (JwtAuthenticationToken) jwtRealm.token(threadContext5); + final String principal5 = Strings.format("'aud:%s,%s' 'sub:%s'", aud.get(0), aud.get(1), sub); + assertJwtToken(token5, principal5, sharedSecret, signedJWT5); + } } public void testJwtRealmReturnsNullTokenWhenJwtCredentialIsAbsent() { diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtAuthenticationToken.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtAuthenticationToken.java index a80865428e592..9ca0ddb42e663 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtAuthenticationToken.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtAuthenticationToken.java @@ -15,36 +15,35 @@ import java.text.ParseException; import java.util.Arrays; +import java.util.List; import java.util.Objects; +import java.util.TreeSet; /** * An {@link AuthenticationToken} to hold JWT authentication related content. */ public class JwtAuthenticationToken implements AuthenticationToken { - private final String principal; private SignedJWT signedJWT; + private final String principal; private final byte[] userCredentialsHash; @Nullable private final SecureString clientAuthenticationSharedSecret; /** * Store a mandatory JWT and optional Shared Secret. - * @param principal The token's principal, useful as a realm order cache key * @param signedJWT The JWT parsed from the end-user credentials * @param userCredentialsHash The hash of the end-user credentials is used to compute the key for user cache at the realm level. * See also {@link JwtRealm#authenticate}. * @param clientAuthenticationSharedSecret URL-safe Shared Secret for Client authentication. Required by some JWT realms. */ public JwtAuthenticationToken( - String principal, SignedJWT signedJWT, byte[] userCredentialsHash, @Nullable final SecureString clientAuthenticationSharedSecret ) { - this.principal = Objects.requireNonNull(principal); this.signedJWT = Objects.requireNonNull(signedJWT); + this.principal = buildTokenPrincipal(); this.userCredentialsHash = Objects.requireNonNull(userCredentialsHash); - if ((clientAuthenticationSharedSecret != null) && (clientAuthenticationSharedSecret.isEmpty())) { throw new IllegalArgumentException("Client shared secret must be non-empty"); } @@ -70,7 +69,7 @@ public JWTClaimsSet getJWTClaimsSet() { return signedJWT.getJWTClaimsSet(); } catch (ParseException e) { assert false : "The JWT claims set should have already been successfully parsed before building the JWT authentication token"; - throw new IllegalArgumentException(e); + throw new IllegalStateException(e); } } @@ -95,4 +94,47 @@ public void clearCredentials() { public String toString() { return JwtAuthenticationToken.class.getSimpleName() + "=" + this.principal; } + + private String buildTokenPrincipal() { + JWTClaimsSet jwtClaimsSet = getJWTClaimsSet(); + StringBuilder principalBuilder = new StringBuilder(); + claimsLoop: for (String claimName : new TreeSet<>(jwtClaimsSet.getClaims().keySet())) { + Object claimValue = jwtClaimsSet.getClaim(claimName); + if (claimValue == null) { + continue; + } + // only use String or String[] claim values to assemble the principal + if (claimValue instanceof String) { + if (principalBuilder.isEmpty() == false) { + principalBuilder.append(' '); + } + principalBuilder.append('\'').append(claimName).append(':').append((String) claimValue).append('\''); + } else if (claimValue instanceof List) { + List claimValuesList = (List) claimValue; + if (claimValuesList.isEmpty()) { + continue; + } + for (Object claimValueElem : claimValuesList) { + if (claimValueElem instanceof String == false) { + continue claimsLoop; + } + } + if (principalBuilder.isEmpty() == false) { + principalBuilder.append(' '); + } + principalBuilder.append('\'').append(claimName).append(':'); + for (int i = 0; i < claimValuesList.size(); i++) { + if (i > 0) { + principalBuilder.append(','); + } + principalBuilder.append((String) claimValuesList.get(i)); + } + principalBuilder.append('\''); + } + } + if (principalBuilder.isEmpty()) { + return ""; + } + return principalBuilder.toString(); + } } diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtRealm.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtRealm.java index dea471846b9f4..eb2517f8e54e4 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtRealm.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtRealm.java @@ -39,8 +39,6 @@ import org.elasticsearch.xpack.security.authc.support.ClaimParser; import org.elasticsearch.xpack.security.authc.support.DelegatedAuthorizationSupport; -import java.text.ParseException; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -48,8 +46,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.TreeSet; -import java.util.function.Function; import static java.lang.String.join; import static org.elasticsearch.core.Strings.format; @@ -61,6 +57,8 @@ */ public class JwtRealm extends Realm implements CachingRealm, Releasable { + private static final String LATEST_MALFORMED_JWT = "_latest_malformed_jwt"; + private static final Logger logger = LogManager.getLogger(JwtRealm.class); public static final String HEADER_END_USER_AUTHENTICATION = "Authorization"; @@ -82,7 +80,6 @@ public class JwtRealm extends Realm implements CachingRealm, Releasable { private final JwtAuthenticator jwtAuthenticator; private final TimeValue allowedClockSkew; DelegatedAuthorizationSupport delegatedAuthorizationSupport = null; - private List> tokenPrincipalFunctions; public JwtRealm(final RealmConfig realmConfig, final SSLService sslService, final UserRoleMapper userRoleMapper) throws SettingsException { @@ -136,7 +133,6 @@ public JwtRealm(final RealmConfig realmConfig, final SSLService sslService, fina /** * If X-pack licensing allows it, initialize delegated authorization support. - * JWT realm will use the list of all realms to link to its named authorization realms. * @param allRealms List of all realms containing authorization realms for this JWT realm. * @param xpackLicenseState X-pack license state. */ @@ -147,14 +143,6 @@ public void initialize(final Iterable allRealms, final XPackLicenseState } // extract list of realms referenced by config.settings() value for DelegatedAuthorizationSettings.ROLES_REALMS delegatedAuthorizationSupport = new DelegatedAuthorizationSupport(allRealms, config, xpackLicenseState); - - final List> tokenPrincipalFunctions = new ArrayList<>(); - for (var realm : allRealms) { - if (realm instanceof final JwtRealm jwtRealm) { - tokenPrincipalFunctions.add(jwtRealm::buildTokenPrincipal); - } - } - this.tokenPrincipalFunctions = List.copyOf(tokenPrincipalFunctions); } /** @@ -191,69 +179,24 @@ public void expireAll() { @Override public AuthenticationToken token(final ThreadContext threadContext) { ensureInitialized(); - final SecureString userCredentials = JwtUtil.getHeaderValue( threadContext, JwtRealm.HEADER_END_USER_AUTHENTICATION, JwtRealm.HEADER_END_USER_AUTHENTICATION_SCHEME, false ); - if (userCredentials == null || userCredentials.isEmpty()) { - return null; - } - - // a lightweight pre-check for JWTs - if (containsAtLeastTwoDots(userCredentials) == false) { - return null; - } - - // custom realms can also consume the Bearer credentials scheme - final SignedJWT signedJWT; - try { - signedJWT = SignedJWT.parse(userCredentials.toString()); - } catch (ParseException e) { - logger.debug("Failed to parse JWT bearer token", e); + SignedJWT signedJWT = parseSignedJWT(userCredentials, threadContext); + if (signedJWT == null) { + // this is not a valid JWT for ES realms, but custom realms can also consume the Bearer credentials scheme in their own format return null; } - final JWTClaimsSet jwtClaimsSet; - try { - jwtClaimsSet = signedJWT.getJWTClaimsSet(); - } catch (ParseException e) { - logger.debug("Failed to parse JWT claims set", e); - return null; - } - final SecureString clientCredentials = JwtUtil.getHeaderValue( threadContext, JwtRealm.HEADER_CLIENT_AUTHENTICATION, JwtRealm.HEADER_SHARED_SECRET_AUTHENTICATION_SCHEME, true ); - - // If Issuer is not found, still return a JWT token since it is after still a JWT, authentication - // will fail later because issuer is mandated - final String issuer = jwtClaimsSet.getIssuer(); - if (Strings.hasText(issuer) == false) { - logger.warn("Issuer claim 'iss' is missing."); - return new JwtAuthenticationToken("", signedJWT, JwtUtil.sha256(userCredentials), clientCredentials); - } - - // Try all known extraction functions to build the token principal - for (Function func : tokenPrincipalFunctions) { - final String tokenPrincipalSuffix = func.apply(jwtClaimsSet); - if (tokenPrincipalSuffix != null) { - return new JwtAuthenticationToken( - issuer + "/" + tokenPrincipalSuffix, - signedJWT, - JwtUtil.sha256(userCredentials), - clientCredentials - ); - } - } - - // Token principal cannot be extracted even after trying all functions, but this is - // still a JWT token so that we should return as one. - return new JwtAuthenticationToken(" by " + issuer, signedJWT, JwtUtil.sha256(userCredentials), clientCredentials); + return new JwtAuthenticationToken(signedJWT, JwtUtil.sha256(userCredentials), clientCredentials); } @Override @@ -459,11 +402,6 @@ public void rotateClientSecret(SecureString clientSecret) { this.clientAuthenticationSharedSecret.rotate(clientSecret, config.getSetting(CLIENT_AUTH_SHARED_SECRET_ROTATION_GRACE_PERIOD)); } - // package private for testing - RotatableSecret getClientAuthenticationSharedSecret() { - return clientAuthenticationSharedSecret; - } - /** * Clean up JWT cache (if enabled). */ @@ -509,52 +447,22 @@ private Map buildUserMetadata(JWTClaimsSet claimsSet) { return Map.copyOf(metadata); } - // We construct the token principal as a function of the JWT realm configuration. We also short circuit the extraction of the - // token principal while we iterate through the realms. For realms like the file realm this is not an issue since there is only - // one file realm. For realms like LDAP this is also not an issue since the token principal is identical across all realms regardless - // of how the realm is configured. However, for realms like JWT (and PKI realm) where the token principal is a function of the - // realm configuration AND multiple realms of that type can exist this can be an issue. This is an issue because realm1 might - // result in the token principal "abc", but realm2 (same JWT) might result in the token principal as "xyz". Since we short circuit the - // extraction of the token principal (i.e. use the first one that does not error) then the same JWT token can result in a - // token principal of either "abc" or "xyz" depending on which came first. This means that we can not rely on the value calculated here - // to be logically correct within the context of a given realm. The value is technically correct as the value is a function of - // the JWT itself, but which function (from realm1 or realm2) can not be known. The value emitted here should be used judiciously. - private String buildTokenPrincipal(JWTClaimsSet jwtClaimsSet) { - final Map fallbackClaimNames = jwtAuthenticator.getFallbackClaimNames(); - final FallbackableClaim subClaim = new FallbackableClaim("sub", fallbackClaimNames, jwtClaimsSet); - final String subject = subClaim.getStringClaimValue(); - if (false == Strings.hasText(subject)) { - logger.debug( - "Can not build token principal for realm [{}] since claim [{}] is missing from claimSet [{}]", - name(), - subClaim, - jwtClaimsSet - ); - return null; - } - - final FallbackableClaim audClaim = new FallbackableClaim("aud", fallbackClaimNames, jwtClaimsSet); - final List audiences = audClaim.getStringListClaimValue(); - if (audiences == null || audiences.isEmpty()) { - logger.debug( - "Can not build token principal for realm [{}] since claim [{}] is missing from claimSet [{}]", - name(), - subClaim, - jwtClaimsSet - ); + /** + * Parses a {@link SignedJWT} from the provided {@param token}. + * This internally, for the local thread, remembers the last **malformed** token parsed, + * in order to avoid attempting to parse the same token multiple consecutive times (by different JWT realms in the chain). + */ + private SignedJWT parseSignedJWT(SecureString token, ThreadContext threadContext) { + if (Objects.equals(token, threadContext.getTransient(LATEST_MALFORMED_JWT))) { + // already tried to parse this token and it didn't work return null; } - - final String userPrincipal = claimParserPrincipal.getClaimValue(jwtClaimsSet); - if (false == Strings.hasText(userPrincipal)) { - logger.debug( - "Can not build token principal for realm [{}] since no user principal can be extracted with [{}]", - name(), - claimParserPrincipal - ); - return null; + SignedJWT signedJWT = JwtUtil.parseSignedJWT(token); + if (signedJWT == null) { + // this is a malformed JWT, update the latest malformed token reference + threadContext.putTransient(LATEST_MALFORMED_JWT, token); } - return String.join(",", new TreeSet<>(audiences)) + "/" + subject + "/" + userPrincipal; + return signedJWT; } /** @@ -581,21 +489,4 @@ record ExpiringUser(User user, Date exp) { Objects.requireNonNull(exp, "Expiration date must not be null"); } } - - /** - * This is a lightweight pre-check for the JWT token format. - * If this returns {@code true}, the token MIGHT be a JWT. Otherwise, the token is definitely not a JWT. - */ - private static boolean containsAtLeastTwoDots(SecureString secureString) { - if (secureString == null || secureString.length() < 2) { - return false; - } - int ndots = 0; - for (int i = 0; i < secureString.length(); i++) { - if (secureString.charAt(i) == '.' && ++ndots >= 2) { - return true; - } - } - return false; - } } diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtUtil.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtUtil.java index 9168c5c0925bd..928ecd7fa265d 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtUtil.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/jwt/JwtUtil.java @@ -13,6 +13,7 @@ import com.nimbusds.jose.util.Base64URL; import com.nimbusds.jose.util.JSONObjectUtils; import com.nimbusds.jwt.JWT; +import com.nimbusds.jwt.SignedJWT; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; @@ -59,6 +60,7 @@ import java.security.PrivilegedAction; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; +import java.text.ParseException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -354,6 +356,25 @@ public static byte[] sha256(final CharSequence charSequence) { return messageDigest.digest(); } + public static SignedJWT parseSignedJWT(SecureString token) { + if (token == null || token.isEmpty()) { + return null; + } + // a lightweight pre-check for JWTs + if (containsAtLeastTwoDots(token) == false) { + return null; + } + try { + SignedJWT signedJWT = SignedJWT.parse(token.toString()); + // trigger claim set parsing (the parsed version will be cached internally) + signedJWT.getJWTClaimsSet(); + return signedJWT; + } catch (ParseException e) { + LOGGER.debug("Failed to parse JWT bearer token", e); + return null; + } + } + /** * Helper class to consolidate multiple trace level statements to a single trace statement with lazy evaluation. * If trace level is not enabled, then no work is performed. This class is not threadsafe and is not intended for a long lifecycle. @@ -412,4 +433,21 @@ public static Supplier toStringRedactSignature(JWT jwt) { return jwt::getParsedString; } } + + /** + * This is a lightweight pre-check for the JWT token format. + * If this returns {@code true}, the token MIGHT be a JWT. Otherwise, the token is definitely not a JWT. + */ + private static boolean containsAtLeastTwoDots(SecureString secureString) { + if (secureString == null || secureString.length() < 2) { + return false; + } + int ndots = 0; + for (int i = 0; i < secureString.length(); i++) { + if (secureString.charAt(i) == '.' && ++ndots >= 2) { + return true; + } + } + return false; + } } diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/bucket/geogrid/GeoHexGridAggregationBuilder.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/bucket/geogrid/GeoHexGridAggregationBuilder.java index 534c08f39c7e6..f513606144e34 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/bucket/geogrid/GeoHexGridAggregationBuilder.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/bucket/geogrid/GeoHexGridAggregationBuilder.java @@ -118,11 +118,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.V_8_1_0; diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/metrics/CartesianBoundsAggregationBuilder.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/metrics/CartesianBoundsAggregationBuilder.java index a7385b30ea165..cbb02d6d7821c 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/metrics/CartesianBoundsAggregationBuilder.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/metrics/CartesianBoundsAggregationBuilder.java @@ -99,11 +99,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.V_8_6_0; diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/metrics/CartesianCentroidAggregationBuilder.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/metrics/CartesianCentroidAggregationBuilder.java index dbd8c41af671b..340d80695458f 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/metrics/CartesianCentroidAggregationBuilder.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/search/aggregations/metrics/CartesianCentroidAggregationBuilder.java @@ -106,11 +106,6 @@ public String getType() { return NAME; } - @Override - protected ValuesSourceRegistry.RegistryKey getRegistryKey() { - return REGISTRY_KEY; - } - @Override public TransportVersion getMinimalSupportedVersion() { return TransportVersions.V_8_6_0; diff --git a/x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/notifications/TransformAuditor.java b/x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/notifications/TransformAuditor.java index 6a14097d4ec24..d06b1a4ed106b 100644 --- a/x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/notifications/TransformAuditor.java +++ b/x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/notifications/TransformAuditor.java @@ -42,7 +42,8 @@ public TransformAuditor(Client client, String nodeName, ClusterService clusterSe () -> { try { return new PutComposableIndexTemplateAction.Request(TransformInternalIndexConstants.AUDIT_INDEX).indexTemplate( - new ComposableIndexTemplate.Builder().template(TransformInternalIndex.getAuditIndexTemplate()) + ComposableIndexTemplate.builder() + .template(TransformInternalIndex.getAuditIndexTemplate()) .version((long) TransformConfigVersion.CURRENT.id()) .indexPatterns(Collections.singletonList(TransformInternalIndexConstants.AUDIT_INDEX_PREFIX + "*")) .priority(Long.MAX_VALUE) diff --git a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlAssignmentPlannerUpgradeIT.java b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlAssignmentPlannerUpgradeIT.java index fc78bf36c72fb..22ff69bf5ff55 100644 --- a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlAssignmentPlannerUpgradeIT.java +++ b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlAssignmentPlannerUpgradeIT.java @@ -30,6 +30,10 @@ public class MlAssignmentPlannerUpgradeIT extends AbstractUpgradeTestCase { + private static final boolean IS_SINGLE_PROCESSOR_TEST = Boolean.parseBoolean( + System.getProperty("tests.configure_test_clusters_with_one_processor", "false") + ); + private Logger logger = LogManager.getLogger(MlAssignmentPlannerUpgradeIT.class); // See PyTorchModelIT for how this model was created @@ -63,6 +67,7 @@ public class MlAssignmentPlannerUpgradeIT extends AbstractUpgradeTestCase { public void testMlAssignmentPlannerUpgrade() throws Exception { assumeTrue("NLP model deployments added in 8.0", isOriginalClusterVersionAtLeast(Version.V_8_0_0)); + assumeFalse("This test deploys multiple models which cannot be accommodated on a single processor", IS_SINGLE_PROCESSOR_TEST); logger.info("Starting testMlAssignmentPlannerUpgrade, model size {}", RAW_MODEL_SIZE);