Merge revision 7fb6ca447a into multi-project

This commit is contained in:
Tim Vernum 2024-12-31 15:41:02 +11:00
commit 4ff691f066
794 changed files with 21606 additions and 4238 deletions

View file

@ -0,0 +1,400 @@
/*
* 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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public
* License v3.0 only", or the "Server Side Public License, v 1".
*/
package org.elasticsearch.benchmark.index.mapper;
import org.elasticsearch.common.UUIDs;
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.logging.LogConfigurator;
import org.elasticsearch.index.mapper.LuceneDocument;
import org.elasticsearch.index.mapper.MapperService;
import org.elasticsearch.index.mapper.SourceToParse;
import org.elasticsearch.xcontent.XContentBuilder;
import org.elasticsearch.xcontent.XContentType;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
import org.openjdk.jmh.annotations.Measurement;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.OutputTimeUnit;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.Setup;
import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Warmup;
import java.io.IOException;
import java.util.List;
import java.util.Random;
import java.util.concurrent.TimeUnit;
@Fork(value = 1)
@Warmup(iterations = 5)
@Measurement(iterations = 5)
@BenchmarkMode(Mode.Throughput)
@OutputTimeUnit(TimeUnit.SECONDS)
@State(Scope.Benchmark)
public class LogsDbDocumentParsingBenchmark {
private Random random;
private MapperService mapperServiceEnabled;
private MapperService mapperServiceEnabledWithStoreArrays;
private MapperService mapperServiceDisabled;
private SourceToParse[] documents;
static {
LogConfigurator.configureESLogging(); // doc values implementations need logging
}
private static String SAMPLE_LOGS_MAPPING_ENABLED = """
{
"_source": {
"mode": "synthetic"
},
"properties": {
"kafka": {
"properties": {
"log": {
"properties": {
"component": {
"ignore_above": 1024,
"type": "keyword"
},
"trace": {
"properties": {
"message": {
"type": "text"
},
"class": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"thread": {
"ignore_above": 1024,
"type": "keyword"
},
"class": {
"ignore_above": 1024,
"type": "keyword"
}
}
}
}
},
"host": {
"properties": {
"hostname": {
"ignore_above": 1024,
"type": "keyword"
},
"os": {
"properties": {
"build": {
"ignore_above": 1024,
"type": "keyword"
},
"kernel": {
"ignore_above": 1024,
"type": "keyword"
},
"codename": {
"ignore_above": 1024,
"type": "keyword"
},
"name": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"text": {
"type": "text"
}
}
},
"family": {
"ignore_above": 1024,
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword"
},
"platform": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"domain": {
"ignore_above": 1024,
"type": "keyword"
},
"ip": {
"type": "ip"
},
"containerized": {
"type": "boolean"
},
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"type": {
"ignore_above": 1024,
"type": "keyword"
},
"mac": {
"ignore_above": 1024,
"type": "keyword"
},
"architecture": {
"ignore_above": 1024,
"type": "keyword"
}
}
}
}
}
""";
private static String SAMPLE_LOGS_MAPPING_ENABLED_WITH_STORE_ARRAYS = """
{
"_source": {
"mode": "synthetic"
},
"properties": {
"kafka": {
"properties": {
"log": {
"properties": {
"component": {
"ignore_above": 1024,
"type": "keyword"
},
"trace": {
"synthetic_source_keep": "arrays",
"properties": {
"message": {
"type": "text"
},
"class": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"thread": {
"ignore_above": 1024,
"type": "keyword"
},
"class": {
"ignore_above": 1024,
"type": "keyword"
}
}
}
}
},
"host": {
"properties": {
"hostname": {
"ignore_above": 1024,
"type": "keyword"
},
"os": {
"properties": {
"build": {
"ignore_above": 1024,
"type": "keyword"
},
"kernel": {
"ignore_above": 1024,
"type": "keyword"
},
"codename": {
"ignore_above": 1024,
"type": "keyword"
},
"name": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"text": {
"type": "text"
}
}
},
"family": {
"ignore_above": 1024,
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword"
},
"platform": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"domain": {
"ignore_above": 1024,
"type": "keyword"
},
"ip": {
"type": "ip"
},
"containerized": {
"type": "boolean"
},
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"type": {
"ignore_above": 1024,
"type": "keyword"
},
"mac": {
"ignore_above": 1024,
"type": "keyword"
},
"architecture": {
"ignore_above": 1024,
"type": "keyword"
}
}
}
}
}
""";
private static String SAMPLE_LOGS_MAPPING_DISABLED = """
{
"_source": {
"mode": "synthetic"
},
"enabled": false
}
""";
@Setup
public void setUp() throws IOException {
this.random = new Random();
this.mapperServiceEnabled = MapperServiceFactory.create(SAMPLE_LOGS_MAPPING_ENABLED);
this.mapperServiceEnabledWithStoreArrays = MapperServiceFactory.create(SAMPLE_LOGS_MAPPING_ENABLED_WITH_STORE_ARRAYS);
this.mapperServiceDisabled = MapperServiceFactory.create(SAMPLE_LOGS_MAPPING_DISABLED);
this.documents = generateRandomDocuments(10_000);
}
@Benchmark
public List<LuceneDocument> benchmarkEnabledObject() {
return mapperServiceEnabled.documentMapper().parse(randomFrom(documents)).docs();
}
@Benchmark
public List<LuceneDocument> benchmarkEnabledObjectWithStoreArrays() {
return mapperServiceEnabledWithStoreArrays.documentMapper().parse(randomFrom(documents)).docs();
}
@Benchmark
public List<LuceneDocument> benchmarkDisabledObject() {
return mapperServiceDisabled.documentMapper().parse(randomFrom(documents)).docs();
}
@SafeVarargs
@SuppressWarnings("varargs")
private <T> T randomFrom(T... items) {
return items[random.nextInt(items.length)];
}
private SourceToParse[] generateRandomDocuments(int count) throws IOException {
var docs = new SourceToParse[count];
for (int i = 0; i < count; i++) {
docs[i] = generateRandomDocument();
}
return docs;
}
private SourceToParse generateRandomDocument() throws IOException {
var builder = XContentBuilder.builder(XContentType.JSON.xContent());
builder.startObject();
builder.startObject("kafka");
{
builder.startObject("log");
{
builder.field("component", randomString(10));
builder.startArray("trace");
{
builder.startObject();
{
builder.field("message", randomString(50));
builder.field("class", randomString(10));
}
builder.endObject();
builder.startObject();
{
builder.field("message", randomString(50));
builder.field("class", randomString(10));
}
builder.endObject();
}
builder.endArray();
builder.field("thread", randomString(10));
builder.field("class", randomString(10));
}
builder.endObject();
}
builder.endObject();
builder.startObject("host");
{
builder.field("hostname", randomString(10));
builder.startObject("os");
{
builder.field("name", randomString(10));
}
builder.endObject();
builder.field("domain", randomString(10));
builder.field("ip", randomIp());
builder.field("name", randomString(10));
}
builder.endObject();
builder.endObject();
return new SourceToParse(UUIDs.randomBase64UUID(), BytesReference.bytes(builder), XContentType.JSON);
}
private String randomIp() {
return "" + random.nextInt(255) + '.' + random.nextInt(255) + '.' + random.nextInt(255) + '.' + random.nextInt(255);
}
private String randomString(int maxLength) {
var length = random.nextInt(maxLength);
var builder = new StringBuilder(length);
for (int i = 0; i < length; i++) {
builder.append((byte) (32 + random.nextInt(94)));
}
return builder.toString();
}
}

