a9cd7750f4
CI / unit-test (push) Has been cancelled
CI / detect-changes (push) Has been cancelled
CI / build (push) Has been cancelled
Publish docs via GitHub Pages / Deploy docs (push) Has been cancelled
CI / test-harness (push) Has been cancelled
CI / generate-e2e-matrix (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / build-ui (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
UI v2 Integration CI / E2E (Integration) (push) Has been cancelled
UI v2 CI / Lint, Format & Test (push) Has been cancelled
UI v2 CI / E2E (Mocked) (push) Has been cancelled
98 lines
3.1 KiB
Markdown
98 lines
3.1 KiB
Markdown
# ES7 Persistence
|
|
|
|
This module provides ES7 persistence when indexing workflows and tasks.
|
|
|
|
If you need Elasticsearch 8.x, use the `es8-persistence` module instead.
|
|
|
|
### ES Breaking changes
|
|
|
|
From ES6 to ES7 there were significant breaking changes which affected ES7-persistence module implementation.
|
|
* Mapping type deprecation
|
|
* Templates API
|
|
* TransportClient deprecation
|
|
|
|
More information can be found here: https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-7.0.html
|
|
|
|
|
|
## Build
|
|
|
|
1. In order to use the ES7, you must change the following files from ES6 to ES7:
|
|
|
|
https://github.com/conductor-oss/conductor/blob/main/build.gradle
|
|
https://github.com/conductor-oss/conductor/blob/main/server/src/main/resources/application.properties
|
|
|
|
In file:
|
|
|
|
- /build.gradle
|
|
|
|
change ext['elasticsearch.version'] from revElasticSearch6 to revElasticSearch7
|
|
|
|
|
|
In file:
|
|
|
|
- /server/src/main/resources/application.properties
|
|
|
|
change conductor.elasticsearch.version from 6 to 7
|
|
|
|
Also you need to recreate dependencies.lock files with ES7 dependencies. To do that delete all dependencies.lock files and then run:
|
|
|
|
```
|
|
./gradlew generateLock updateLock saveLock
|
|
```
|
|
|
|
|
|
2. To use the ES7 for all modules include test-harness, you must change also the following files:
|
|
|
|
https://github.com/conductor-oss/conductor/blob/main/test-harness/build.gradle
|
|
https://github.com/conductor-oss/conductor/blob/main/test-harness/src/test/java/com/netflix/conductor/test/integration/AbstractEndToEndTest.java
|
|
|
|
In file:
|
|
|
|
- /test-harness/build.gradle
|
|
|
|
* change module inclusion from 'es6-persistence' to 'es7-persistence'
|
|
|
|
In file:
|
|
|
|
- /test-harness/src/test/java/com/netflix/conductor/test/integration/AbstractEndToEndTest.java
|
|
|
|
* change conductor.elasticsearch.version from 6 to 7
|
|
* change DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch-oss").withTag("6.8.12") to DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch-oss").withTag("7.6.2")
|
|
|
|
|
|
|
|
### Configuration
|
|
(Default values shown below)
|
|
|
|
This module uses the following configuration options:
|
|
```properties
|
|
# A comma separated list of schema/host/port of the ES nodes to communicate with.
|
|
# Schema can be `http` or `https`. If schema is ignored then `http` transport will be used;
|
|
# Since ES deprecated TransportClient, conductor will use only the REST transport protocol.
|
|
conductor.elasticsearch.url=
|
|
|
|
#The name of the workflow and task index.
|
|
conductor.elasticsearch.indexPrefix=conductor
|
|
|
|
#Worker Queue size used in executor service for async methods in IndexDao.
|
|
conductor.elasticsearch.asyncWorkerQueueSize=100
|
|
|
|
#Maximum thread pool size in executor service for async methods in IndexDao
|
|
conductor.elasticsearch.asyncMaxPoolSize=12
|
|
|
|
#Timeout (in seconds) for the in-memory to be flushed if not explicitly indexed
|
|
conductor.elasticsearch.asyncBufferFlushTimeout=10
|
|
```
|
|
|
|
|
|
### BASIC Authentication
|
|
If you need to pass user/password to connect to ES, add the following properties to your config file
|
|
* conductor.elasticsearch.username
|
|
* conductor.elasticsearch.password
|
|
|
|
Example
|
|
```
|
|
conductor.elasticsearch.username=someusername
|
|
conductor.elasticsearch.password=somepassword
|
|
```
|