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.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.Property;
import org.gradle.api.provider.Provider;
import org.gradle.api.provider.ProviderFactory;
@ -35,11 +34,19 @@ public abstract class GitInfoPlugin implements Plugin<Project> {
@Override
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); }));
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 Provider<String> getRevision() {

View file

@ -14,18 +14,19 @@ import org.gradle.api.GradleException;
import org.gradle.api.Project;
import org.gradle.api.file.FileTree;
import org.gradle.api.initialization.IncludedBuild;
import org.gradle.api.internal.GradleInternal;
import org.gradle.api.invocation.Gradle;
import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.api.tasks.util.PatternFilterable;
import javax.annotation.Nullable;
import java.io.File;
import java.util.Collection;
import java.util.Optional;
import java.util.function.Supplier;
import javax.annotation.Nullable;
public class Util {
public static boolean getBooleanProperty(String property, boolean defaultValue) {
@ -120,6 +121,14 @@ public class Util {
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) {
if (gradle.getRootProject().getName().startsWith("build-tools")) {
File buildToolsParent = gradle.getRootProject().getRootDir().getParentFile();

View file

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

View file

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

View file

@ -98,8 +98,8 @@ develocity {
link 'Source', "${prBaseUrl}/tree/${System.getenv('BUILDKITE_COMMIT')}"
link 'Pull Request', "https://github.com/${repository}/pull/${prId}"
} else {
value 'Git Commit ID', gitRevision
link 'Source', "https://github.com/${repository}/tree/${gitRevision}"
value 'Git Commit ID', gitRevision.get()
link 'Source', "https://github.com/${repository}/tree/${gitRevision.get()}"
}
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
// up-to-date checking doesn't buy us much
project.getTasks().register("setupGradleUserHome", task -> {
File gradleUserHome = project.getGradle().getGradleUserHomeDir();
String projectName = project.getName();
task.doLast(t -> {
fileSystemOperations.copy(copy -> {
String gradleUserHome = project.getGradle().getGradleUserHomeDir().getAbsolutePath();
copy.into(gradleUserHome + "-" + project.getName());
copy.from(gradleUserHome, copySpec -> {
String absoluteGradleUserHomePath = gradleUserHome.getAbsolutePath();
copy.into(absoluteGradleUserHomePath + "-" + projectName);
copy.from(absoluteGradleUserHomePath, copySpec -> {
copySpec.include("gradle.properties");
copySpec.include("init.d/*");
});

View file

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

View file

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

View file

@ -30,7 +30,7 @@ public class TestRerunTaskExtension {
/**
* 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;

View file

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

View file

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

View file

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

View file

@ -221,25 +221,11 @@ tasks.register("verifyVersions") {
}
}
/*
* When adding backcompat behavior that spans major versions, temporarily
* disabling the backcompat tests is necessary. This flag controls
* the enabled state of every bwc task. It should be set back to true
* after the backport of the backcompat code is complete.
*/
// TODO: This flag existed as a mechanism to disable bwc tests during a backport. It is no
// longer used for that purpose, but instead a way to run only functional tests. We should
// rework the functionalTests task to be more explicit about which tasks it wants to run
// so that that this flag is no longer needed.
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' }) {
// 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
@ -378,24 +364,24 @@ tasks.register("verifyBwcTestsEnabled") {
}
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'
dependsOn ":verifyVersions", ":verifyBwcTestsEnabled"
}
tasks.named("wrapper").configure {
distributionType = 'ALL'
def minimumGradleVersionFile = project.file('build-tools-internal/src/main/resources/minimumGradleVersion')
doLast {
// 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")
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
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
// 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"
}
}

View file

@ -12,9 +12,9 @@ group = 'org.elasticsearch.plugin'
apply plugin: 'elasticsearch.internal-es-plugin'
esplugin {
name 'client-benchmark-noop-api'
description 'Stubbed out Elasticsearch actions that can be used for client-side benchmarking'
classname 'org.elasticsearch.plugin.noop.NoopPlugin'
name = 'client-benchmark-noop-api'
description = 'Stubbed out Elasticsearch actions that can be used for client-side benchmarking'
classname ='org.elasticsearch.plugin.noop.NoopPlugin'
}
// 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
// archive distribution.
artifacts.add('log4jConfig', file("${defaultOutputs}/log4j2.properties")) {
type 'file'
name 'log4j2.properties'
type = 'file'
name = 'log4j2.properties'
builtBy 'buildDefaultLog4jConfig'
}

View file

@ -28,7 +28,7 @@ repositories {
// 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.
ivy {
url 'https://github.com/'
url = 'https://github.com/'
patternLayout {
artifact '/[organisation]/[module]/releases/download/v[revision]/[module]-[classifier]'
}
@ -50,7 +50,7 @@ if (useDra == false) {
artifact '/[organisation]/[module]-[revision]-[classifier].[ext]'
}
} else {
url "https://artifacts-snapshot.elastic.co/"
url = "https://artifacts-snapshot.elastic.co/"
patternLayout {
if (VersionProperties.isElasticsearchSnapshot()) {
artifact '/[organization]/[revision]/downloads/[organization]/[module]/[module]-[revision]-[classifier].[ext]'
@ -583,8 +583,8 @@ subprojects { Project subProject ->
}
artifacts.add('default', file(tarFile)) {
type 'tar'
name artifactName
type = 'tar'
name = artifactName
builtBy exportTaskName
}
}

View file

@ -43,7 +43,7 @@ import java.util.regex.Pattern
*/
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 ->
@ -87,21 +87,21 @@ def commonPackageConfig(String type, String architecture) {
OS.current().equals(OS.WINDOWS) == false
}
dependsOn "process${type.capitalize()}Files"
packageName "elasticsearch"
packageName = "elasticsearch"
if (type == 'deb') {
if (architecture == 'x64') {
arch('amd64')
arch = 'amd64'
} else {
assert architecture == 'aarch64': architecture
arch('arm64')
arch = 'arm64'
}
} else {
assert type == 'rpm': type
if (architecture == 'x64') {
arch('X86_64')
arch = 'X86_64'
} else {
assert architecture == 'aarch64': architecture
arch('aarch64')
arch = 'aarch64'
}
}
// Follow elasticsearch's file naming convention
@ -200,7 +200,7 @@ def commonPackageConfig(String type, String architecture) {
into('/etc')
permissionGroup 'elasticsearch'
setgid true
includeEmptyDirs true
includeEmptyDirs = true
createDirectoryEntry true
include("elasticsearch") // 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)
}
permissionGroup 'elasticsearch'
includeEmptyDirs true
includeEmptyDirs = true
createDirectoryEntry true
fileType CONFIG | NOREPLACE
}
@ -265,7 +265,7 @@ def commonPackageConfig(String type, String architecture) {
into(file.parent) {
from "${packagingFiles}/${file.parent}"
include file.name
includeEmptyDirs true
includeEmptyDirs = true
createDirectoryEntry true
user u
permissionGroup g
@ -289,15 +289,15 @@ def commonPackageConfig(String type, String architecture) {
// this is package independent configuration
ospackage {
maintainer 'Elasticsearch Team <info@elastic.co>'
summary 'Distributed RESTful search engine built for the cloud'
packageDescription '''
maintainer = 'Elasticsearch Team <info@elastic.co>'
summary = 'Distributed RESTful search engine built for the cloud'
packageDescription = '''
Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
'''.stripIndent().trim()
url 'https://www.elastic.co/'
url = 'https://www.elastic.co/'
// signing setup
if (project.hasProperty('signing.password') && buildParams.isSnapshotBuild() == false) {
@ -311,10 +311,10 @@ ospackage {
// version found on oldest supported distro, centos-6
requires('coreutils', '8.4', GREATER | EQUAL)
fileMode 0644
dirMode 0755
user 'root'
permissionGroup 'root'
fileMode = 0644
dirMode = 0755
user = 'root'
permissionGroup = 'root'
into '/usr/share/elasticsearch'
}
@ -330,7 +330,7 @@ Closure commonDebConfig(String architecture) {
customFields['License'] = 'Elastic-License'
archiveVersion = project.version.replace('-', '~')
packageGroup 'web'
packageGroup = 'web'
// versions found on oldest supported distro, centos-6
requires('bash', '4.1', GREATER | EQUAL)
@ -358,24 +358,24 @@ Closure commonRpmConfig(String architecture) {
return {
configure(commonPackageConfig('rpm', architecture))
license 'Elastic License'
license = 'Elastic License'
packageGroup 'Application/Internet'
packageGroup = 'Application/Internet'
requires '/bin/bash'
obsoletes packageName, '7.0.0', Flags.LESS
prefix '/usr'
packager 'Elasticsearch'
packager = 'Elasticsearch'
archiveVersion = project.version.replace('-', '_')
release = '1'
os 'LINUX'
distribution 'Elasticsearch'
vendor 'Elasticsearch'
os = 'LINUX'
distribution = 'Elasticsearch'
vendor = 'Elasticsearch'
// 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
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
* <<_identifying_running_tasks,Task management API>> response
* <<_identifying_search_slow_log_origin,Slow logs>>
* <<search-slow-log,Slow logs>>
* <<deprecation-logging,Deprecation logs>>
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:
* <<logging,JSON {es} server logs>>
* <<_identifying_search_slow_log_origin,Slow logs>>
* <<search-slow-log,Slow logs>>
* <<deprecation-logging,Deprecation logs>>
For example, the following `traceparent` value would produce the following

View file

@ -4,6 +4,13 @@
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].
[discrete]

View file

@ -7,6 +7,12 @@
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.
[[autoscaling-delete-autoscaling-policy-request]]

View file

@ -7,6 +7,12 @@
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.
[[autoscaling-get-autoscaling-capacity-request]]

View file

@ -7,6 +7,13 @@
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.
[[autoscaling-get-autoscaling-policy-request]]

View file

@ -7,6 +7,12 @@
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.
[[autoscaling-put-autoscaling-policy-request]]

View file

@ -8,6 +8,12 @@ beta::[]
<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]
----

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>>:
* <<put-analytics-collection>>

View file

@ -8,6 +8,12 @@ beta::[]
<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]
----

View file

@ -8,6 +8,12 @@ beta::[]
<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]
----

View file

@ -8,6 +8,12 @@ beta::[]
<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]
----

View file

@ -1,6 +1,12 @@
[[cat]]
== 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"]
=== Introduction

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or the

View file

@ -4,6 +4,12 @@
<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]
====
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>
++++
..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]
====
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>
++++
..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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -5,6 +5,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -5,6 +5,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -5,6 +5,12 @@
<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]
====
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>
++++
..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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,11 @@
<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]
====

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -5,6 +5,12 @@
<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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
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]
..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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -4,6 +4,12 @@
<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]
====
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>
++++
..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]
====
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>
++++
..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]
====
cat APIs are only intended for human consumption using the command line or {kib}

View file

@ -5,6 +5,12 @@
<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]
====
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>
++++
..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>>.
[[ccr-delete-auto-follow-pattern-request]]

View file

@ -5,6 +5,12 @@
<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>>.
[[ccr-get-auto-follow-pattern-request]]

View file

@ -5,6 +5,12 @@
<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>>.
[[ccr-pause-auto-follow-pattern-request]]

View file

@ -5,6 +5,12 @@
<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>>.
[[ccr-put-auto-follow-pattern-request]]

View file

@ -5,6 +5,12 @@
<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>>.
[[ccr-resume-auto-follow-pattern-request]]

View file

@ -2,6 +2,12 @@
[[ccr-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.
[discrete]

View file

@ -5,6 +5,12 @@
<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.
[[ccr-get-follow-info-request]]

View file

@ -5,6 +5,12 @@
<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.
[[ccr-get-follow-stats-request]]

View file

@ -5,6 +5,12 @@
<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.
[[ccr-post-forget-follower-request]]

View file

@ -5,6 +5,12 @@
<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.
[[ccr-post-pause-follow-request]]

View file

@ -5,6 +5,12 @@
<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.
[[ccr-post-resume-follow-request]]

View file

@ -5,6 +5,12 @@
<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.
[[ccr-post-unfollow-request]]

View file

@ -5,6 +5,12 @@
<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.
[[ccr-put-follow-request]]

View file

@ -6,6 +6,12 @@
<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.
[[ccr-get-stats-request]]

View file

@ -1,6 +1,12 @@
[[cluster]]
== 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"]
=== Node specification

View file

@ -4,6 +4,12 @@
<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>>.
[source,console]

View file

@ -7,6 +7,12 @@ experimental::[]
<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.
[[cluster-info-api-request]]

View file

@ -6,6 +6,12 @@
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.
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

View file

@ -6,6 +6,12 @@
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-request]]

View file

@ -6,6 +6,12 @@
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:
* the <<shards-rebalancing-heuristics,desired balance>> computation and reconciliation stats

View file

@ -6,6 +6,12 @@
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-request]]

View file

@ -4,6 +4,12 @@
<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.
[source,console]

View file

@ -4,6 +4,12 @@
<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.
[[cluster-health-api-request]]

View file

@ -4,6 +4,12 @@
<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.
[[cluster-nodes-hot-threads-api-request]]

View file

@ -4,8 +4,13 @@
<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]]
==== {api-request-title}

View file

@ -4,6 +4,12 @@
<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.
[[cluster-nodes-reload-secure-settings-api-request]]

View file

@ -5,6 +5,12 @@
<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.
[[cluster-nodes-stats-api-request]]

View file

@ -4,8 +4,13 @@
<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]]
==== {api-request-title}

View file

@ -4,6 +4,12 @@
<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.

View file

@ -6,6 +6,12 @@
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-api-request]]

View file

@ -4,8 +4,13 @@
<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]]
==== {api-request-title}

View file

@ -4,8 +4,13 @@
<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]]
==== {api-request-title}

View file

@ -4,6 +4,12 @@
<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
diagnostic purposes.

View file

@ -5,6 +5,12 @@
<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.
[[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]
..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.
[[tasks-api-request]]

View file

@ -6,6 +6,12 @@
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.
[[update-desired-nodes-request]]

View file

@ -4,8 +4,13 @@
<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]]
==== {api-request-title}

View file

@ -4,6 +4,12 @@
<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
<<modules-discovery-voting,voting configuration exclusion list>>.

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