View file

@ -14,7 +14,6 @@ import org.elasticsearch.gradle.internal.conventions.info.GitInfoValueSource;
import org.elasticsearch.gradle.internal.conventions.util.Util; import org.elasticsearch.gradle.internal.conventions.util.Util;
import org.gradle.api.Plugin; import org.gradle.api.Plugin;
import org.gradle.api.Project; import org.gradle.api.Project;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.Property; import org.gradle.api.provider.Property;
import org.gradle.api.provider.Provider; import org.gradle.api.provider.Provider;
import org.gradle.api.provider.ProviderFactory; import org.gradle.api.provider.ProviderFactory;
@ -35,11 +34,19 @@ public abstract class GitInfoPlugin implements Plugin<Project> {
@Override @Override
public void apply(Project project) { public void apply(Project project) {
File rootDir = Util.locateElasticsearchWorkspace(project.getGradle()); File rootDir = getGitRootDir(project);
getGitInfo().convention(factory.of(GitInfoValueSource.class, spec -> { spec.getParameters().getPath().set(rootDir); })); getGitInfo().convention(factory.of(GitInfoValueSource.class, spec -> { spec.getParameters().getPath().set(rootDir); }));
revision = getGitInfo().map(info -> info.getRevision() == null ? info.getRevision() : "main"); revision = getGitInfo().map(info -> info.getRevision() == null ? info.getRevision() : "main");
} }
private static File getGitRootDir(Project project) {
File rootDir = project.getRootDir();
if (new File(rootDir, ".git").exists()) {
return rootDir;
}
return Util.locateElasticsearchWorkspace(project.getGradle());
}
public abstract Property<GitInfo> getGitInfo(); public abstract Property<GitInfo> getGitInfo();
public Provider<String> getRevision() { public Provider<String> getRevision() {

View file

@ -14,18 +14,19 @@ import org.gradle.api.GradleException;
import org.gradle.api.Project; import org.gradle.api.Project;
import org.gradle.api.file.FileTree; import org.gradle.api.file.FileTree;
import org.gradle.api.initialization.IncludedBuild; import org.gradle.api.initialization.IncludedBuild;
import org.gradle.api.internal.GradleInternal;
import org.gradle.api.invocation.Gradle; import org.gradle.api.invocation.Gradle;
import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.SourceSetContainer; import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.api.tasks.util.PatternFilterable; import org.gradle.api.tasks.util.PatternFilterable;
import javax.annotation.Nullable;
import java.io.File; import java.io.File;
import java.util.Collection;
import java.util.Optional; import java.util.Optional;
import java.util.function.Supplier; import java.util.function.Supplier;
import javax.annotation.Nullable;
public class Util { public class Util {
public static boolean getBooleanProperty(String property, boolean defaultValue) { public static boolean getBooleanProperty(String property, boolean defaultValue) {
@ -120,6 +121,14 @@ public class Util {
return project.getExtensions().getByType(JavaPluginExtension.class).getSourceSets(); return project.getExtensions().getByType(JavaPluginExtension.class).getSourceSets();
} }
public static File getRootFolder(Gradle gradle) {
Gradle parent = gradle.getParent();
if (parent == null) {
return gradle.getRootProject().getRootDir();
}
return getRootFolder(parent);
}
public static File locateElasticsearchWorkspace(Gradle gradle) { public static File locateElasticsearchWorkspace(Gradle gradle) {
if (gradle.getRootProject().getName().startsWith("build-tools")) { if (gradle.getRootProject().getName().startsWith("build-tools")) {
File buildToolsParent = gradle.getRootProject().getRootDir().getParentFile(); File buildToolsParent = gradle.getRootProject().getRootDir().getParentFile();

View file

@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionSha256Sum=89d4e70e4e84e2d2dfbb63e4daa53e21b25017cc70c37e4eea31ee51fb15098a distributionSha256Sum=7ebdac923867a3cec0098302416d1e3c6c0c729fc4e2e05c10637a8af33a76c5
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

View file

@ -285,7 +285,7 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
esplugin { esplugin {
name = 'hello-world-plugin' name = 'hello-world-plugin'
classname 'org.acme.HelloWorldPlugin' classname = 'org.acme.HelloWorldPlugin'
description = "shadowed es plugin" description = "shadowed es plugin"
} }
@ -375,7 +375,7 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
esplugin { esplugin {
name = 'hello-world-plugin' name = 'hello-world-plugin'
classname 'org.acme.HelloWorldPlugin' classname = 'org.acme.HelloWorldPlugin'
description = "custom project description" description = "custom project description"
} }

View file

@ -98,8 +98,8 @@ develocity {
link 'Source', "${prBaseUrl}/tree/${System.getenv('BUILDKITE_COMMIT')}" link 'Source', "${prBaseUrl}/tree/${System.getenv('BUILDKITE_COMMIT')}"
link 'Pull Request', "https://github.com/${repository}/pull/${prId}" link 'Pull Request', "https://github.com/${repository}/pull/${prId}"
} else { } else {
value 'Git Commit ID', gitRevision value 'Git Commit ID', gitRevision.get()
link 'Source', "https://github.com/${repository}/tree/${gitRevision}" link 'Source', "https://github.com/${repository}/tree/${gitRevision.get()}"
} }
buildFinished { result -> buildFinished { result ->

View file

@ -131,11 +131,13 @@ public class InternalDistributionBwcSetupPlugin implements Plugin<Project> {
// We don't use a normal `Copy` task here as snapshotting the entire gradle user home is very expensive. This task is cheap, so // We don't use a normal `Copy` task here as snapshotting the entire gradle user home is very expensive. This task is cheap, so
// up-to-date checking doesn't buy us much // up-to-date checking doesn't buy us much
project.getTasks().register("setupGradleUserHome", task -> { project.getTasks().register("setupGradleUserHome", task -> {
File gradleUserHome = project.getGradle().getGradleUserHomeDir();
String projectName = project.getName();
task.doLast(t -> { task.doLast(t -> {
fileSystemOperations.copy(copy -> { fileSystemOperations.copy(copy -> {
String gradleUserHome = project.getGradle().getGradleUserHomeDir().getAbsolutePath(); String absoluteGradleUserHomePath = gradleUserHome.getAbsolutePath();
copy.into(gradleUserHome + "-" + project.getName()); copy.into(absoluteGradleUserHomePath + "-" + projectName);
copy.from(gradleUserHome, copySpec -> { copy.from(absoluteGradleUserHomePath, copySpec -> {
copySpec.include("gradle.properties"); copySpec.include("gradle.properties");
copySpec.include("init.d/*"); copySpec.include("init.d/*");
}); });

View file

@ -14,14 +14,14 @@ import org.elasticsearch.gradle.ElasticsearchDistributionType;
import java.util.List; import java.util.List;
public class InternalElasticsearchDistributionTypes { public class InternalElasticsearchDistributionTypes {
public static ElasticsearchDistributionType DEB = new DebElasticsearchDistributionType(); public static final ElasticsearchDistributionType DEB = new DebElasticsearchDistributionType();
public static ElasticsearchDistributionType RPM = new RpmElasticsearchDistributionType(); public static final ElasticsearchDistributionType RPM = new RpmElasticsearchDistributionType();
public static ElasticsearchDistributionType DOCKER = new DockerElasticsearchDistributionType(); public static final ElasticsearchDistributionType DOCKER = new DockerElasticsearchDistributionType();
public static ElasticsearchDistributionType DOCKER_IRONBANK = new DockerIronBankElasticsearchDistributionType(); public static final ElasticsearchDistributionType DOCKER_IRONBANK = new DockerIronBankElasticsearchDistributionType();
public static ElasticsearchDistributionType DOCKER_CLOUD_ESS = new DockerCloudEssElasticsearchDistributionType(); public static final ElasticsearchDistributionType DOCKER_CLOUD_ESS = new DockerCloudEssElasticsearchDistributionType();
public static ElasticsearchDistributionType DOCKER_WOLFI = new DockerWolfiElasticsearchDistributionType(); public static final ElasticsearchDistributionType DOCKER_WOLFI = new DockerWolfiElasticsearchDistributionType();
public static List<ElasticsearchDistributionType> ALL_INTERNAL = List.of( public static final List<ElasticsearchDistributionType> ALL_INTERNAL = List.of(
DEB, DEB,
RPM, RPM,
DOCKER, DOCKER,

View file

@ -172,6 +172,11 @@ public class ErrorReportingTestListener implements TestOutputListener, TestListe
return Destination.StdErr; return Destination.StdErr;
} }
@Override
public long getLogTime() {
return result.getEndTime();
}
@Override @Override
public String getMessage() { public String getMessage() {
return message; return message;

View file

@ -30,7 +30,7 @@ public class TestRerunTaskExtension {
/** /**
* The name of the extension added to each test task. * The name of the extension added to each test task.
*/ */
public static String NAME = "rerun"; public static final String NAME = "rerun";
private final Property<Integer> maxReruns; private final Property<Integer> maxReruns;

View file

@ -19,6 +19,7 @@ commons_lang3 = 3.9
google_oauth_client = 1.34.1 google_oauth_client = 1.34.1
awsv1sdk = 1.12.270 awsv1sdk = 1.12.270
awsv2sdk = 2.28.13 awsv2sdk = 2.28.13
reactive_streams = 1.0.4
antlr4 = 4.13.1 antlr4 = 4.13.1
# bouncy castle version for non-fips. fips jars use a different version # bouncy castle version for non-fips. fips jars use a different version

View file

@ -135,7 +135,7 @@ class TestClustersPluginFuncTest extends AbstractGradleFuncTest {
esplugin { esplugin {
name = 'test-$pluginType' name = 'test-$pluginType'
classname 'org.acme.TestModule' classname = 'org.acme.TestModule'
description = "test $pluginType description" description = "test $pluginType description"
} }

View file

@ -12,6 +12,6 @@ package org.elasticsearch.gradle.distribution;
import org.elasticsearch.gradle.ElasticsearchDistributionType; import org.elasticsearch.gradle.ElasticsearchDistributionType;
public class ElasticsearchDistributionTypes { public class ElasticsearchDistributionTypes {
public static ElasticsearchDistributionType ARCHIVE = new ArchiveElasticsearchDistributionType(); public static final ElasticsearchDistributionType ARCHIVE = new ArchiveElasticsearchDistributionType();
public static ElasticsearchDistributionType INTEG_TEST_ZIP = new IntegTestZipElasticsearchDistributionType(); public static final ElasticsearchDistributionType INTEG_TEST_ZIP = new IntegTestZipElasticsearchDistributionType();
} }

View file

@ -221,25 +221,11 @@ tasks.register("verifyVersions") {
} }
} }
/* // TODO: This flag existed as a mechanism to disable bwc tests during a backport. It is no
* When adding backcompat behavior that spans major versions, temporarily // longer used for that purpose, but instead a way to run only functional tests. We should
* disabling the backcompat tests is necessary. This flag controls // rework the functionalTests task to be more explicit about which tasks it wants to run
* the enabled state of every bwc task. It should be set back to true // so that that this flag is no longer needed.
* after the backport of the backcompat code is complete.
*/
boolean bwc_tests_enabled = true boolean bwc_tests_enabled = true
// place a PR link here when committing bwc changes:
String bwc_tests_disabled_issue = ""
if (bwc_tests_enabled == false) {
if (bwc_tests_disabled_issue.isEmpty()) {
throw new GradleException("bwc_tests_disabled_issue must be set when bwc_tests_enabled == false")
}
println "========================= WARNING ========================="
println " Backwards compatibility tests are disabled!"
println "See ${bwc_tests_disabled_issue}"
println "==========================================================="
}
if (project.gradle.startParameter.taskNames.any { it.startsWith("checkPart") || it == 'functionalTests' }) { if (project.gradle.startParameter.taskNames.any { it.startsWith("checkPart") || it == 'functionalTests' }) {
// Disable BWC tests for checkPart* tasks and platform support tests as it's expected that this will run on it's own check // Disable BWC tests for checkPart* tasks and platform support tests as it's expected that this will run on it's own check
bwc_tests_enabled = false bwc_tests_enabled = false
@ -378,24 +364,24 @@ tasks.register("verifyBwcTestsEnabled") {
} }
tasks.register("branchConsistency") { tasks.register("branchConsistency") {
description 'Ensures this branch is internally consistent. For example, that versions constants match released versions.' description = 'Ensures this branch is internally consistent. For example, that versions constants match released versions.'
group 'Verification' group 'Verification'
dependsOn ":verifyVersions", ":verifyBwcTestsEnabled" dependsOn ":verifyVersions", ":verifyBwcTestsEnabled"
} }
tasks.named("wrapper").configure { tasks.named("wrapper").configure {
distributionType = 'ALL' distributionType = 'ALL'
def minimumGradleVersionFile = project.file('build-tools-internal/src/main/resources/minimumGradleVersion')
doLast { doLast {
// copy wrapper properties file to build-tools-internal to allow seamless idea integration // copy wrapper properties file to build-tools-internal to allow seamless idea integration
def file = new File("build-tools-internal/gradle/wrapper/gradle-wrapper.properties") def file = new File("build-tools-internal/gradle/wrapper/gradle-wrapper.properties")
Files.copy(wrapper.getPropertiesFile().toPath(), file.toPath(), REPLACE_EXISTING) Files.copy(getPropertiesFile().toPath(), file.toPath(), REPLACE_EXISTING)
// copy wrapper properties file to plugins/examples to allow seamless idea integration // copy wrapper properties file to plugins/examples to allow seamless idea integration
def examplePluginsWrapperProperties = new File("plugins/examples/gradle/wrapper/gradle-wrapper.properties") def examplePluginsWrapperProperties = new File("plugins/examples/gradle/wrapper/gradle-wrapper.properties")
Files.copy(wrapper.getPropertiesFile().toPath(), examplePluginsWrapperProperties.toPath(), REPLACE_EXISTING) Files.copy(getPropertiesFile().toPath(), examplePluginsWrapperProperties.toPath(), REPLACE_EXISTING)
// Update build-tools to reflect the Gradle upgrade // Update build-tools to reflect the Gradle upgrade
// TODO: we can remove this once we have tests to make sure older versions work. // TODO: we can remove this once we have tests to make sure older versions work.
project.file('build-tools-internal/src/main/resources/minimumGradleVersion').text = gradleVersion minimumGradleVersionFile.text = gradleVersion
println "Updated minimum Gradle Version" println "Updated minimum Gradle Version"
} }
} }

View file

@ -12,9 +12,9 @@ group = 'org.elasticsearch.plugin'
apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-es-plugin'
esplugin { esplugin {
name 'client-benchmark-noop-api' name = 'client-benchmark-noop-api'
description 'Stubbed out Elasticsearch actions that can be used for client-side benchmarking' description = 'Stubbed out Elasticsearch actions that can be used for client-side benchmarking'
classname 'org.elasticsearch.plugin.noop.NoopPlugin' classname ='org.elasticsearch.plugin.noop.NoopPlugin'
} }
// Not published so no need to assemble // Not published so no need to assemble

View file

@ -647,8 +647,8 @@ subprojects {
// in the final log4j2.properties configuration, as it appears in the // in the final log4j2.properties configuration, as it appears in the
// archive distribution. // archive distribution.
artifacts.add('log4jConfig', file("${defaultOutputs}/log4j2.properties")) { artifacts.add('log4jConfig', file("${defaultOutputs}/log4j2.properties")) {
type 'file' type = 'file'
name 'log4j2.properties' name = 'log4j2.properties'
builtBy 'buildDefaultLog4jConfig' builtBy 'buildDefaultLog4jConfig'
} }

View file

@ -28,7 +28,7 @@ repositories {
// other Docker variants, the need for the main image to be rebuildable by Docker Hub // other Docker variants, the need for the main image to be rebuildable by Docker Hub
// means that the Dockerfile itself has to fetch the binary. // means that the Dockerfile itself has to fetch the binary.
ivy { ivy {
url 'https://github.com/' url = 'https://github.com/'
patternLayout { patternLayout {
artifact '/[organisation]/[module]/releases/download/v[revision]/[module]-[classifier]' artifact '/[organisation]/[module]/releases/download/v[revision]/[module]-[classifier]'
} }
@ -50,7 +50,7 @@ if (useDra == false) {
artifact '/[organisation]/[module]-[revision]-[classifier].[ext]' artifact '/[organisation]/[module]-[revision]-[classifier].[ext]'
} }
} else { } else {
url "https://artifacts-snapshot.elastic.co/" url = "https://artifacts-snapshot.elastic.co/"
patternLayout { patternLayout {
if (VersionProperties.isElasticsearchSnapshot()) { if (VersionProperties.isElasticsearchSnapshot()) {
artifact '/[organization]/[revision]/downloads/[organization]/[module]/[module]-[revision]-[classifier].[ext]' artifact '/[organization]/[revision]/downloads/[organization]/[module]/[module]-[revision]-[classifier].[ext]'
@ -583,8 +583,8 @@ subprojects { Project subProject ->
} }
artifacts.add('default', file(tarFile)) { artifacts.add('default', file(tarFile)) {
type 'tar' type = 'tar'
name artifactName name = artifactName
builtBy exportTaskName builtBy exportTaskName
} }
} }

View file

@ -43,7 +43,7 @@ import java.util.regex.Pattern
*/ */
plugins { plugins {
id "com.netflix.nebula.ospackage-base" version "11.10.0" id "com.netflix.nebula.ospackage-base" version "11.10.1"
} }
['deb', 'rpm'].each { type -> ['deb', 'rpm'].each { type ->
@ -87,21 +87,21 @@ def commonPackageConfig(String type, String architecture) {
OS.current().equals(OS.WINDOWS) == false OS.current().equals(OS.WINDOWS) == false
} }
dependsOn "process${type.capitalize()}Files" dependsOn "process${type.capitalize()}Files"
packageName "elasticsearch" packageName = "elasticsearch"
if (type == 'deb') { if (type == 'deb') {
if (architecture == 'x64') { if (architecture == 'x64') {
arch('amd64') arch = 'amd64'
} else { } else {
assert architecture == 'aarch64': architecture assert architecture == 'aarch64': architecture
arch('arm64') arch = 'arm64'
} }
} else { } else {
assert type == 'rpm': type assert type == 'rpm': type
if (architecture == 'x64') { if (architecture == 'x64') {
arch('X86_64') arch = 'X86_64'
} else { } else {
assert architecture == 'aarch64': architecture assert architecture == 'aarch64': architecture
arch('aarch64') arch = 'aarch64'
} }
} }
// Follow elasticsearch's file naming convention // Follow elasticsearch's file naming convention
@ -200,7 +200,7 @@ def commonPackageConfig(String type, String architecture) {
into('/etc') into('/etc')
permissionGroup 'elasticsearch' permissionGroup 'elasticsearch'
setgid true setgid true
includeEmptyDirs true includeEmptyDirs = true
createDirectoryEntry true createDirectoryEntry true
include("elasticsearch") // empty dir, just to add directory entry include("elasticsearch") // empty dir, just to add directory entry
include("elasticsearch/jvm.options.d") // empty dir, just to add directory entry include("elasticsearch/jvm.options.d") // empty dir, just to add directory entry
@ -215,7 +215,7 @@ def commonPackageConfig(String type, String architecture) {
unix(0660) unix(0660)
} }
permissionGroup 'elasticsearch' permissionGroup 'elasticsearch'
includeEmptyDirs true includeEmptyDirs = true
createDirectoryEntry true createDirectoryEntry true
fileType CONFIG | NOREPLACE fileType CONFIG | NOREPLACE
} }
@ -265,7 +265,7 @@ def commonPackageConfig(String type, String architecture) {
into(file.parent) { into(file.parent) {
from "${packagingFiles}/${file.parent}" from "${packagingFiles}/${file.parent}"
include file.name include file.name
includeEmptyDirs true includeEmptyDirs = true
createDirectoryEntry true createDirectoryEntry true
user u user u
permissionGroup g permissionGroup g
@ -289,15 +289,15 @@ def commonPackageConfig(String type, String architecture) {
// this is package independent configuration // this is package independent configuration
ospackage { ospackage {
maintainer 'Elasticsearch Team <info@elastic.co>' maintainer = 'Elasticsearch Team <info@elastic.co>'
summary 'Distributed RESTful search engine built for the cloud' summary = 'Distributed RESTful search engine built for the cloud'
packageDescription ''' packageDescription = '''
Reference documentation can be found at Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
'''.stripIndent().trim() '''.stripIndent().trim()
url 'https://www.elastic.co/' url = 'https://www.elastic.co/'
// signing setup // signing setup
if (project.hasProperty('signing.password') && buildParams.isSnapshotBuild() == false) { if (project.hasProperty('signing.password') && buildParams.isSnapshotBuild() == false) {
@ -311,10 +311,10 @@ ospackage {
// version found on oldest supported distro, centos-6 // version found on oldest supported distro, centos-6
requires('coreutils', '8.4', GREATER | EQUAL) requires('coreutils', '8.4', GREATER | EQUAL)
fileMode 0644 fileMode = 0644
dirMode 0755 dirMode = 0755
user 'root' user = 'root'
permissionGroup 'root' permissionGroup = 'root'
into '/usr/share/elasticsearch' into '/usr/share/elasticsearch'
} }
@ -330,7 +330,7 @@ Closure commonDebConfig(String architecture) {
customFields['License'] = 'Elastic-License' customFields['License'] = 'Elastic-License'
archiveVersion = project.version.replace('-', '~') archiveVersion = project.version.replace('-', '~')
packageGroup 'web' packageGroup = 'web'
// versions found on oldest supported distro, centos-6 // versions found on oldest supported distro, centos-6
requires('bash', '4.1', GREATER | EQUAL) requires('bash', '4.1', GREATER | EQUAL)
@ -358,24 +358,24 @@ Closure commonRpmConfig(String architecture) {
return { return {
configure(commonPackageConfig('rpm', architecture)) configure(commonPackageConfig('rpm', architecture))
license 'Elastic License' license = 'Elastic License'
packageGroup 'Application/Internet' packageGroup = 'Application/Internet'
requires '/bin/bash' requires '/bin/bash'
obsoletes packageName, '7.0.0', Flags.LESS obsoletes packageName, '7.0.0', Flags.LESS
prefix '/usr' prefix '/usr'
packager 'Elasticsearch' packager = 'Elasticsearch'
archiveVersion = project.version.replace('-', '_') archiveVersion = project.version.replace('-', '_')
release = '1' release = '1'
os 'LINUX' os = 'LINUX'
distribution 'Elasticsearch' distribution = 'Elasticsearch'
vendor 'Elasticsearch' vendor = 'Elasticsearch'
// TODO ospackage doesn't support icon but we used to have one // TODO ospackage doesn't support icon but we used to have one
// without this the rpm will have parent dirs of any files we copy in, eg /etc/elasticsearch // without this the rpm will have parent dirs of any files we copy in, eg /etc/elasticsearch
addParentDirs false addParentDirs = false
} }
} }

View file

@ -0,0 +1,5 @@
pr: 117858
summary: Create upgrade mode
area: Transform
type: enhancement
issues: []

View file

@ -0,0 +1,5 @@
pr: 118958
summary: Add missing timeouts to rest-api-spec SLM APIs
area: ILM+SLM
type: bug
issues: []

View file

@ -0,0 +1,6 @@
pr: 119265
summary: Fix `AbstractShapeGeometryFieldMapperTests`
area: "ES|QL"
type: bug
issues:
- 119201

View file

@ -0,0 +1,5 @@
pr: 119291
summary: Register mustache size limit setting
area: Infra/Scripting
type: bug
issues: []

View file

@ -0,0 +1,6 @@
pr: 119296
summary: Fix writing for LOOKUP status
area: ES|QL
type: bug
issues:
- 119086

View file

@ -0,0 +1,6 @@
pr: 119310
summary: Remove ChunkedToXContentBuilder
area: "Network"
type: bug
issues:
- 118647

View file

@ -28,7 +28,7 @@ You can pass an `X-Opaque-Id` HTTP header to track the origin of a request in
* Response of any request that includes the header * Response of any request that includes the header
* <<_identifying_running_tasks,Task management API>> response * <<_identifying_running_tasks,Task management API>> response
* <<_identifying_search_slow_log_origin,Slow logs>> * <<search-slow-log,Slow logs>>
* <<deprecation-logging,Deprecation logs>> * <<deprecation-logging,Deprecation logs>>
For the deprecation logs, {es} also uses the `X-Opaque-Id` value to throttle For the deprecation logs, {es} also uses the `X-Opaque-Id` value to throttle
@ -52,7 +52,7 @@ safely generate a unique `traceparent` header for each request.
If provided, {es} surfaces the header's `trace-id` value as `trace.id` in the: If provided, {es} surfaces the header's `trace-id` value as `trace.id` in the:
* <<logging,JSON {es} server logs>> * <<logging,JSON {es} server logs>>
* <<_identifying_search_slow_log_origin,Slow logs>> * <<search-slow-log,Slow logs>>
* <<deprecation-logging,Deprecation logs>> * <<deprecation-logging,Deprecation logs>>
For example, the following `traceparent` value would produce the following For example, the following `traceparent` value would produce the following

View file

@ -4,6 +4,13 @@
NOTE: {cloud-only} NOTE: {cloud-only}
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-autoscaling[Autoscaling APIs].
--
You can use the following APIs to perform {cloud}/ec-autoscaling.html[autoscaling operations]. You can use the following APIs to perform {cloud}/ec-autoscaling.html[autoscaling operations].
[discrete] [discrete]

View file

@ -7,6 +7,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-autoscaling[Autoscaling APIs].
--
Delete {cloud}/ec-autoscaling.html[autoscaling] policy. Delete {cloud}/ec-autoscaling.html[autoscaling] policy.
[[autoscaling-delete-autoscaling-policy-request]] [[autoscaling-delete-autoscaling-policy-request]]

View file

@ -7,6 +7,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-autoscaling[Autoscaling APIs].
--
Get {cloud}/ec-autoscaling.html[autoscaling] capacity. Get {cloud}/ec-autoscaling.html[autoscaling] capacity.
[[autoscaling-get-autoscaling-capacity-request]] [[autoscaling-get-autoscaling-capacity-request]]

View file

@ -7,6 +7,13 @@
NOTE: {cloud-only} NOTE: {cloud-only}
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-autoscaling[Autoscaling APIs].
--
Get {cloud}/ec-autoscaling.html[autoscaling] policy. Get {cloud}/ec-autoscaling.html[autoscaling] policy.
[[autoscaling-get-autoscaling-policy-request]] [[autoscaling-get-autoscaling-policy-request]]

View file

@ -7,6 +7,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-autoscaling[Autoscaling APIs].
--
Creates or updates an {cloud}/ec-autoscaling.html[autoscaling] policy. Creates or updates an {cloud}/ec-autoscaling.html[autoscaling] policy.
[[autoscaling-put-autoscaling-policy-request]] [[autoscaling-put-autoscaling-policy-request]]

View file

@ -8,6 +8,12 @@ beta::[]
<titleabbrev>Delete Analytics Collection</titleabbrev> <titleabbrev>Delete Analytics Collection</titleabbrev>
++++ ++++
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-analytics[Behavioral analytics APIs].
--
//// ////
[source,console] [source,console]
---- ----

View file

@ -9,6 +9,12 @@ beta::[]
--- ---
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-analytics[Behavioral analytics APIs].
--
Use the following APIs to manage tasks and resources related to <<behavioral-analytics-overview,Behavioral Analytics>>: Use the following APIs to manage tasks and resources related to <<behavioral-analytics-overview,Behavioral Analytics>>:
* <<put-analytics-collection>> * <<put-analytics-collection>>

View file

@ -8,6 +8,12 @@ beta::[]
<titleabbrev>List Analytics Collections</titleabbrev> <titleabbrev>List Analytics Collections</titleabbrev>
++++ ++++
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-analytics[Behavioral analytics APIs].
--
//// ////
[source,console] [source,console]
---- ----

View file

@ -8,6 +8,12 @@ beta::[]
<titleabbrev>Post Analytics Collection Event</titleabbrev> <titleabbrev>Post Analytics Collection Event</titleabbrev>
++++ ++++
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-analytics[Behavioral analytics APIs].
--
//// ////
[source,console] [source,console]
---- ----

View file

@ -8,6 +8,12 @@ beta::[]
<titleabbrev>Put Analytics Collection</titleabbrev> <titleabbrev>Put Analytics Collection</titleabbrev>
++++ ++++
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-analytics[Behavioral analytics APIs].
--
//// ////
[source,console] [source,console]
---- ----

View file

@ -1,6 +1,12 @@
[[cat]] [[cat]]
== Compact and aligned text (CAT) APIs == Compact and aligned text (CAT) APIs
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs].
--
["float",id="intro"] ["float",id="intro"]
=== Introduction === Introduction

View file

@ -4,6 +4,12 @@
<titleabbrev>cat aliases</titleabbrev> <titleabbrev>cat aliases</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [IMPORTANT]
==== ====
cat APIs are only intended for human consumption using the command line or the cat APIs are only intended for human consumption using the command line or the

View file

@ -4,6 +4,12 @@
<titleabbrev>cat allocation</titleabbrev> <titleabbrev>cat allocation</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -5,6 +5,12 @@
<titleabbrev>cat anomaly detectors</titleabbrev> <titleabbrev>cat anomaly detectors</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat component templates</titleabbrev> <titleabbrev>cat component templates</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat count</titleabbrev> <titleabbrev>cat count</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -5,6 +5,12 @@
<titleabbrev>cat {dfeeds}</titleabbrev> <titleabbrev>cat {dfeeds}</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -5,6 +5,12 @@
<titleabbrev>cat {dfanalytics}</titleabbrev> <titleabbrev>cat {dfanalytics}</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat fielddata</titleabbrev> <titleabbrev>cat fielddata</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat health</titleabbrev> <titleabbrev>cat health</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat indices</titleabbrev> <titleabbrev>cat indices</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat master</titleabbrev> <titleabbrev>cat master</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat nodeattrs</titleabbrev> <titleabbrev>cat nodeattrs</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -5,6 +5,12 @@
<titleabbrev>cat nodes</titleabbrev> <titleabbrev>cat nodes</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat pending tasks</titleabbrev> <titleabbrev>cat pending tasks</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,11 @@
<titleabbrev>cat plugins</titleabbrev> <titleabbrev>cat plugins</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [IMPORTANT]
==== ====

View file

@ -4,6 +4,12 @@
<titleabbrev>cat recovery</titleabbrev> <titleabbrev>cat recovery</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat repositories</titleabbrev> <titleabbrev>cat repositories</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat segments</titleabbrev> <titleabbrev>cat segments</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -5,6 +5,12 @@
<titleabbrev>cat shards</titleabbrev> <titleabbrev>cat shards</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat snapshots</titleabbrev> <titleabbrev>cat snapshots</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -6,6 +6,12 @@
beta::["The cat task management API is new and should still be considered a beta feature. The API may change in ways that are not backwards compatible.",{es-issue}51628] beta::["The cat task management API is new and should still be considered a beta feature. The API may change in ways that are not backwards compatible.",{es-issue}51628]
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat templates</titleabbrev> <titleabbrev>cat templates</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -4,6 +4,12 @@
<titleabbrev>cat thread pool</titleabbrev> <titleabbrev>cat thread pool</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -5,6 +5,12 @@
<titleabbrev>cat trained model</titleabbrev> <titleabbrev>cat trained model</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -5,6 +5,12 @@
<titleabbrev>cat transforms</titleabbrev> <titleabbrev>cat transforms</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cat[Compact and aligned text (CAT) APIs]..
--
[IMPORTANT] [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}

View file

@ -5,6 +5,12 @@
<titleabbrev>Delete auto-follow pattern</titleabbrev> <titleabbrev>Delete auto-follow pattern</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Delete {ccr} <<ccr-auto-follow,auto-follow patterns>>. Delete {ccr} <<ccr-auto-follow,auto-follow patterns>>.
[[ccr-delete-auto-follow-pattern-request]] [[ccr-delete-auto-follow-pattern-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Get auto-follow pattern</titleabbrev> <titleabbrev>Get auto-follow pattern</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Get {ccr} <<ccr-auto-follow,auto-follow patterns>>. Get {ccr} <<ccr-auto-follow,auto-follow patterns>>.
[[ccr-get-auto-follow-pattern-request]] [[ccr-get-auto-follow-pattern-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Pause auto-follow pattern</titleabbrev> <titleabbrev>Pause auto-follow pattern</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Pauses a {ccr} <<ccr-auto-follow,auto-follow pattern>>. Pauses a {ccr} <<ccr-auto-follow,auto-follow pattern>>.
[[ccr-pause-auto-follow-pattern-request]] [[ccr-pause-auto-follow-pattern-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Create auto-follow pattern</titleabbrev> <titleabbrev>Create auto-follow pattern</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Creates a {ccr} <<ccr-auto-follow,auto-follow pattern>>. Creates a {ccr} <<ccr-auto-follow,auto-follow pattern>>.
[[ccr-put-auto-follow-pattern-request]] [[ccr-put-auto-follow-pattern-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Resume auto-follow pattern</titleabbrev> <titleabbrev>Resume auto-follow pattern</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Resumes a {ccr} <<ccr-auto-follow,auto-follow pattern>>. Resumes a {ccr} <<ccr-auto-follow,auto-follow pattern>>.
[[ccr-resume-auto-follow-pattern-request]] [[ccr-resume-auto-follow-pattern-request]]

View file

@ -2,6 +2,12 @@
[[ccr-apis]] [[ccr-apis]]
== {ccr-cap} APIs == {ccr-cap} APIs
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
You can use the following APIs to perform <<xpack-ccr,{ccr}>> operations. You can use the following APIs to perform <<xpack-ccr,{ccr}>> operations.
[discrete] [discrete]

View file

@ -5,6 +5,12 @@
<titleabbrev>Get follower info</titleabbrev> <titleabbrev>Get follower info</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Retrieves information about all <<xpack-ccr,{ccr}>> follower indices. Retrieves information about all <<xpack-ccr,{ccr}>> follower indices.
[[ccr-get-follow-info-request]] [[ccr-get-follow-info-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Get follower stats</titleabbrev> <titleabbrev>Get follower stats</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Get <<xpack-ccr,{ccr}>> follower stats. Get <<xpack-ccr,{ccr}>> follower stats.
[[ccr-get-follow-stats-request]] [[ccr-get-follow-stats-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Forget follower</titleabbrev> <titleabbrev>Forget follower</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Removes the <<xpack-ccr,{ccr}>> follower retention leases from the leader. Removes the <<xpack-ccr,{ccr}>> follower retention leases from the leader.
[[ccr-post-forget-follower-request]] [[ccr-post-forget-follower-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Pause follower</titleabbrev> <titleabbrev>Pause follower</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Pauses a <<xpack-ccr,{ccr}>> follower index. Pauses a <<xpack-ccr,{ccr}>> follower index.
[[ccr-post-pause-follow-request]] [[ccr-post-pause-follow-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Resume follower</titleabbrev> <titleabbrev>Resume follower</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Resumes a <<xpack-ccr,{ccr}>> follower index. Resumes a <<xpack-ccr,{ccr}>> follower index.
[[ccr-post-resume-follow-request]] [[ccr-post-resume-follow-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Unfollow</titleabbrev> <titleabbrev>Unfollow</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Converts a <<xpack-ccr,{ccr}>> follower index to a regular index. Converts a <<xpack-ccr,{ccr}>> follower index to a regular index.
[[ccr-post-unfollow-request]] [[ccr-post-unfollow-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Create follower</titleabbrev> <titleabbrev>Create follower</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Creates a <<xpack-ccr,{ccr}>> follower index. Creates a <<xpack-ccr,{ccr}>> follower index.
[[ccr-put-follow-request]] [[ccr-put-follow-request]]

View file

@ -6,6 +6,12 @@
<titleabbrev>Get {ccr-init} stats</titleabbrev> <titleabbrev>Get {ccr-init} stats</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-ccr[Cross-cluster replication APIs].
--
Get <<xpack-ccr,{ccr}>> stats. Get <<xpack-ccr,{ccr}>> stats.
[[ccr-get-stats-request]] [[ccr-get-stats-request]]

View file

@ -1,6 +1,12 @@
[[cluster]] [[cluster]]
== Cluster APIs == Cluster APIs
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
["float",id="cluster-nodes"] ["float",id="cluster-nodes"]
=== Node specification === Node specification

View file

@ -4,6 +4,12 @@
<titleabbrev>Cluster allocation explain</titleabbrev> <titleabbrev>Cluster allocation explain</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Provides an explanation for a shard's current <<index-modules-allocation,allocation>>. Provides an explanation for a shard's current <<index-modules-allocation,allocation>>.
[source,console] [source,console]

View file

@ -7,6 +7,12 @@ experimental::[]
<titleabbrev>Cluster Info</titleabbrev> <titleabbrev>Cluster Info</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns cluster information. Returns cluster information.
[[cluster-info-api-request]] [[cluster-info-api-request]]

View file

@ -6,6 +6,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Discards the current <<shards-rebalancing-heuristics,desired balance>> and computes a new desired balance starting from the current allocation of shards. Discards the current <<shards-rebalancing-heuristics,desired balance>> and computes a new desired balance starting from the current allocation of shards.
This can sometimes help {es} find a desired balance which needs fewer shard movements to achieve, especially if the This can sometimes help {es} find a desired balance which needs fewer shard movements to achieve, especially if the
cluster has experienced changes so substantial that the current desired balance is no longer optimal without {es} having cluster has experienced changes so substantial that the current desired balance is no longer optimal without {es} having

View file

@ -6,6 +6,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Delete desired nodes. Delete desired nodes.
[[delete-desired-nodes-request]] [[delete-desired-nodes-request]]

View file

@ -6,6 +6,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Exposes: Exposes:
* the <<shards-rebalancing-heuristics,desired balance>> computation and reconciliation stats * the <<shards-rebalancing-heuristics,desired balance>> computation and reconciliation stats

View file

@ -6,6 +6,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Get desired nodes. Get desired nodes.
[[get-desired-nodes-request]] [[get-desired-nodes-request]]

View file

@ -4,6 +4,12 @@
<titleabbrev>Cluster get settings</titleabbrev> <titleabbrev>Cluster get settings</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns cluster-wide settings. Returns cluster-wide settings.
[source,console] [source,console]

View file

@ -4,6 +4,12 @@
<titleabbrev>Cluster health</titleabbrev> <titleabbrev>Cluster health</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns the health status of a cluster. Returns the health status of a cluster.
[[cluster-health-api-request]] [[cluster-health-api-request]]

View file

@ -4,6 +4,12 @@
<titleabbrev>Nodes hot threads</titleabbrev> <titleabbrev>Nodes hot threads</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns the hot threads on each selected node in the cluster. Returns the hot threads on each selected node in the cluster.
[[cluster-nodes-hot-threads-api-request]] [[cluster-nodes-hot-threads-api-request]]

View file

@ -4,8 +4,13 @@
<titleabbrev>Nodes info</titleabbrev> <titleabbrev>Nodes info</titleabbrev>
++++ ++++
Returns cluster nodes information. ..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns cluster nodes information.
[[cluster-nodes-info-api-request]] [[cluster-nodes-info-api-request]]
==== {api-request-title} ==== {api-request-title}

View file

@ -4,6 +4,12 @@
<titleabbrev>Nodes reload secure settings</titleabbrev> <titleabbrev>Nodes reload secure settings</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Reloads the keystore on nodes in the cluster. Reloads the keystore on nodes in the cluster.
[[cluster-nodes-reload-secure-settings-api-request]] [[cluster-nodes-reload-secure-settings-api-request]]

View file

@ -5,6 +5,12 @@
<titleabbrev>Nodes stats</titleabbrev> <titleabbrev>Nodes stats</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns cluster nodes statistics. Returns cluster nodes statistics.
[[cluster-nodes-stats-api-request]] [[cluster-nodes-stats-api-request]]

View file

@ -4,8 +4,13 @@
<titleabbrev>Nodes feature usage</titleabbrev> <titleabbrev>Nodes feature usage</titleabbrev>
++++ ++++
Returns information on the usage of features. ..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns information on the usage of features.
[[cluster-nodes-usage-api-request]] [[cluster-nodes-usage-api-request]]
==== {api-request-title} ==== {api-request-title}

View file

@ -4,6 +4,12 @@
<titleabbrev>Pending cluster tasks</titleabbrev> <titleabbrev>Pending cluster tasks</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns cluster-level changes that have not yet been executed. Returns cluster-level changes that have not yet been executed.

View file

@ -6,6 +6,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Prevalidate node removal. Prevalidate node removal.
[[prevalidate-node-removal-api-request]] [[prevalidate-node-removal-api-request]]

View file

@ -4,8 +4,13 @@
<titleabbrev>Remote cluster info</titleabbrev> <titleabbrev>Remote cluster info</titleabbrev>
++++ ++++
Returns configured remote cluster information. ..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns configured remote cluster information.
[[cluster-remote-info-api-request]] [[cluster-remote-info-api-request]]
==== {api-request-title} ==== {api-request-title}

View file

@ -4,8 +4,13 @@
<titleabbrev>Cluster reroute</titleabbrev> <titleabbrev>Cluster reroute</titleabbrev>
++++ ++++
Changes the allocation of shards in a cluster. ..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Changes the allocation of shards in a cluster.
[[cluster-reroute-api-request]] [[cluster-reroute-api-request]]
==== {api-request-title} ==== {api-request-title}

View file

@ -4,6 +4,12 @@
<titleabbrev>Cluster state</titleabbrev> <titleabbrev>Cluster state</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns an internal representation of the cluster state for debugging or Returns an internal representation of the cluster state for debugging or
diagnostic purposes. diagnostic purposes.

View file

@ -5,6 +5,12 @@
<titleabbrev>Cluster stats</titleabbrev> <titleabbrev>Cluster stats</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Returns cluster statistics. Returns cluster statistics.
[[cluster-stats-api-request]] [[cluster-stats-api-request]]

View file

@ -6,6 +6,12 @@
beta::["The task management API is new and should still be considered a beta feature. The API may change in ways that are not backwards compatible.",{es-issue}51628] beta::["The task management API is new and should still be considered a beta feature. The API may change in ways that are not backwards compatible.",{es-issue}51628]
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-tasks[task management APIs].
--
Returns information about the tasks currently executing in the cluster. Returns information about the tasks currently executing in the cluster.
[[tasks-api-request]] [[tasks-api-request]]

View file

@ -6,6 +6,12 @@
NOTE: {cloud-only} NOTE: {cloud-only}
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Creates or updates the desired nodes. Creates or updates the desired nodes.
[[update-desired-nodes-request]] [[update-desired-nodes-request]]

View file

@ -4,8 +4,13 @@
<titleabbrev>Cluster update settings</titleabbrev> <titleabbrev>Cluster update settings</titleabbrev>
++++ ++++
Configures <<dynamic-cluster-setting,dynamic cluster settings>>. ..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Configures <<dynamic-cluster-setting,dynamic cluster settings>>.
[[cluster-update-settings-api-request]] [[cluster-update-settings-api-request]]
==== {api-request-title} ==== {api-request-title}

View file

@ -4,6 +4,12 @@
<titleabbrev>Voting configuration exclusions</titleabbrev> <titleabbrev>Voting configuration exclusions</titleabbrev>
++++ ++++
..New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-cluster[Cluster APIs].
--
Adds or removes master-eligible nodes from the Adds or removes master-eligible nodes from the
<<modules-discovery-voting,voting configuration exclusion list>>. <<modules-discovery-voting,voting configuration exclusion list>>.

Some files were not shown because too many files have changed in this diff Show more