If you want to start a forcemerge via the Opensearch Dashboard as it says in the instructions: https://opensearch.org/docs/latest/dashboards/im-dashboards/forcemerge then the message appears that the forcemerge has been started, but in reality no one was triggered on the cluster. After some seconds a successful message appears.. If you run the forcemerge via the dev console, it will be executed on the cluster, but will run into a timeout in the dev console. If you run the forcemerge with the same technical user trought the API directly to the cluster, everythings works as expected. I have the feeling that something is being transmitted incorrectly between opensearch dashboard and opensearch cluster. User has "indices:*" index_allowed_actions.
The opensearch dashboard logs are a little bit confused. When the User has "indices:*" under index_allowed_actions I received following message:
Index Management - CommonService - apiCaller StatusCodeError: [status_exception] lronConfig LRON:indices:admin/forcemerge not found
at respond (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/transport.js:349:15)
at checkRespForFailure (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/transport.js:306:7)
at HttpConnector. (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/connectors/http.js:173:7)
at IncomingMessage.wrapper (/usr/share/opensearch-dashboards/node_modules/lodash/lodash.js:4991:19) at IncomingMessage.emit (node:events:525:35)
at IncomingMessage.emit (node:domain:489:12)
at endReadableNT (node:internal/streams/readable:1359:12)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
status: 404,
displayName: 'NotFound',
path: '/_plugins/_im/lron/LRON%3Aindices%3Aadmin%2Fforcemerge',
query: undefined,
body: {
error: {
root_cause: [Array],
type: 'status_exception',
reason: 'lronConfig LRON:indices:admin/forcemerge not found'
},
status: 404 },
statusCode: 404,
response: '{"error":{"root_cause":[{"type":"status_exception","reason":"lronConfig LRON:indices:admin/forcemerge not found"}],"type":"status_exception","reason":"lronConfig LRON:indices:admin/forcemerge not found"},"status":404}',
toString: [Function (anonymous)],
toJSON: [Function (anonymous)]}
What the heck is LRON? When the user has "indices_all" under index_allowed_actions then I receive the following message:
Index Management - CommonService - apiCaller StatusCodeError: [index_not_found_exception] no such index [.opensearch-control-center], with { index=".opensearch-control-center" & resource.id=".opensearch-control-center" & resource.type="index_expression" & index_uuid="na" }
at respond (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/transport.js:349:15)
at checkRespForFailure (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/transport.js:306:7)
at HttpConnector. (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/connectors/http.js:173:7)
at IncomingMessage.wrapper (/usr/share/opensearch-dashboards/node_modules/lodash/lodash.js:4991:19)
at IncomingMessage.emit (node:events:525:35)
at IncomingMessage.emit (node:domain:489:12)
at endReadableNT (node:internal/streams/readable:1359:12)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
status: 404,
displayName: 'NotFound',
path: '/_plugins/_im/lron/LRON%3Aindices%3Aadmin%2Fforcemerge',
query: undefined,
body: {
error: {
root_cause: [Array],
type: 'index_not_found_exception',
reason: 'no such index [.opensearch-control-center]',
index: '.opensearch-control-center',
'resource.id': '.opensearch-control-center',
'resource.type': 'index_expression',
index_uuid: 'na'
},
status: 404
},
statusCode: 404,
response: '{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index [.opensearch-control-center]","index":".opensearch-control-center","resource.id":".opensearch-control-center","resource.type":"index_expression","index_uuid":"na"}],"type":"index_not_found_exception","reason":"no such index [.opensearch-control-center]","index":".opensearch-control-center","resource.id":".opensearch-control-center","resource.type":"index_expression","index_uuid":"na"},"status":404}',
toString: [Function (anonymous)],
toJSON: [Function (anonymous)]}
I don't now what the difference between these permissions are (as documented these should identically), but I think something is completely Bug! It would be very nice to get some help to solve these problems.
Describe the bug
If you want to start a forcemerge via the Opensearch Dashboard as it says in the instructions: https://opensearch.org/docs/latest/dashboards/im-dashboards/forcemerge then the message appears that the forcemerge has been started, but in reality no one was triggered on the cluster. After some seconds a successful message appears.. If you run the forcemerge via the dev console, it will be executed on the cluster, but will run into a timeout in the dev console. If you run the forcemerge with the same technical user trought the API directly to the cluster, everythings works as expected. I have the feeling that something is being transmitted incorrectly between opensearch dashboard and opensearch cluster. User has "indices:*" index_allowed_actions.
The opensearch dashboard logs are a little bit confused. When the User has "indices:*" under index_allowed_actions I received following message:
Index Management - CommonService - apiCaller StatusCodeError: [status_exception] lronConfig LRON:indices:admin/forcemerge not found at respond (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/transport.js:349:15) at checkRespForFailure (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/transport.js:306:7) at HttpConnector. (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/connectors/http.js:173:7)
at IncomingMessage.wrapper (/usr/share/opensearch-dashboards/node_modules/lodash/lodash.js:4991:19) at IncomingMessage.emit (node:events:525:35)
at IncomingMessage.emit (node:domain:489:12)
at endReadableNT (node:internal/streams/readable:1359:12)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
status: 404,
displayName: 'NotFound',
path: '/_plugins/_im/lron/LRON%3Aindices%3Aadmin%2Fforcemerge',
query: undefined,
body: {
error: {
root_cause: [Array],
type: 'status_exception',
reason: 'lronConfig LRON:indices:admin/forcemerge not found'
},
status: 404 },
statusCode: 404,
response: '{"error":{"root_cause":[{"type":"status_exception","reason":"lronConfig LRON:indices:admin/forcemerge not found"}],"type":"status_exception","reason":"lronConfig LRON:indices:admin/forcemerge not found"},"status":404}',
toString: [Function (anonymous)],
toJSON: [Function (anonymous)]}
What the heck is LRON? When the user has "indices_all" under index_allowed_actions then I receive the following message:
Index Management - CommonService - apiCaller StatusCodeError: [index_not_found_exception] no such index [.opensearch-control-center], with { index=".opensearch-control-center" & resource.id=".opensearch-control-center" & resource.type="index_expression" & index_uuid="na" } at respond (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/transport.js:349:15) at checkRespForFailure (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/transport.js:306:7) at HttpConnector. (/usr/share/opensearch-dashboards/node_modules/elasticsearch/src/lib/connectors/http.js:173:7)
at IncomingMessage.wrapper (/usr/share/opensearch-dashboards/node_modules/lodash/lodash.js:4991:19)
at IncomingMessage.emit (node:events:525:35)
at IncomingMessage.emit (node:domain:489:12)
at endReadableNT (node:internal/streams/readable:1359:12)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
status: 404,
displayName: 'NotFound',
path: '/_plugins/_im/lron/LRON%3Aindices%3Aadmin%2Fforcemerge',
query: undefined,
body: {
error: {
root_cause: [Array],
type: 'index_not_found_exception',
reason: 'no such index [.opensearch-control-center]',
index: '.opensearch-control-center',
'resource.id': '.opensearch-control-center',
'resource.type': 'index_expression',
index_uuid: 'na'
},
status: 404
},
statusCode: 404,
response: '{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index [.opensearch-control-center]","index":".opensearch-control-center","resource.id":".opensearch-control-center","resource.type":"index_expression","index_uuid":"na"}],"type":"index_not_found_exception","reason":"no such index [.opensearch-control-center]","index":".opensearch-control-center","resource.id":".opensearch-control-center","resource.type":"index_expression","index_uuid":"na"},"status":404}',
toString: [Function (anonymous)],
toJSON: [Function (anonymous)]}
I don't now what the difference between these permissions are (as documented these should identically), but I think something is completely Bug! It would be very nice to get some help to solve these problems.
To Reproduce Steps to reproduce the behavior:
See instructions here: https://opensearch.org/docs/latest/dashboards/im-dashboards/forcemerge
Expected behavior A forcemerge will be triggered at the cluster and I can see the forcemerge in the thread pools or in the queue at the clusters.
OpenSearch Version 2.11.0
Dashboards Version 2.11.0
Plugins
Screenshots
Host/Environment (please complete the following information):
Additional context