Skip to content
This repository was archived by the owner on Aug 2, 2022. It is now read-only.

Commit 49902de

Browse files
authored
Support ES version 7.8.0 (#246)
* Support ES version 7.8.0 * Bump ODFE version to 1.9.0 * Bump Elasticsearch version to 7.8.0 * Bump Gradle version to 6.5 * Changes to make compatible with Elasticsearch 7.8.0 * Fix jacocoagent path to work with gradle 6.5 for integration tests. * Add release notes for ODFE 1.9.0 * Updating Release notes, rebasing on snapshot fixes * Release notes for set index priority action
1 parent c011253 commit 49902de

28 files changed

+104
-87
lines changed

build-tools/esplugin-coverage.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ allprojects{
7171
jacocoTestReport.dependsOn integTest.runner
7272

7373
testClusters.integTest {
74-
jvmArgs " ${dummyIntegTest.jacoco.getAsJvmArg()}"
74+
jvmArgs " ${dummyIntegTest.jacoco.getAsJvmArg()}".replace('javaagent:','javaagent:/')
7575
systemProperty 'com.sun.management.jmxremote', "true"
7676
systemProperty 'com.sun.management.jmxremote.authenticate', "false"
7777
systemProperty 'com.sun.management.jmxremote.port', "7777"

build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
buildscript {
1717
ext {
18-
es_version = System.getProperty("es.version", "7.7.0")
18+
es_version = System.getProperty("es.version", "7.8.0")
1919
kotlin_version = System.getProperty("kotlin.version", "1.3.72")
2020
}
2121

@@ -79,12 +79,12 @@ configurations.testCompile {
7979

8080
dependencies {
8181
compileOnly "org.elasticsearch:elasticsearch:${es_version}"
82-
compileOnly "com.amazon.opendistroforelasticsearch:opendistro-job-scheduler-spi:1.8.0.0"
82+
compileOnly "com.amazon.opendistroforelasticsearch:opendistro-job-scheduler-spi:1.9.0.0"
8383
compile "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}"
8484
compile "org.jetbrains.kotlin:kotlin-stdlib-common:${kotlin_version}"
8585
compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.1'
8686
compile "org.jetbrains:annotations:13.0"
87-
compile "com.amazon.opendistroforelasticsearch:notification:1.8.0.0"
87+
compile "com.amazon.opendistroforelasticsearch:notification:1.9.0.0"
8888

8989
testCompile "org.elasticsearch.test:framework:${es_version}"
9090
testCompile "org.jetbrains.kotlin:kotlin-test:${kotlin_version}"
@@ -125,6 +125,7 @@ javadoc.enabled = false // turn off javadoc as it barfs on Kotlin code
125125
licenseHeaders.enabled = true
126126
dependencyLicenses.enabled = false
127127
thirdPartyAudit.enabled = false
128+
validateNebulaPom.enabled = false
128129

129130
def es_tmp_dir = rootProject.file('build/private/es_tmp').absoluteFile
130131
es_tmp_dir.mkdirs()

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
# permissions and limitations under the License.
1414
#
1515

16-
version = 1.8.0
16+
version = 1.9.0

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#Tue May 19 22:58:14 PDT 2020
2-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-all.zip
2+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
33
distributionBase=GRADLE_USER_HOME
44
distributionPath=wrapper/dists
55
zipStorePath=wrapper/dists
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
## Version 1.9.0.0 (2020-6-25)
3+
4+
Compatible with Elasticsearch 7.8.0, Adds support for ODFE 1.9.0
5+
6+
### New Features
7+
* Adds support for Elasticsearch 7.8.0 [PR #246](https://github.com/opendistro-for-elasticsearch/index-management/pull/246)
8+
9+
### Enhancement
10+
* Implement set index priority action [PR #241](https://github.com/opendistro-for-elasticsearch/index-management/pull/241)
11+
12+
### Bug Fixes
13+
* Fixes snapshot bugs [PR #244](https://github.com/opendistro-for-elasticsearch/index-management/pull/244)
14+

src/main/kotlin/com/amazon/opendistroforelasticsearch/indexstatemanagement/IndexStateManagementHistory.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class IndexStateManagementHistory(
121121
.mapping(_DOC, IndexStateManagementIndices.indexStateManagementHistoryMappings, XContentType.JSON)
122122
request.addMaxIndexDocsCondition(historyMaxDocs)
123123
request.addMaxIndexAgeCondition(historyMaxAge)
124-
val response = client.admin().indices().rolloversIndex(request).actionGet()
124+
val response = client.admin().indices().rolloverIndex(request).actionGet()
125125
if (!response.isRolledOver) {
126126
logger.info("${IndexStateManagementIndices.HISTORY_WRITE_INDEX_ALIAS} not rolled over. Conditions were: ${response.conditionStatus}")
127127
}
@@ -135,13 +135,13 @@ class IndexStateManagementHistory(
135135
val clusterStateRequest = ClusterStateRequest()
136136
.clear()
137137
.indices(IndexStateManagementIndices.HISTORY_ALL)
138-
.metaData(true)
138+
.metadata(true)
139139
.local(true)
140140
.indicesOptions(IndicesOptions.strictExpand())
141141

142142
val clusterStateResponse = client.admin().cluster().state(clusterStateRequest).actionGet()
143143

144-
for (entry in clusterStateResponse.state.metaData.indices()) {
144+
for (entry in clusterStateResponse.state.metadata.indices()) {
145145
val indexMetaData = entry.value
146146
val creationTime = indexMetaData.creationDate
147147

src/main/kotlin/com/amazon/opendistroforelasticsearch/indexstatemanagement/IndexStateManagementIndices.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class IndexStateManagementIndices(
8989
/**
9090
* ============== History =============
9191
*/
92-
fun indexStateManagementIndexHistoryExists(): Boolean = clusterService.state().metaData.hasAlias(HISTORY_WRITE_INDEX_ALIAS)
92+
fun indexStateManagementIndexHistoryExists(): Boolean = clusterService.state().metadata.hasAlias(HISTORY_WRITE_INDEX_ALIAS)
9393

9494
suspend fun initHistoryIndex() {
9595
if (!indexStateManagementIndexHistoryExists())

src/main/kotlin/com/amazon/opendistroforelasticsearch/indexstatemanagement/IndexStateManagementPlugin.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import org.elasticsearch.env.Environment
5151
import org.elasticsearch.env.NodeEnvironment
5252
import org.elasticsearch.plugins.ActionPlugin
5353
import org.elasticsearch.plugins.Plugin
54+
import org.elasticsearch.repositories.RepositoriesService
5455
import org.elasticsearch.rest.RestController
5556
import org.elasticsearch.rest.RestHandler
5657
import org.elasticsearch.script.ScriptService
@@ -139,7 +140,8 @@ internal class IndexStateManagementPlugin : JobSchedulerExtension, ActionPlugin,
139140
environment: Environment,
140141
nodeEnvironment: NodeEnvironment,
141142
namedWriteableRegistry: NamedWriteableRegistry,
142-
indexNameExpressionResolver: IndexNameExpressionResolver
143+
indexNameExpressionResolver: IndexNameExpressionResolver,
144+
repositoriesServiceSupplier: Supplier<RepositoriesService>
143145
): Collection<Any> {
144146
val settings = environment.settings()
145147
this.clusterService = clusterService

src/main/kotlin/com/amazon/opendistroforelasticsearch/indexstatemanagement/ManagedIndexCoordinator.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,9 @@ class ManagedIndexCoordinator(
161161
if (!event.localNodeMaster()) return
162162

163163
// TODO: Look into event.isNewCluster, can we return early if true?
164-
if (event.isNewCluster) { }
164+
// if (event.isNewCluster) { }
165165

166-
if (!event.metaDataChanged()) return
166+
if (!event.metadataChanged()) return
167167

168168
launch { sweepClusterChangedEvent(event) }
169169
}
@@ -200,7 +200,7 @@ class ManagedIndexCoordinator(
200200
private suspend fun reenableJobs() {
201201
val clusterStateRequest = ClusterStateRequest()
202202
.clear()
203-
.metaData(true)
203+
.metadata(true)
204204
.local(false)
205205
.indices("*")
206206
.indicesOptions(IndicesOptions.strictExpand())
@@ -214,7 +214,7 @@ class ManagedIndexCoordinator(
214214
* 2. Does not have a completed Policy
215215
* 3. Does not have a failed Policy
216216
*/
217-
val updateManagedIndicesRequests: List<DocWriteRequest<*>> = response.state.metaData.indices.mapNotNull {
217+
val updateManagedIndicesRequests: List<DocWriteRequest<*>> = response.state.metadata.indices.mapNotNull {
218218
val managedIndexMetaData = it.value.getManagedIndexMetaData()
219219
if (!(managedIndexMetaData == null || managedIndexMetaData.isPolicyCompleted || managedIndexMetaData.isFailed)) {
220220
updateEnableManagedIndexRequest(it.value.indexUUID)
@@ -231,7 +231,7 @@ class ManagedIndexCoordinator(
231231
@OpenForTesting
232232
suspend fun sweepClusterChangedEvent(event: ClusterChangedEvent) {
233233
val indicesDeletedRequests = event.indicesDeleted()
234-
.filter { event.previousState().metaData().index(it)?.getPolicyID() != null }
234+
.filter { event.previousState().metadata().index(it)?.getPolicyID() != null }
235235
.map { deleteManagedIndexRequest(it.uuid) }
236236

237237
/*
@@ -245,8 +245,8 @@ class ManagedIndexCoordinator(
245245
var hasCreateRequests = false
246246
val updateManagedIndicesRequests = mutableListOf<DocWriteRequest<*>>()
247247
val indicesToRemoveManagedIndexMetaDataFrom = mutableListOf<Index>()
248-
event.state().metaData().indices().forEach {
249-
val previousIndexMetaData = event.previousState().metaData().index(it.value.index)
248+
event.state().metadata().indices().forEach {
249+
val previousIndexMetaData = event.previousState().metadata().index(it.value.index)
250250
val policyID = it.value.getPolicyID()
251251
val request: DocWriteRequest<*>? = when {
252252
it.value.shouldCreateManagedIndexConfig(previousIndexMetaData) && policyID != null -> {
@@ -373,7 +373,7 @@ class ManagedIndexCoordinator(
373373
*/
374374
@OpenForTesting
375375
fun sweepClusterState(clusterState: ClusterState): Map<String, ClusterStateManagedIndexConfig> {
376-
return clusterState.metaData().indices().values()
376+
return clusterState.metadata().indices().values()
377377
.mapNotNull {
378378
val clusterConfig = it.value.getClusterStateManagedIndexConfig()
379379
clusterConfig?.run {
@@ -412,7 +412,7 @@ class ManagedIndexCoordinator(
412412
/** Returns a list of [Index]es that need to have their [ManagedIndexMetaData] removed. */
413413
@OpenForTesting
414414
fun getIndicesToDeleteManagedIndexMetaDataFrom(clusterState: ClusterState): List<Index> {
415-
return clusterState.metaData().indices().values().mapNotNull {
415+
return clusterState.metadata().indices().values().mapNotNull {
416416
if (it.value.shouldDeleteManagedIndexMetaData()) it.value.index else null
417417
}
418418
}

src/main/kotlin/com/amazon/opendistroforelasticsearch/indexstatemanagement/ManagedIndexRunner.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ import org.elasticsearch.client.Client
8282
import org.elasticsearch.cluster.block.ClusterBlockException
8383
import org.elasticsearch.cluster.health.ClusterHealthStatus
8484
import org.elasticsearch.cluster.health.ClusterStateHealth
85-
import org.elasticsearch.cluster.metadata.IndexMetaData
85+
import org.elasticsearch.cluster.metadata.IndexMetadata
8686
import org.elasticsearch.cluster.service.ClusterService
8787
import org.elasticsearch.common.settings.Settings
8888
import org.elasticsearch.common.unit.TimeValue
@@ -678,19 +678,19 @@ object ManagedIndexRunner : ScheduledJobRunner,
678678

679679
private fun clusterIsRed(): Boolean = ClusterStateHealth(clusterService.state()).status == ClusterHealthStatus.RED
680680

681-
private suspend fun getIndexMetaData(index: String): IndexMetaData? {
682-
var indexMetaData: IndexMetaData? = null
681+
private suspend fun getIndexMetaData(index: String): IndexMetadata? {
682+
var indexMetaData: IndexMetadata? = null
683683
try {
684684
val clusterStateRequest = ClusterStateRequest()
685685
.clear()
686686
.indices(index)
687-
.metaData(true)
687+
.metadata(true)
688688
.local(false)
689689
.indicesOptions(IndicesOptions.strictExpand())
690690

691691
val response: ClusterStateResponse = client.admin().cluster().suspendUntil { state(clusterStateRequest, it) }
692692

693-
indexMetaData = response.state.metaData.indices.firstOrNull()?.value
693+
indexMetaData = response.state.metadata.indices.firstOrNull()?.value
694694
if (indexMetaData == null) {
695695
logger.error("Could not find IndexMetaData in master cluster state for $index")
696696
}

0 commit comments

Comments
 (0)