Config Sync Plugin provides a feature to distribute files, such as script or dictionary file, to nodes in your cluster. These files are managed in .configsync index, and each node sync up with them.
Please file an issue.
$ $OPENSEARCH_HOME/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-configsync:1.2.0
$ curl -XPOST -H 'Content-Type:application/json' localhost:9200/_configsync/file?path=user-dict.txt --data-binary @user-dict.txt
The above request is to add file info to .configsync index. path parameter is a synced file location under $OPENSEARCH_CONF directory(ex. /etc/opensearch/user-dict.txt).
Send GET request without path parameter:
$ curl -XGET -H 'Content-Type:application/json' localhost:9200/_configsync/file
{"acknowledged":true,"path":["user-dict.txt"]}
Send GET request with path parameter:
$ curl -XGET -H 'Content-Type:application/json' localhost:9200/_configsync/file?path=user-dict.txt
Send DELETE request with path parameter:
$ curl -XDELETE -H 'Content-Type:application/json' localhost:9200/_configsync/file?path=user-dict.txt
Each node copies a file from .configsync index periodically if the file is updated. The interval time is specified by configsync.flush_interval in /etc/elasticserch/opensearch.yml. The default value is 1m.
configsync.flush_interval: 1m
To restart a scheduler for checking .configsync index, send POST request as below:
$ curl -XPOST -H 'Content-Type:application/json' localhost:9200/_configsync/reset