Search variables
diff --git a/docs/apis-tools/operate-api/specifications/sequence-flows-by-key.api.mdx b/docs/apis-tools/operate-api/specifications/sequence-flows-by-key.api.mdx
index 6d1356d49e5..e8f3d08b782 100644
--- a/docs/apis-tools/operate-api/specifications/sequence-flows-by-key.api.mdx
+++ b/docs/apis-tools/operate-api/specifications/sequence-flows-by-key.api.mdx
@@ -5,7 +5,7 @@ description: "Get sequence flows of process instance by key"
sidebar_label: "Get sequence flows of process instance by key"
hide_title: true
hide_table_of_contents: true
-api: eJzlVktv2zgQ/isET93WsZw2WwTGokAKOIXbogliFz0EOdDS2GYjkSo5ctYQ9N87Q0qOHyp297hoDhE5nPd8M+Naolp5Ob6Xt86m4P3UeFQmBfkwkLYEp1BbM83kWHr4UQG9XOf2yb/ffoKtHMhSOVUAgmMdtTR0IdbH8KYNHUuFazpn4FOnS1ZGRJIVdinKaFLozuZAOjKiHZA9dBUMpE/XUCg5riVuS1atDcIKHLEurSsURtLbC9k0DyzuS2s8eJZ4PRrx59D0rErZJsmnllQZZJaXyUv+nBhTzqkQCULh9+genTYrMkl/A3nRZ2dqNirXmeCAwOOhPVWWuU5DahNKwiKH4tV3z3I9TtjFd0hZAXFSQVDH6ChlWPl/zMyb15JcLChktYKeELhMbfb7HiPhNHB60ZgzaeKcdbLLxJvTTFxbt9BZBubf5fx/Fe7Fabh3seDApfe2cikIY1EsbWWy3wMFf/b1w9XtVOwFLCAI/Ab5IKKHtHIat2FELkA5cGc8Isf3D82gphTYRw3h9nA8KT8Aim7wiiVP3r7BKRZbEWcuzeK15Wm9gpAcnr5jmWzOk1bmrJPxSU0iTdJpPwvaJXvrNt08r1xO4nXMfjNOknptPTbjurQOG2LeKKcVVSqknN9i5ZeqyjnVuU1VHsjHgc3XIPiBNwaHhHRnjETrQ84y2zhUdzm6HPVqYtZfaHlGzrOeNWLZqycy92oK+6Wr5Iz5YtBd9Z6XRqnjbmyX4c3t5O5qPjmbTWaz6c2XbjG2cuThPiJ2WloXg0N8j0yy477uwPzx2zwAT5ulDeItAG/C7gZxWy2oqTiU04CtUGEZ0gf1BoQymUhtUebA4+sYZHwSnVpqJlFYo9Ey9IMkOlsxEtbWIrdD7G1SzW5FIHFQnlD09PQ0TFVBE1ENySAngZwEWtzM2+btc0sZHAlnNvU7aW3DPXGwBMcwTlpFPmGtDOQY7PlwNBxFVHkslNkz9F977CCLu4Ih/I1JmSsqbtO6XLf9dy8353FSHXYg0cZR5VETEtJiL93Lul4oD19d3jRMJjYXBsdz64VGzbTnM3X+UuUeTpzcjVn54q79ifWH+PXPsN6YOnybbWj8vOIbHQNww/+G5plcg8oIqexVfLkikJW4J8Orn7tpN6w+TOb0rCpO1i6hR4gPCntd+Ot9YBBz+wjm3c4h5Cu71DQ/ARnwu5g=
+api: eJzlVt1v2zYQ/1eIe9o6xnLabCiEYUAKOIXXYQmSFH0I/EBTZ5uNRCrkyZkh6H8fjpSc2Fax7XGoX2R+3O/ufvfFFkitA+QPcOOdxhDmNpCyGmEhwdXoFRln5wXkEPCpQavxqnTP4cPuE+5AQq28qpDQM0YLVlUIOTzGM2Mhh1rRBiQUGLQ3NYNBDp9wJ9xK1EmlMINOCR6fGuOxgJx8gxKC3mClIG+BdjVDG0u4Rg8SVs5XitLWLxfQdQsWD7WzAQNLvJ1O+XOo+q7RrBMkaGcJLfGVN9kb/pwoU96r6AlhFV7tB/LGrqHjn4SLMT1zu1WlKQQ7hIEO9am6Lo2O1Ga1d8sSq5++BpYbMcItv6JmgNpzQMgk7wIpasI/MvPuLXQSKgxBrXHEBQ5Tz/7YYdo4dVwCGSp5a+a98zAw8e6UiSvnl6Yo0P47zv9X7l6cunubAo4c+uAar1FYR2LlGlt8H1nw81g9XN7MxSuHBUaB74CPTkJA3XhDu9gil6g8+jNukfnDopMtaOceDcbV4rhTfkQSQ+MVK+68Y41TLHci9dwKaeO4W68xksPdN4dse571MmeDTMjaR9x12YB+FtGBrfXboZ83voQc2sR+l2dZu3GBurytnacOJGyVN2pZJvL5LEV+pZqSqS6dVmXcPnbsfoOCD3hisEu0QcE5krRPmGXWcQj3fvp+OorEV7+B8pI5LzgbonoUJ10eRYrzZYjkHd9LTg/RexkatUmzsR+G1zez28v72dnd7O5ufv3nMBh7uU4eZMQepTcxGsTrdAmG21dDMv/+5T4mnrErF8X7BLyOsxvFTbMsjWZXTh12QsVhKJQms0WhbCG0q+oSuX0dJxn/EwPsynlROWvIcepHSfKu4UzYOEdcDqm2lY4xTInEToU8y56fnydaVY0t1ES7ikkojUYbIo89b3/0O/JIuHA67KWNi+vM4wo9p3HWA4WMUTmRk7Pnk+lkmrIqUKXsK0X/tcYOWNwHjPAvyupSGctaosltX38PsD1PneqwAkFCniCPinAh+1p6gLZdqoCffdl1vP3UoI+N46X0YqEWJvD/AvKVKgOeGLlvs/DDbf/E+lF8+xk26tOQ33YXC79seAUyvvbSm69bdBI2qAr00ap0cqk11vRKhkc/V9O+WX2c3YME1TBZe0KPMj4Cjprw64d4Qdy7R7S/7Q0iXrJJXfc3GfC7mA==
sidebar_class_name: "get api-method"
info_path: docs/apis-tools/operate-api/specifications/operate-public-api
custom_edit_url: null
diff --git a/docs/apis-tools/operate-api/specifications/xml-by-key-1.api.mdx b/docs/apis-tools/operate-api/specifications/xml-by-key-1.api.mdx
index e9df1fff308..6769dce1f10 100644
--- a/docs/apis-tools/operate-api/specifications/xml-by-key-1.api.mdx
+++ b/docs/apis-tools/operate-api/specifications/xml-by-key-1.api.mdx
@@ -5,7 +5,7 @@ description: "Get decision requirements as XML by key"
sidebar_label: "Get decision requirements as XML by key"
hide_title: true
hide_table_of_contents: true
-api: eJzlVm1v0zAQ/iuWP/FSmu4FhCqEtIluKhtsWotAqibkJtfWW2IH2+moovx37uwka9cg+Ir40vrl7rm3584puRNLy4cz/gFiaaVWN/CjkAYyUM7y2x7XORjh8GKc8CH/maWnmwvYfD/gPZ4LIzJwYAig5Ao3KHIPG7yTCpe5cCtcJ2BjI3MCwUPUZnrBktoeM9sGe7zeojFnCuhxG68gE3xYcrfJCV8qB0swKLrQJhMuHL055lV1S+o218qCJY3DwYD+du1PijgGS6ZijVDKeWz46SIMjtZ7Fq0zUi0Rv6p6/LgLc6zWIpWJjwWs28UWeZ7K2Ocwyo2ep5C9vLOk12FLz+8gJgCUxMw7GSKxTrjC/jELR4ccXcwwPLGEjgioLgil4u7LcLAfN95Il9LRyBht2kwc7WfiTJu5TBJQuzl4Eb3498M93g/3JhQcqPRWFyYGprRjC12o5P9gweuufji5HrOtgBl4hf8gH3hoIS6MdBs/E+cgDJhXNBOHs9uqV2IK9L0Ev7t9OhrPwXXPRSYs+/bpks03LIxXHLsrTQN5CT4tNGiHPFofRIlJohKFKj/OyB2zbiZ0YXDA8TKktxpGUbnS1lXDMtfGVSi8FkYKLIXPKd2F0i5EkVIuUx2L1B8/9Xy6AkYX9AbQdHe4JxIE631KI9nYhXs7eDvoRCLR36A8UuMRZ+Vc3okThDuR/GPRlGpCciHopjxtuUUuL3zK6+ft6np0czIdvZqMJpPx1efmqav10MPtkrcotYveIdoHId5InzVs/fh16pkl1UJ79ZphV/4VBnZdzLFrKJT9gDUT/mXDPyfXwIRKWKyzPAWaT9g5/rKhOq1YA4vdwjKtpNPEba/pjC6ICSutHfE9NC9Ck1uBSBSURRY9PDz0Y5HhyBN9NEhJQCcBX2GSrfN2WZ/0nignOratttR+HxlYgAH0MqqBbESoROQQ7EF/0B8EVlmXCbVl6O+baCd/ban8p0CeCixrVTtb1g0242v67sEWw99hAKEuQyqFZpnxspwLC19MWlV0jK+D8a3/2Fu+ExNpaY0dvBCphT1f2kHJn9UfZMlz9ocvp07/GxarjW/vtKAdLj09/W+FY4mvQCTIR3It3JwglXK3pdN+IVHjtOPnfDRFGVFQdtoMPiG3R+30492pF2BTfQ/qfeuVoy35VVW/APihoiw=
+api: eJzlVm1v2zYQ/ivEfVo71nLarCiEYUCKuUWWdgliFy0QGANNnW02EqmSlBND4H8vjpSUONbQfR36SeLLPXf33AuvBS82DvIb+BOlcsroa/zWKIsVau9gycHUaIVXRp8XkMN9Vb7dX+D+nxPgUAsrKvRoCaAFLSqEHG5xDxyUhhxq4bfAoUAnraoJBHK4wD0za1Z0+ph9rJBDtywg97ZBDk5usRKQt+D3NeEr7XGDFjisja2ET1uvTyGEJYm72miHjiReTqf0OdQ/b6RER6qk0R61j9h477P7qqT/I43OW6U3EEIIHE7HMM/1TpSqiL6g84fYoq5LJSOHWW3NqsTq16+O5EZ0mdVXlARQW2Leq+SJ88I37ocsvHoJgUOFzokNjnhAcXFeaDl+mDaO/ebglS9pa2atsQMTr46ZeGfsShUF6kMOnmfP///unh67e50CjhR6ZxorkWnj2do0uvg5suC3sXo4uzpnjxxmGAV+Aj4CB4eyscrvY09cobBoX1BPzG+WgbcgjblVGFfLp63xPfrxvsiEY18+fmCrPUvttUK/NdSQNxhpoUabQ7Y7yQpbZO0t7kNsZ2SO3fUdurEl5NAmekOeZe3WOB/ytjbWB+CwE1aJVZnYpbMU2rVoSuKyNFKUcfup5YstMjqgN4C6u98ioyRI2idEI+k4hHszfTMdRaKr/4LykBoPOFvv61GcdHkUKT4WfajmdC853YdnCLeo1UWkvHveLq9m12eL2Yv5bD4/v/y7f+o6ucAPQj6gdCZGg2idLkF/+12frX99XsTMUnptoniXYZfxFUZ21axKJcmVY4cNE/FlY0J6tUMmdMGkqeoSqT/V1sTDPtXpj/Wwa2NZZbTyhnI7SnprGsqErTGe8j0Vr5AxhimRyCmXZ9nd3d1EiqrRhZhIUxEJpZKoXeSx4+1Dt8OfCBdGukFambjOLK7RopaYdUAuI1RK5OTsyWQ6maascr4S+pGi/15EB/wNoYqjQF0KpQk/Gtt2BXYDO5p7Cku9PU8gVGVL3hXLDbTtSjj8ZMsQaPtbgzaW/kNtxUoslKP/AvK1KB0e2TI0SvilG8iKZ+wHk9Oo/X0W630s77KhFfA4paVZLSwDhy2KAm00LZ2cSYm1fyQzTEhUOEP7eT9bAAfREDsDg0+SO6KO2vH723iBLcwt6j8Gqzwtya4QvgP4oaIs
sidebar_class_name: "get api-method"
info_path: docs/apis-tools/operate-api/specifications/operate-public-api
custom_edit_url: null
diff --git a/docs/apis-tools/operate-api/specifications/xml-by-key.api.mdx b/docs/apis-tools/operate-api/specifications/xml-by-key.api.mdx
index a4d4935afc8..c2c500718a5 100644
--- a/docs/apis-tools/operate-api/specifications/xml-by-key.api.mdx
+++ b/docs/apis-tools/operate-api/specifications/xml-by-key.api.mdx
@@ -5,7 +5,7 @@ description: "Get process definition as XML by key"
sidebar_label: "Get process definition as XML by key"
hide_title: true
hide_table_of_contents: true
-api: eJzlVltv0zAU/iuWn7h0TccGQhFCGqJDg8GmtQikaQ9uctp6S+xgO92qKP+dc+wkXdtweUW8tL6c853bd45TcScWlsfX/NLoBKx9D3OppJNa8ZsB1wUYQZuzlMf8Ic/erT/Bmg94IYzIwYEh3Yor3KDAnb+TCpeFcEtcp2ATIwuPF3PUZXrOimCKpRtbA27gRykNoB1nShhwmywhFzyuuFsXBC6VgwUYFJ1rkwsXjl4d87q+IXVbaGXBksaL0Yj+to1PyoSson6iEUo5jw0PLsK4aL1n0Toj1QLx63rAj/swz9RKZDJl5DxYt40tiiKTiU9fhCHPMsif31rS67GlZ7eQEABKYtKdDJFYJ1xp/5iFoxccXcwxPLGAngioKAilkv7LcLAfN95Il9HR2Bhtukwc7WfiVJuZTFNQ2zl4Fj3798M93g/3KhQcqPRWlyYBprRjc12q9P9gwcu+fji5PGOPAmbgFf6DfOChhaQ00q39QJyBMGAOaCDG1zf1oMIU6DsJfnezOxc/gOsZikxY9v3zOZutWRisOHCXmgbxAnxOaMTGPFodRo3ywUbZRhUq1X62kW9m1c7q0uC041XIdR1HUbXU1tVxVWjjahReCSMF1sUnmO5CneeizCixmU5E5o93w5gugdEFvQY05x3uiRHB+pBySja24V6PXo96kUj0Fygbnmxwls4VvThBuBfJvxxt3SYkF4Jua9XVXhQyvHvNQ3dxOb46mY4PJuPJ5OziS/voNXro4eP6dyiNi94h2gch3kqfttT9+G3qaSbVXHv1hm4X/jUGdlnOsIUolP2ANRP+mcM/J1fAhEpZovMiAxpWLcla3tOKtbDYOizXSB9NRPeazuiSmLDU2hH5QycjNLkViERBWWTR/f39MBE5zj8xRIOUBHQS8Ekm2SZv583JYEc51YnttKX2+8jAHAygl1EDZCNCJSKHYA+Ho+EosMq6XKhHhv6yo7aS19XJfxQUmcCa1o2nVdNt13x1GMbRbr/haRxAqeWQV6FzrnlVzYSFryarazrGd8P4obBpNN+WqbS0xvaei8zCnm/dCOVPrppPpafsdx9UvcG0fFZr3+hZSTtceqL63xqnFV+CSJGZ5Fe4OUFSFe6RTvfhRC3UDaYP4ynKiJJS1aVzh+YetdePN++8AJvqO1BvO68cbcmvuv4JhPioRg==
+api: eJzlVm1v2zYQ/ivEfdo6xnLabCiEYUCKuUXWbgliDxsQ+ANNnW02EqmSlBND4H8fjpTk2NZevg79JPHlnrt77o0teLFxkD/AnTUSnfsZ10orr4yGJQdToxW0uCkgh+eqfLf/iHvgUAsrKvRoSbYFLSqEHB7jmdKQQy38FjgU6KRVdcTL4SPumVmzOqlixUEXB4tfGmWxgNzbBjk4ucVKQN6C39cErrTHDVrgsDa2Ej5t/XAFISxJ3NVGO3Qk8Xo6pc+x8nkjSStwkEZ71D5i47PPnquS/s80Om+V3kAIIXC4GsO80TtRqoKR8ej8Mbao61LJSF9WW7MqsfrusyO5EV1m9RklAdSWSPcqeeK88I37VxbevIbAoULnxAZHPKCgOC+0HD9MG+d+c/DKl7Q1s9bYgYk350y8N3aligL1MQevslf/f3evzt29TwFHCr0zjZXItPFsbRpdfB1Z8P1YPVzf3bAXDjOMAl8BH4GDQ9lY5fexIa5QWLQX1BDzh2XgLUhjHhXG1fK0L35AP9IUmXDsz18/sdWepcZaod8aasQbjJxQi80h211mnfDFQdhl7SPuQ+xtZJvd9b26sSXk0CauQ55l7dY4H/K2NtYH4LATVolVmaimsxTntWhKIrY0UpRx+9SNxRYZHdA0oD7vt8goI5L2CXFKOo7h3k7fTkeR6OrfoBzy5ICz9b4exUmXR5Hi5OjjNqd7yek+VkPsRa3S3OsG3e3d7P56MbuYz+bzm9vf+qHXyQV+FP8BpTMxGkTrdAn62+/71P3lj0VMM6XXJop36XYbpzGyu2ZVKkmunDtsmIhjjgnp1Q6Z0AWTpqpLpGbVJ1mf9/THeti1sawyWnlDiR4lvTUNZcLWGE/JnypZyBjDlEjklMuz7OnpaSJF1ehCTKSpiIRSSdQu8tjx9qnb4SfChZFukFYmrjOLa7SoJWYdkMsIlRI5OXs5mU6mKaucr4R+oeg/VtQReUOc4qOgLoXSBB4tbbtqe4DdZWpHp/UGHPIESiW35F3lPEDbroTD320ZAm1/adDGpnAotFiWhXL0X0C+FqXDM9uGFgrf3HdPpW/ZPz2oRp3p81nvY6GXDa2Ax5dber+FZeCwRVGgjXalk2spsfYvZIaHE5XQ0Jg+zBbAQTRE1UDnSZpH1FE7fnwXL7CFeUT902CVpyXZFcJfhPioRg==
sidebar_class_name: "get api-method"
info_path: docs/apis-tools/operate-api/specifications/operate-public-api
custom_edit_url: null
diff --git a/docs/guides/react-components/_install-c8run.md b/docs/guides/react-components/_install-c8run.md
index 3047dee7878..520996f22c9 100644
--- a/docs/guides/react-components/_install-c8run.md
+++ b/docs/guides/react-components/_install-c8run.md
@@ -11,7 +11,7 @@ If no version of Java is found, follow your chosen installation's instructions f
### Install and start Camunda 8 Run
-1. Download the [latest release of Camunda 8 Run](https://github.com/camunda/camunda/releases/tag/8.7.0-alpha1) for your operating system and architecture. Opening the .tgz file extracts the Camunda 8 Run script into a new directory.
+1. Download the [latest release of Camunda 8 Run](https://github.com/camunda/camunda/releases/tag/8.7.0-alpha2) for your operating system and architecture. Opening the .tgz file extracts the Camunda 8 Run script into a new directory.
2. Navigate to the new `c8run` directory.
3. Start Camunda 8 Run by running `./start.sh` (or `.\c8run.exe start` on Windows) in your terminal.
diff --git a/docs/reference/release-notes/870.md b/docs/reference/release-notes/870.md
index f584b74c8f8..3771a030c74 100644
--- a/docs/reference/release-notes/870.md
+++ b/docs/reference/release-notes/870.md
@@ -21,10 +21,18 @@ These release notes identify the new features included in 8.7, including [alpha
## 8.7.0-alpha2
-| Release date | Changelog(s) | Blog |
-| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ |
+| Release date | Changelog(s) | Blog |
+| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ |
| 10 December 2024 |
- [ Camunda 8 core ](https://github.com/camunda/camunda/releases/tag/8.7.0-alpha2)
- [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.7.0-alpha2.1)
| [Release blog](https://camunda.com/blog/2024/12/camunda-alpha-release-december-2024/) |
+
+
+:::caution
+
+This [alpha release](/reference/release-policy.md) contains a known issue where Self-Managed customers using the 8.7.0-alpha2 Helm Chart cannot login to Operate. This issue is due to key architecture refactoring and improvements, and will be resolved in the next release.
+
+:::
+
### Camunda 8 REST API Query API
API
diff --git a/docs/self-managed/operational-guides/backup-restore/optimize-backup.md b/docs/self-managed/operational-guides/backup-restore/optimize-backup.md
index fd86d993ec0..2215873da0d 100644
--- a/docs/self-managed/operational-guides/backup-restore/optimize-backup.md
+++ b/docs/self-managed/operational-guides/backup-restore/optimize-backup.md
@@ -11,20 +11,20 @@ This release introduces breaking changes, including the utilized URL.
For example, `curl 'http://localhost:8092/actuator/backups'` rather than the previously used `backup`.
:::
-Optimize stores its data over multiple indices in Elasticsearch. To ensure data integrity across indices, a backup of Optimize data consists of two Elasticsearch snapshots, each containing a different set of Optimize indices. Each backup is identified by a positive integer backup ID. For example, a backup with ID `123456` consists of the following Elasticsearch snapshots:
+Optimize stores its data over multiple indices in the database. To ensure data integrity across indices, a backup of Optimize data consists of two ElasticSearch/OpenSearch snapshots, each containing a different set of Optimize indices. Each backup is identified by a positive integer backup ID. For example, a backup with ID `123456` consists of the following snapshots:
```
camunda_optimize_123456_3.9.0_part_1_of_2
camunda_optimize_123456_3.9.0_part_2_of_2
```
-Optimize provides an API to trigger a backup and retrieve information about a given backup's state. During backup creation Optimize can continue running. The backed up data can later be restored using the standard Elasticsearch snapshot restore API.
+Optimize provides an API to trigger a backup and retrieve information about a given backup's state. During backup creation Optimize can continue running. The backed up data can later be restored using the standard ElasticSearch/OpenSearch snapshot restore API.
## Prerequisites
The following prerequisites must be set up before using the backup API:
-1. A snapshot repository of your choice must be registered with Elasticsearch.
+1. A snapshot repository of your choice must be registered with ElasticSearch/OpenSearch.
2. The repository name must be specified using the `CAMUNDA_OPTIMIZE_BACKUP_REPOSITORY_NAME` environment variable, or by adding it to your Optimize [`environment-config.yaml`]($optimize$/self-managed/optimize-deployment/configuration/system-configuration/):
```yaml
@@ -48,13 +48,13 @@ POST actuator/backups
### Response
-| Code | Description |
-| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
-| 202 Accepted | Backup process was successfully initiated. To determine whether backup process was completed refer to the GET API. |
-| 400 Bad Request | Indicates issues with the request, for example when the `backupId` contains invalid characters. |
-| 409 Conflict | Indicates that a backup with the same `backupId` already exists. |
-| 500 Server Error | All other errors, e.g. issues communicating with Elasticsearch for snapshot creation. Refer to the returned error message for more details. |
-| 502 Bad Gateway | Optimize has encountered issues while trying to connect to Elasticsearch. |
+| Code | Description |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
+| 202 Accepted | Backup process was successfully initiated. To determine whether backup process was completed refer to the GET API. |
+| 400 Bad Request | Indicates issues with the request, for example when the `backupId` contains invalid characters. |
+| 409 Conflict | Indicates that a backup with the same `backupId` already exists. |
+| 500 Server Error | All other errors, e.g. issues communicating with the database for snapshot creation. Refer to the returned error message for more details. |
+| 502 Bad Gateway | Optimize has encountered issues while trying to connect to the database. |
### Example request
@@ -96,8 +96,8 @@ GET actuator/backup
| 200 OK | Backup state could be determined and is returned in the response body (see example below). |
| 400 Bad Request | There is an issue with the request, for example the repository name specified in the Optimize configuration does not exist. Refer to returned error message for details. |
| 404 Not Found | If a backup ID was specified, no backup with that ID exists. |
-| 500 Server Error | All other errors, e.g. issues communicating with Elasticsearch for snapshot state retrieval. Refer to the returned error message for more details. |
-| 502 Bad Gateway | Optimize has encountered issues while trying to connect to Elasticsearch. |
+| 500 Server Error | All other errors, e.g. issues communicating with the database for snapshot state retrieval. Refer to the returned error message for more details. |
+| 502 Bad Gateway | Optimize has encountered issues while trying to connect to the database. |
### Example request
@@ -135,8 +135,8 @@ Possible states of the backup:
- `COMPLETE`: The backup can be used for restoring data.
- `IN_PROGRESS`: The backup process for this backup ID is still in progress.
-- `FAILED`: Something went wrong when creating this backup. To find out the exact problem, use the [Elasticsearch get snapshot status API](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/get-snapshot-status-api.html) for each of the snapshots included in the given backup.
-- `INCOMPATIBLE`: The backup is incompatible with the current Elasticsearch version.
+- `FAILED`: Something went wrong when creating this backup. To find out the exact problem, use the [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-snapshot-status-api.html) / [OpenSearch](https://opensearch.org/docs/latest/api-reference/snapshots/get-snapshot-status/) get snapshot status API for each of the snapshots included in the given backup.
+- `INCOMPATIBLE`: The backup is incompatible with the current ElasticSearch/OpenSearch version.
- `INCOMPLETE`: The backup is incomplete (this could occur when the backup process was interrupted or individual snapshots were deleted).
## Delete backup API
@@ -154,10 +154,10 @@ DELETE actuator/backups/{backupId}
| Code | Description |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| 204 No Content | The delete request for the associated snapshots was submitted to Elasticsearch successfully. |
+| 204 No Content | The delete request for the associated snapshots was submitted to the database successfully. |
| 400 Bad Request | There is an issue with the request, for example the repository name specified in the Optimize configuration does not exist. Refer to returned error message for details. |
| 500 Server Error | An error occurred, for example the snapshot repository does not exist. Refer to the returned error message for details. |
-| 502 Bad Gateway | Optimize has encountered issues while trying to connect to Elasticsearch. |
+| 502 Bad Gateway | Optimize has encountered issues while trying to connect to ElasticSearch/OpenSearch. |
### Example request
@@ -167,22 +167,22 @@ curl --request DELETE 'http://localhost:8092/actuator/backups/123456'
## Restore backup
-There is no Optimize API to perform the backup restore. Instead, the standard [Elasticsearch restore snapshot API](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/restore-snapshot-api.html) can be used. Note that the Optimize versions of your backup snapshots must match the currently running version of Optimize. You can identify the version at which the backup was taken by the version tag included in respective snapshot names; for example, a snapshot with the name`camunda_optimize_123456_3.9.0_part_1_of_2` was taken of Optimize version `3.9.0`.
+There is no Optimize API to perform the backup restore. Instead, the standard [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/restore-snapshot-api.html) / [OpenSearch](https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot) restore snapshot API can be used. Note that the Optimize versions of your backup snapshots must match the currently running version of Optimize. You can identify the version at which the backup was taken by the version tag included in respective snapshot names; for example, a snapshot with the name`camunda_optimize_123456_3.9.0_part_1_of_2` was taken of Optimize version `3.9.0`.
:::note
Optimize must NOT be running while a backup is being restored.
:::
-To restore an existing backup, all the snapshots this backup contains (as listed in the response of the [create backup API request](#example-response)) must be restored using the Elasticsearch API.
+To restore an existing backup, all the snapshots this backup contains (as listed in the response of the [create backup API request](#example-response)) must be restored using the restore API.
To restore a given backup, the following steps must be performed:
1. Stop Optimize.
-2. Ensure no Optimize indices are present in Elasticsearch (or the restore process will fail).
-3. Iterate over all Elasticsearch snapshots included in the desired backup and restore them using the Elasticsearch restore snapshot API.
+2. Ensure no Optimize indices are present in the database (or the restore process will fail).
+3. Iterate over all ElasticSearch/OpenSearch snapshots included in the desired backup and restore them using the restore snapshot API mentioned above.
4. Start Optimize.
-Example Elasticsearch request:
+Example request:
```shell
curl --request POST `http://localhost:9200/_snapshot/repository_name/camunda_optimize_123456_3.9.0_part_1_of_2/_restore?wait_for_completion=true`
diff --git a/docs/self-managed/setup/deploy/local/c8run.md b/docs/self-managed/setup/deploy/local/c8run.md
index 7684e4269fc..881836191e4 100644
--- a/docs/self-managed/setup/deploy/local/c8run.md
+++ b/docs/self-managed/setup/deploy/local/c8run.md
@@ -36,7 +36,7 @@ If no version of Java is found, follow your chosen installation's instructions f
## Install and start Camunda 8 Run
-1. Download the [latest release of Camunda 8 Run](https://github.com/camunda/camunda/releases/tag/8.7.0-alpha1) for your operating system and architecture. Opening the .tgz file extracts the Camunda 8 Run script into a new directory.
+1. Download the [latest release of Camunda 8 Run](https://github.com/camunda/camunda/releases/tag/8.7.0-alpha2) for your operating system and architecture. Opening the .tgz file extracts the Camunda 8 Run script into a new directory.
2. Navigate to the new `c8run` directory.
3. Start Camunda 8 Run by running `./start.sh` (or `.\c8run.exe start` on Windows) in your terminal.
diff --git a/optimize/self-managed/optimize-deployment/advanced-features/import-guide.md b/optimize/self-managed/optimize-deployment/advanced-features/import-guide.md
index f23cda4b3b0..451ba66436d 100644
--- a/optimize/self-managed/optimize-deployment/advanced-features/import-guide.md
+++ b/optimize/self-managed/optimize-deployment/advanced-features/import-guide.md
@@ -14,17 +14,17 @@ In general, the import assumes the following setup:
- A Camunda engine from which Optimize imports the data.
- The Optimize backend, where the data is transformed into an appropriate format for efficient data analysis.
-- [Elasticsearch](https://www.elastic.co/guide/index.html), which is the database Optimize persists all formatted data to.
+- [Elasticsearch (ES)](https://www.elastic.co/guide/index.html) or [OpenSearch (OS)](https://opensearch.org/), which serves as the database that Optimize uses to persist all of its formatted data.
The following depicts the setup and how the components communicate with each other:
![Optimize Import Structure](img/Optimize-Structure.png)
-Optimize queries the engine data using a dedicated Optimize REST-API within the engine, transforms the data, and stores it in its own Elasticsearch database such that it can be quickly and easily queried by Optimize when evaluating reports or performing analyses. The reason for having a dedicated REST endpoint for Optimize is performance: the default REST-API adds a lot of complexity to retrieve the data from the engine database, which can result in low performance for large data sets.
+Optimize queries the engine data using a dedicated Optimize REST-API within the engine, transforms the data, and stores it in its own database such that it can be quickly and easily queried by Optimize when evaluating reports or performing analyses. The reason for having a dedicated REST endpoint for Optimize is performance: the default REST-API adds a lot of complexity to retrieve the data from the engine database, which can result in low performance for large data sets.
Note the following limitations regarding the data in Optimize's database:
-- The data is only a near real-time representation of the engine database. This means Elasticsearch may not contain the data of the most recent time frame, e.g. the last two minutes, but all the previous data should be synchronized.
+- The data is only a near real-time representation of the engine database. This means the database may not contain the data of the most recent time frame, e.g. the last two minutes, but all the previous data should be synchronized.
- Optimize only imports the data it needs for its analysis. The rest is omitted and won't be available for further investigation. Currently, Optimize imports:
- The history of the activity instances
- The history of the process instances
@@ -47,7 +47,7 @@ This section gives an overview of how fast Optimize imports certain data sets. T
It is very likely that these metrics change for different data sets because the speed of the import depends on how the data is distributed.
-The import is also affected by how the involved components are set up. For instance, if you deploy the Camunda engine on a different machine than Optimize and Elasticsearch to provide both applications with more computation resources, the process is likely to speed up. If the Camunda engine and Optimize are physically far away from each other, the network latency might slow down the import.
+The import is also affected by how the involved components are set up. For instance, if you deploy the Camunda engine on a different machine than Optimize and Elasticsearch/OpenSearch to provide both applications with more computation resources, the process is likely to speed up. If the Camunda engine and Optimize are physically far away from each other, the network latency might slow down the import.
### Setup
@@ -135,7 +135,7 @@ During execution, the following steps are performed:
2. Map entities and add an import job
3. [Execute the import](#execute-the-import).
1. Poll a job
- 2. Persist the new entities to Elasticsearch
+ 2. Persist the new entities to the database
### Start an import round
@@ -175,33 +175,37 @@ First, the `ImportScheduler` retrieves the newest index, which identifies the la
#### Map entities and add an import job
-All fetched entities are mapped to a representation that allows Optimize to query the data very quickly. Subsequently, an import job is created and added to the queue to persist the data in Elasticsearch.
+All fetched entities are mapped to a representation that allows Optimize to query the data very quickly. Subsequently, an import job is created and added to the queue to persist the data in the database.
### Execute the import
Full aggregation of the data is performed by a dedicated `ImportJobExecutor` for each entity type, which waits for `ImportJob` instances to be added to the execution queue. As soon as a job is in the queue, the executor:
- Polls the job with the new Optimize entities
-- Persists the new entities to Elasticsearch
+- Persists the new entities to the database
The data from the engine and Optimize do not have a one-to-one relationship, i.e., one entity type in Optimize may consist of data aggregated from different data types of the engine. For example, the historic process instance is first mapped to an Optimize `ProcessInstance`. However, for the heatmap analysis it is also necessary for `ProcessInstance` to contain all activities that were executed in the process instance.
-Therefore, the Optimize `ProcessInstance` is an aggregation of the engine's historic process instance and other related data: historic activity instance data, user task data, and variable data are all [nested documents](https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html) within Optimize's `ProcessInstance` representation.
+Therefore, the Optimize `ProcessInstance` is an aggregation of the engine's historic process instance and other related data: historic activity instance data, user task data, and variable data are all nested documents ([ES](https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html) / [OS](https://opensearch.org/docs/latest/field-types/supported-field-types/nested/)) within Optimize's `ProcessInstance` representation.
:::note
-Optimize uses [nested documents](https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html), the above mentioned data is an example of documents that are nested within Optimize's `ProcessInstance` index.
+Optimize uses nested documents ([ES](https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html) / [OS](https://opensearch.org/docs/latest/field-types/supported-field-types/nested/)), the above mentioned data is an example of documents that are nested within Optimize's `ProcessInstance` index.
-Elasticsearch applies restrictions regarding how many objects can be nested within one document. If your data includes too many nested documents, you may experience import failures. To avoid this, you can temporarily increase the nested object limit in Optimize's [index configuration](./../configuration/system-configuration.md#index-settings). Note that this might cause memory errors.
+Elasticsearch and OpenSearch apply restrictions regarding how many objects can be nested within one document. If your data includes too many nested documents, you may experience import failures. To avoid this, you can temporarily increase the nested object limit in Optimize's [index configuration](./../configuration/system-configuration.md#index-settings). Note that this might cause memory errors.
:::
Import executions per engine entity are actually independent from another. Each follows a [producer-consumer-pattern](https://dzone.com/articles/producer-consumer-pattern), where the type specific `ImportService` is the single producer and a dedicated single `ImportJobExecutor` is the consumer of its import jobs, decoupled by a queue. So, both are executed in different threads. To adjust the processing speed of the executor, the queue size and the number of threads that process the import jobs can be configured:
+:::note
+Although the parameters below include `ElasticSearch` in their name, they apply to both ElasticSearch and OpenSearch installations. For backward compatibility reasons, the parameters have not been renamed.
+:::
+
```yaml
import:
# Number of threads being used to process the import jobs per data type that are writing
- # data to elasticsearch.
+ # data to the database.
elasticsearchJobExecutorThreadCount: 1
- # Adjust the queue size of the import jobs per data type that store data to elasticsearch.
+ # Adjust the queue size of the import jobs per data type that store data to the database.
# A too large value might cause memory problems.
elasticsearchJobExecutorQueueSize: 5
```
diff --git a/optimize/self-managed/optimize-deployment/configuration/shared-elasticsearch-cluster.md b/optimize/self-managed/optimize-deployment/configuration/shared-elasticsearch-cluster.md
index 70253979927..bb01105678e 100644
--- a/optimize/self-managed/optimize-deployment/configuration/shared-elasticsearch-cluster.md
+++ b/optimize/self-managed/optimize-deployment/configuration/shared-elasticsearch-cluster.md
@@ -18,10 +18,6 @@ The following illustration demonstrates this use case with two Optimize instance
Changing the value of `*.settings.index.prefix` after an instance was already running results in new indexes being created with the new prefix value. There is no support in migrating data between indexes based on different prefixes.
:::
-:::note
-Not all Optimize features are supported when using OpenSearch as a database. For a full list of the features that are currently supported, please refer to the [Camunda 7](https://github.com/camunda/issues/issues/705) and [Camunda 8](https://github.com/camunda/issues/issues/635) OpenSearch features.
-:::
-
\* Elasticsearch index prefix settings path: `es.settings.index.prefix`
\* OpenSearch index prefix settings path: `opensearch.settings.index.prefix`
![Shared Elasticsearch Cluster Setup](img/shared-elasticsearch-cluster.png)
diff --git a/optimize/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md b/optimize/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md
index e5491a96aea..dd3eddf077f 100644
--- a/optimize/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md
+++ b/optimize/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md
@@ -64,16 +64,18 @@ REST API endpoint locations, timeouts, etc.
| import.data.user-task-worker.metadata.maxPageSize | 10000 | The max page size when multiple users or groups are iterated during the metadata refresh. |
| import.data.user-task-worker.metadata.maxEntryLimit | 100000 | The entry limit of the cache that holds the metadata, if you need more entries you can increase that limit. When increasing the limit, keep in mind to account for that by increasing the JVM heap memory as well. Please refer to the "Adjust Optimize heap size" documentation. |
| import.skipDataAfterNestedDocLimitReached | false | Some data can no longer be imported to a given document if its number of nested documents has reached the configured limit. Enable this setting to skip this data during import if the nested document limit has been reached. |
-| import.elasticsearchJobExecutorThreadCount | 1 | Number of threads being used to process the import jobs per data type that are writing data to elasticsearch. |
-| import.elasticsearchJobExecutorQueueSize | 5 | Adjust the queue size of the import jobs per data type that store data to elasticsearch. If the value is too large it might cause memory problems. |
+| import.elasticsearchJobExecutorThreadCount\* | 1 | Number of threads being used to process the import jobs per data type that are writing data to the database. |
+| import.elasticsearchJobExecutorQueueSize\* | 5 | Adjust the queue size of the import jobs per data type that store data to the database. If the value is too large it might cause memory problems. |
| import.handler.backoff.interval | 5000 | Interval in milliseconds which is used for the backoff time calculation. |
| import.handler.backoff.max | 15 | Once all pages are consumed, the import scheduler component will start scheduling fetching tasks in increasing periods of time, controlled by "backoff" counter. |
| import.handler.backoff.isEnabled | true | Tells if the backoff is enabled of not. |
| import.indexType | import-index | The name of the import index type. |
-| import.importIndexStorageIntervalInSec | 10 | States how often the import index should be stored to Elasticsearch. |
+| import.importIndexStorageIntervalInSec | 10 | States how often the import index should be stored to the database. |
| import.currentTimeBackoffMilliseconds | 300000 | This is the time interval the import backs off from the current tip of the time during the ongoing import cycle. This ensures that potentially missed concurrent writes in the engine are reread going back by the amount of this time interval. |
| import.identitySync.includeUserMetaData | true | Whether to include metaData (firstName, lastName, email) when synchronizing users. If disabled only user IDs will be shown on user search and in collection permissions. |
| import.identitySync.collectionRoleCleanupEnabled | false | Whether collection role cleanup should be performed. If enabled, users that no longer exist in the identity provider will be automatically removed from collection permissions. |
| import.identitySync.cronTrigger | `0 */2 * * *` | Cron expression for when the identity sync should run, defaults to every second hour. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here.
For details on the format please refer to:
- [Cron Expression Description](https://en.wikipedia.org/wiki/Cron)
- [Spring Cron Expression Documentation](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html)
|
| import.identitySync.maxPageSize | 10000 | The max page size when multiple users or groups are iterated during the import. |
| import.identitySync.maxEntryLimit | 100000 | The entry limit of the user/group search cache. When increasing the limit, keep in mind to account for this by increasing the JVM heap memory as well. Please refer to the "Adjust Optimize heap size" documentation on how to configure the heap size. |
+
+\* Although this parameter includes `ElasticSearch` in its name, it applies to both ElasticSearch and OpenSearch installations. For backward compatibility reasons, the parameter has not been renamed.
diff --git a/optimize/self-managed/optimize-deployment/configuration/system-configuration.md b/optimize/self-managed/optimize-deployment/configuration/system-configuration.md
index 22b7c67c0e9..97342e02234 100644
--- a/optimize/self-managed/optimize-deployment/configuration/system-configuration.md
+++ b/optimize/self-managed/optimize-deployment/configuration/system-configuration.md
@@ -186,10 +186,6 @@ Define a secured connection to be able to communicate with a secured Elasticsear
These settings are only relevant when operating Optimize with OpenSearch.
-:::note
-Not all Optimize features are supported when using OpenSearch as a database. For a full list of the features that are currently supported, please refer to the [Camunda 7](https://github.com/camunda/issues/issues/705) and [Camunda 8](https://github.com/camunda/issues/issues/635) OpenSearch features.
-:::
-
#### Connection settings
This section details everything related to building the connection to OpenSearch.
@@ -236,10 +232,6 @@ Define a secured connection to be able to communicate with a secured OpenSearch
| -------------------------------- | ------------- | ------------------------------------------------------------------------ |
| opensearch.backup.repositoryName | "" | The name of the snapshot repository to be used to back up Optimize data. |
-:::note
-The backup functionality is not yet supported for OpenSearch.
-:::
-
### Email
Settings for the email server to send email notifications, e.g. when an alert is triggered.
diff --git a/optimize/self-managed/optimize-deployment/install-and-start.md b/optimize/self-managed/optimize-deployment/install-and-start.md
index 2c99ebde0ef..a514fe0b8bf 100644
--- a/optimize/self-managed/optimize-deployment/install-and-start.md
+++ b/optimize/self-managed/optimize-deployment/install-and-start.md
@@ -89,10 +89,6 @@ After that, [configure the database connection](./configuration/getting-started.
#### Getting started with the Optimize Docker image
-:::note
-Not all Optimize features are supported when using OpenSearch as a database. For a full list of the features that are currently supported, please refer to the [Camunda 7](https://github.com/camunda/issues/issues/705) and [Camunda 8](https://github.com/camunda/issues/issues/635) OpenSearch features.
-:::
-
##### Full local setup
To start the Optimize Docker image and connect to an already locally running Camunda 7 as well as Elasticsearch instance you could run the following command:
diff --git a/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/advanced-features/import-guide.md b/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/advanced-features/import-guide.md
index f23cda4b3b0..451ba66436d 100644
--- a/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/advanced-features/import-guide.md
+++ b/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/advanced-features/import-guide.md
@@ -14,17 +14,17 @@ In general, the import assumes the following setup:
- A Camunda engine from which Optimize imports the data.
- The Optimize backend, where the data is transformed into an appropriate format for efficient data analysis.
-- [Elasticsearch](https://www.elastic.co/guide/index.html), which is the database Optimize persists all formatted data to.
+- [Elasticsearch (ES)](https://www.elastic.co/guide/index.html) or [OpenSearch (OS)](https://opensearch.org/), which serves as the database that Optimize uses to persist all of its formatted data.
The following depicts the setup and how the components communicate with each other:
![Optimize Import Structure](img/Optimize-Structure.png)
-Optimize queries the engine data using a dedicated Optimize REST-API within the engine, transforms the data, and stores it in its own Elasticsearch database such that it can be quickly and easily queried by Optimize when evaluating reports or performing analyses. The reason for having a dedicated REST endpoint for Optimize is performance: the default REST-API adds a lot of complexity to retrieve the data from the engine database, which can result in low performance for large data sets.
+Optimize queries the engine data using a dedicated Optimize REST-API within the engine, transforms the data, and stores it in its own database such that it can be quickly and easily queried by Optimize when evaluating reports or performing analyses. The reason for having a dedicated REST endpoint for Optimize is performance: the default REST-API adds a lot of complexity to retrieve the data from the engine database, which can result in low performance for large data sets.
Note the following limitations regarding the data in Optimize's database:
-- The data is only a near real-time representation of the engine database. This means Elasticsearch may not contain the data of the most recent time frame, e.g. the last two minutes, but all the previous data should be synchronized.
+- The data is only a near real-time representation of the engine database. This means the database may not contain the data of the most recent time frame, e.g. the last two minutes, but all the previous data should be synchronized.
- Optimize only imports the data it needs for its analysis. The rest is omitted and won't be available for further investigation. Currently, Optimize imports:
- The history of the activity instances
- The history of the process instances
@@ -47,7 +47,7 @@ This section gives an overview of how fast Optimize imports certain data sets. T
It is very likely that these metrics change for different data sets because the speed of the import depends on how the data is distributed.
-The import is also affected by how the involved components are set up. For instance, if you deploy the Camunda engine on a different machine than Optimize and Elasticsearch to provide both applications with more computation resources, the process is likely to speed up. If the Camunda engine and Optimize are physically far away from each other, the network latency might slow down the import.
+The import is also affected by how the involved components are set up. For instance, if you deploy the Camunda engine on a different machine than Optimize and Elasticsearch/OpenSearch to provide both applications with more computation resources, the process is likely to speed up. If the Camunda engine and Optimize are physically far away from each other, the network latency might slow down the import.
### Setup
@@ -135,7 +135,7 @@ During execution, the following steps are performed:
2. Map entities and add an import job
3. [Execute the import](#execute-the-import).
1. Poll a job
- 2. Persist the new entities to Elasticsearch
+ 2. Persist the new entities to the database
### Start an import round
@@ -175,33 +175,37 @@ First, the `ImportScheduler` retrieves the newest index, which identifies the la
#### Map entities and add an import job
-All fetched entities are mapped to a representation that allows Optimize to query the data very quickly. Subsequently, an import job is created and added to the queue to persist the data in Elasticsearch.
+All fetched entities are mapped to a representation that allows Optimize to query the data very quickly. Subsequently, an import job is created and added to the queue to persist the data in the database.
### Execute the import
Full aggregation of the data is performed by a dedicated `ImportJobExecutor` for each entity type, which waits for `ImportJob` instances to be added to the execution queue. As soon as a job is in the queue, the executor:
- Polls the job with the new Optimize entities
-- Persists the new entities to Elasticsearch
+- Persists the new entities to the database
The data from the engine and Optimize do not have a one-to-one relationship, i.e., one entity type in Optimize may consist of data aggregated from different data types of the engine. For example, the historic process instance is first mapped to an Optimize `ProcessInstance`. However, for the heatmap analysis it is also necessary for `ProcessInstance` to contain all activities that were executed in the process instance.
-Therefore, the Optimize `ProcessInstance` is an aggregation of the engine's historic process instance and other related data: historic activity instance data, user task data, and variable data are all [nested documents](https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html) within Optimize's `ProcessInstance` representation.
+Therefore, the Optimize `ProcessInstance` is an aggregation of the engine's historic process instance and other related data: historic activity instance data, user task data, and variable data are all nested documents ([ES](https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html) / [OS](https://opensearch.org/docs/latest/field-types/supported-field-types/nested/)) within Optimize's `ProcessInstance` representation.
:::note
-Optimize uses [nested documents](https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html), the above mentioned data is an example of documents that are nested within Optimize's `ProcessInstance` index.
+Optimize uses nested documents ([ES](https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html) / [OS](https://opensearch.org/docs/latest/field-types/supported-field-types/nested/)), the above mentioned data is an example of documents that are nested within Optimize's `ProcessInstance` index.
-Elasticsearch applies restrictions regarding how many objects can be nested within one document. If your data includes too many nested documents, you may experience import failures. To avoid this, you can temporarily increase the nested object limit in Optimize's [index configuration](./../configuration/system-configuration.md#index-settings). Note that this might cause memory errors.
+Elasticsearch and OpenSearch apply restrictions regarding how many objects can be nested within one document. If your data includes too many nested documents, you may experience import failures. To avoid this, you can temporarily increase the nested object limit in Optimize's [index configuration](./../configuration/system-configuration.md#index-settings). Note that this might cause memory errors.
:::
Import executions per engine entity are actually independent from another. Each follows a [producer-consumer-pattern](https://dzone.com/articles/producer-consumer-pattern), where the type specific `ImportService` is the single producer and a dedicated single `ImportJobExecutor` is the consumer of its import jobs, decoupled by a queue. So, both are executed in different threads. To adjust the processing speed of the executor, the queue size and the number of threads that process the import jobs can be configured:
+:::note
+Although the parameters below include `ElasticSearch` in their name, they apply to both ElasticSearch and OpenSearch installations. For backward compatibility reasons, the parameters have not been renamed.
+:::
+
```yaml
import:
# Number of threads being used to process the import jobs per data type that are writing
- # data to elasticsearch.
+ # data to the database.
elasticsearchJobExecutorThreadCount: 1
- # Adjust the queue size of the import jobs per data type that store data to elasticsearch.
+ # Adjust the queue size of the import jobs per data type that store data to the database.
# A too large value might cause memory problems.
elasticsearchJobExecutorQueueSize: 5
```
diff --git a/versioned_docs/version-8.6/apis-tools/operate-api/specifications/by-id.api.mdx b/versioned_docs/version-8.6/apis-tools/operate-api/specifications/by-id.api.mdx
index eef02cea212..e1e428e5b1e 100644
--- a/versioned_docs/version-8.6/apis-tools/operate-api/specifications/by-id.api.mdx
+++ b/versioned_docs/version-8.6/apis-tools/operate-api/specifications/by-id.api.mdx
@@ -5,9 +5,9 @@ description: "Get decision instance by id"
sidebar_label: "Get decision instance by id"
hide_title: true
hide_table_of_contents: true
-api: eJzlV1tv2zYU/isCn7bOiZw2HQpjGOAuSqHVsI3YaQcEQUFLxzEbidRIyqkh6L/vHOpix5a9bE8b+iSK537Vp4JZ/mDY4I5dQSSMUDKUxnIZAbvvMZWB5pYuYzZgiw0+eizjmqdgQZNYwSS+IFEQSUg8Zdyu8ByDibTISBovw9hTSy+ubXiiMdJjGv7MhQY0YHUOPWaiFaScDQpmNxlpNlYL+cDK8p6YTaakAUP01/0+PZ4bmuVRBMag4khJC9ISC8+yREQuEv+rIb7i0I5afIXIUoCa4raisoKBHfrSY4+w2bkXaOoBNAovlU65ra5+viROjNTCoY4eA5mnlPnrYTgKrvAi+DQc3Q7n7nw7/jiefB6702wa/BZeh3h/j/pgzZPcxXLVqfgZyzUXSa67uTBOStUVLIUUxPzxxTHVok2vvFyw6YCwO6sNeevT3zCOXfedYPiEfSqqip90783rXam5Yz1esissyCycjL/Mh+9HARJG4Ty4GY6+BH9Mb4IZkfYqt60o1RD7OE/sqdpBHMost2aHh2vNNzRlFlLzrxtXHssY2e2iIMkKm9DV/o5wLjqO1utJbv8bbmOS8wSOtI8jyRi+vagvTmSgCrdiAcml7TR4QgESiXzZtctCicGJ2KMVCcYe32mYwUUC6U//dLfRasrNC2cjxYHnD92pbvd5F9F2DtNuUgKtlW4z8eYwE9dKL0Qcg3yeg1f+q/9/uJeH4d5UBQcqvVG5jsCTynpLlcv4++iCt13zMJyG3k7AHjiB7yAfhCIgyrWwG4e5FsA16DOHQe7we1JgCtSjAPd2v4+9PoA9RF7eYuM5zIZQbqUI3j2ASwWhtwHz1xd+I3PWyBi/EHHJyBm9bvBfrhPkL6rklgPfL1bK2HJQZEpbYl5zLTgWwmWUaFVhl9x9AVmiIp64632/5yvwiECrn9CjxXdqgcr6ucMhaOO5unf9d/1OTcR6RMu2MbZ6VtZmnXoq5k5NDqI2hZoRXxV0U5ztJzETBJmarxqbTBE8zIOzWQsdHJKu5dDD3YK3WmoXnUP0XjGxhvu66dXfP89dXwm5VE687q+JQ/fgTfMFzgyFchiw8rjD0/iwYg0el7EXqTRLgLZTDQPbpqKT16jFWfFShShOUWc7SatVTp2wUspWgIpGF1WTW1UjUVAGu+jp6ek84ikuPH6OBikJ6CQg9ifeOm+j+qa3JxyryLTSQrl3X8MSNKCXfq3I+A4/NACRXZz3z/tVVxmbcrlj6PQIPctZWx4L36yfJRxLWdYOFvV43bH1Bduize2A4eUAVWIbVYNyx4piwQ3c6qQs6Rq/C9oN/Xau3BTGwtAZ53jJEwMHPrUrkv1wU/9w/egd/ynrDKFpXrlhLexirP4VItxWErRdAY+xC8mpijDEBsrsjsjB3xiNTbuGPgRz5OU55anN5V5rO+2d7vzy3jF4c/UI8tfWOUuv5F9Z/gXHqxkU
+api: eJzlV21v2zYQ/ivCfVo7JXLadCiEYoBbK4VWwwlipx0QBAVNnWM2EqmSlFND0H8fjnqxY8tetk8b+skS74V3z734UQmW3RsIb2GEXBihZCyNZZIj3PmgctTM0mECIczXcQI+5EyzDC1qMitBsgwhBEEiISGEnNkl+JCg4VrkZA0hxImnFl7S3OGJ9hIfNH4vhMYEQqsL9MHwJWYMwhLsOifPxmoh76Gq7kjZ5EoaNCR/NRjQz9OLpgXnaAz4wJW0KC2psDxPBXeZBN8M6ZX796j5N+SWEtSUtxX1LSLpicWHB1xvnQtp8R41+LBQOmO2PvrtnDSNZRb3ffiAssgI+YthPI5G4EP0eTi+Gc7c883k0+Tyy8Q9Ta+iD/FFHI3grvIBVywtXC6jXsdPVC6YSAvdr5VrRVCNcCGkIOVPz86pMW175fmGbQfE/ai24k1Mf6M4cd13ROEzaiPqih8N7/WrbauZUz1cslH0IZ7Gl5Ovs+H7cQQ+jONZdD0cf43+vLqOpiTaqdymolRDjaZI7bHaYRLLvLBmS4dpzdY0ZRYz868bVx5CjO7tk1Q+WGFTOtrdES5Ep9FFfVnY/0bYPugixQPt40QywR/P6osjCNTp1ioombS9Fx5xAFVF4vO+XRbLFUtF4tGKRGMP77Rcq3mK2a//dLfRairMM2cjQ2PYfT/U3T7vE9reYdoGJdJa6Q6J1/tIXCg9F0mC8ikGL4OX//90z/fTva4LjlR6owrN0ZPKegtVyOTn6II3ffMwvIq9rYQ9dAY/AR7EIpAXWti141xzZBr1ieMgt3eVXwJX6kGge7vb5V4f0e4zL2++9hxny9AuFdG7e3RQEHsLIVidBa3NSWtjglIkFVAwetXyv0KnEEJZg1uFQVAulbFVWOZKW1JeMS3YPK2xJVld2AVz/4CQKs5Sd7wb92yJHglo9RN7tEv0qAXq208dD1F6x93bwdtBrydSPeBl0xgbP0tr814/tXKvJ0dR20JNSa9Oui3O5i8xF0SZ2n81uLyKroez6GTaUQfHpBu7yn9S8M5LE6ILiN5rJWi1L9pe/ePLzPWVkAvlzJv+unTsHr2rYp4KTqnsJ6w85vi0x7gVK/SYTDyusjxF2k4NDeyaip681u1CaS9TUlhFne0srVYFdcJSKVsTKhpdxl0N60aipEwYBI+Pj6ecZYVM2ClXGYGQCo7SOBwb3MbNib9jnChuOmuh3HugcYEaJcegcWQCxx9agghnp4PTQd1VxmZMbl10fISeYNaVx+IPG+QpE5J8ugDLZrxuYXUGG7a5GTDwIRQJfXrVg3ILZTlnBm90WlV0/L1A7YZ+M1duChNh6DmBcMFSg3sxdSsSfrluPrheeIc/ynpTaJtXrqGjXQDNpxDxtoqo7RJZgtoFVQuGnGNut0z2vsZobLo19DGagQ+sIJw6LHda23nvDefde6fgzdQDyt+74Cy9UnxV9RfHqxkU
sidebar_class_name: "get api-method"
-info_path: docs/apis-tools/operate-api/specifications/operate-public-api
+info_path: versioned_docs/version-8.6/apis-tools/operate-api/specifications/operate-public-api
custom_edit_url: null
hide_send_button: true
---
diff --git a/versioned_docs/version-8.6/apis-tools/operate-api/specifications/by-key-1.api.mdx b/versioned_docs/version-8.6/apis-tools/operate-api/specifications/by-key-1.api.mdx
index 79260b9703a..f36cdf8c8a6 100644
--- a/versioned_docs/version-8.6/apis-tools/operate-api/specifications/by-key-1.api.mdx
+++ b/versioned_docs/version-8.6/apis-tools/operate-api/specifications/by-key-1.api.mdx
@@ -5,9 +5,9 @@ description: "Get process instance by key"
sidebar_label: "Get process instance by key"
hide_title: true
hide_table_of_contents: true
-api: eJzlVllv4zYQ/isEn/ZwLGc3LRZGsYA3cRZu0sSI3e1DEBSUNLa5kUiVpJwagv57Z6jDjq0E3sdi/WDxmHu+4UzBnVhaPrznU6MjsHairBMqAv7Q4zoDI5zUahLzIQ83V7D5+5T3eCaMSMGBIcaCK9zg/SNs8E4qXGbCrXAdg42MzEgCHiI30wuWVXqYbBT1uIF/cmkAlTiTQ4/baAWp4MOCu01GoqVysASDpAttUuGqo1/PeFk+ELvNtLJgiePDYECf56pneUQ6kT/SKEo5IhFZlsjI+xd8t0RXHGrW4XeIHPlsKBpOVlrI12PM83yk+hsGS1Y6XmX6+IGYwixVTT7iHR7rjFRLL1YYdOPqeDM8/WWin250DE2Sj+dHeuMuhINOa0DFL94hZ9cNMeUpAW90Pp98G+PB+e0f0+vxfHxB69HN+fgalw/bGF7AQipJ+Trebky2UO7VIO4B38vmkTRRngjzZu/2rRcqXUKS9kumxF+Pn3UhcKLWIpExI6iDdS8jEX0NE0jf/ygiKcy5PRJfKVotlt35auuy67I6OLjYicnYGG3aSHw8jMSlNqGMY1DPY/AuePf/d/fs0N27KuFAqbc6NxEwpR1b6FzFPwcKfumqh9F0wnYcZuAZfoJ40IsIUW6k2/jmGQI+QubEN5R7fOwKDIF+lOB3D/s99Cu4gwbKwg2rei/25JWmVr0EHwrqwkMerE+Dmuek4bFBgSwlJ2PMumnkuUmQvqiCWw6DoFhp68phkWnjiHgtjBSYCB9RuqsSuxB5QpFMdCQSf7xv93wFjC5oVKAhwOGeIFBp7/vHGHU8F/dp8GnQKYlIX5CyBcZWzsq5rFNORdwpyQ8WTaJmRFc53SSnTbbI5JUPfj0F3U7Hd6P5+GQ2ns0mtzfNRFTzUW/fSXgrpTbRG0T7iog31JcNVn//a+5xJdVCe/YaX7d+UgM2zUOsGXLl0GHNhJ+C8OPkGphQMYt0miVAr9M+qmjFGrFYKyzV2Hs1IdtzOqNzQsJKa1f1cypdFE1mVUAipyyi6OnpqR+JFB880UeFFAQ0EnBiI9o6btf1SW+POdaRbbml9vvAwAKwdUcQ1IJsQFLXzZDFT/uD/qBClXWpUDuKXi+hZzFr0+PgXxdkicBUlrWBRV1e93x9ytsRZVtgeDYkkQijqlDueVGEwsKfJilLOsa+YHzRb+vKV2EsLa2xjhcisXBgU/tE8jd39eD8lr08XHe60IBXbXxVJzntcOlR6f9LGrxWIGKEIVlV3YwQQZnb4TkYoqlu2nfo63iOtCKnQLXB3MO2l95pz29fPAGb60dQn1vrHG3JvrL8DzUuW/w=
+api: eJzlVt9v2zYQ/leIe2o7JXLabiiEYUCWOIWXNAkSr3sIjIGizjYbiVTJkzND0P8+HCU5jq0E2ePQF1sS77uf3/GuBpILD8kdXDur0PuJ8SSNQphFYEt0krQ1kwwSSNfnuP77CCIopZMFEjoG1mBkgZDAPa4hAm0ggVLSEiLI0CunS9YACZzjWti5KFs7QveGInD4vdIOM0jIVRiBV0ssJCQ10Lpk1doQLtBBBHPrCkntp18+QtPMGO5Lazx6RrwfjfjvqenbSrFNiEBZQ2iIRWRZ5lqF+OJvnuXqfcs2/YaKOGbH2SDdWuFYX+NewLHpr+i8bm28CPrwfh80lYstnCenzYKl0rIwfdWyQYlSOjR0/npng/xZbh8ubYY9FV6P9yQdnUrCQW/QZM+eeRo8YVBVMD2PT6aTr2OI4OTqy/XFeDo+5efjy5PxxfgUZg0zT+msq22nJbU2R2m2UnqKc2001/z1UREaaejFFO80T9ANSjtV5dK92Tl9G5RqylnTbts1TdNE8HGIxROzkrnOBLcLenqezaWzaY7FT/+V1VyEyr+SowV6LxfD1dz09tBh+2HvYCsnY+es22Tiw34mzqxLdZaheZqDd/G7/3+4H/fDvWkLjlx6byunUBhLYm4rk/0YLPh5qB+OrydiK2CBAfAD5IPvS1SV07QOAzhF6dAdhKF0N2uiGpS19xrD22x3Dn9G2hvCIl2Ldn4XSEvL436BIRU8yROIV0dxhznoMT6u73HdADvjVv0yULkcEqjb5DZJHNdL66lJ6tI6YuGVdFqmeZtbPmsLO5dVzpnMrZJ5+Lzr93SJgg943eBFgpYomAKt9cNwGVu3o+7T6NNoUBOLPqPlkRiPepZE5aCeVnhQU1hO+kLdslwbdF+cTbFlqc9D8rtN6up6fHM8HR/cjm9vJ1eX/VbV4XjybxV8o6VzMTgUhl8Qgl76rOfqH39NA6+0mdsA7/h1FbY9FNdVmmvFoewHbIUMm5SQivQKhTSZULYoc+TbaZdV/CR6tXPrRGGNJsvMDkhytmImLK2ldtpz60oVatgSiYPySRw/PDwcKllUJpOHyhachFwrND7kscvbRfcl2gFnVvkNWtvwHjuco0OjMO4U+Zi1rvpFDY4OR4ejllWeCmm2DL3cQk9ytikP4T8Ul7nUYR0JDtZde93B6gg2K8pjg0EECaucRV2j3EFdp9Ljny5vGv78vUIXmv6xr0IXZtrzcwbJXOYe93zaXJHw5qZbvt+K5xf0wRB68pp16Oq84jeI2t04/Da8li1RZuiCV+3JsVJY0hZmbxHnvtncQ5/HU4hAVpyox8XuKbeD9kF/fv09CIipvUfz28Y74lf2r2n+BXkpdA4=
sidebar_class_name: "get api-method"
-info_path: docs/apis-tools/operate-api/specifications/operate-public-api
+info_path: versioned_docs/version-8.6/apis-tools/operate-api/specifications/operate-public-api
custom_edit_url: null
hide_send_button: true
---
@@ -40,7 +40,7 @@ Get process instance by key
Success
-