This repository has been archived by the owner on Jun 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 90
Secure VueStorefrontIndexer reindexing #308
Comments
I've also found this article which suggest before launching a bulk operation to update If you have replicas, they also suggest to disable replication when running bulk operations, set it to I've done several tests to test those settings. Best result so far is setting Setup
|
camilloop
pushed a commit
to camilloop/magento2-vsbridge-indexer
that referenced
this issue
Jul 10, 2020
camilloop
pushed a commit
to camilloop/magento2-vsbridge-indexer
that referenced
this issue
Jul 10, 2020
camilloop
pushed a commit
to camilloop/magento2-vsbridge-indexer
that referenced
this issue
Jul 10, 2020
camilloop
pushed a commit
to camilloop/magento2-vsbridge-indexer
that referenced
this issue
Jul 13, 2020
camilloop
pushed a commit
to camilloop/magento2-vsbridge-indexer
that referenced
this issue
Jul 17, 2020
camilloop
pushed a commit
to camilloop/magento2-vsbridge-indexer
that referenced
this issue
Jul 19, 2020
camilloop
pushed a commit
to camilloop/magento2-vsbridge-indexer
that referenced
this issue
Jul 24, 2020
afirlejczyk
added a commit
that referenced
this issue
Jul 24, 2020
…-reindexing Secure vsbridge reindexing #308
Changes are available in master branch. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
First of all, I'm not an Elasticsearch expert, maybe there are shortcuts with the API calls. I'm just trying to make things working better than it's actually.
Vsfbridge reindexing job is actually not checking Elasticsearch status neither it's queue thread on bulk operations before sending more operations to update your data.
GET /_cat/health?format=json
Response
{ "epoch": "1594120992", "timestamp": "13:23:12", "cluster": "es-xxxxxxxx", "status": "green", "node.total": "6", "node.data": "3", "shards": "334", "pri": "167", "relo": "0", "init": "0", "unassign": "0", "pending_tasks": "0", "max_task_wait_time": "-", "active_shards_percent": "100.0%" }
If it's green we can proceed otherwise we stop reindex job.
As you can see, this endpoint also provides us the pending tasks.
GET /_cat/master?format=json
Response
[ { "id": "xxxxxxx", "host": "10.21.30.47", "ip": "10.21.30.47", "node": "yyyyy" } ]
GET /_cat/thread_pool?format=json
Response
[ { "node_name": "x-1", "name": "bulk", "active": "0", "queue": "0", "rejected": "0" }, { "node_name": "x-2", "name": "bulk", "active": "0", "queue": "0", "rejected": "0" }, { "node_name": "x-3", "name": "bulk", "active": "0", "queue": "0", "rejected": "0" }, { "node_name": "x-4", "name": "bulk", "active": "0", "queue": "0", "rejected": "0" }, { "node_name": "x-5", "name": "bulk", "active": "0", "queue": "0", "rejected": "0" }, { "node_name": "x-6", "name": "bulk", "active": "0", "queue": "0", "rejected": "0" } ]
Part the result to get your master one.
GET _nodes/xxxxx/thread_pool
wherexxxxx
is your master nodeParse result to get the
bulk queue_size
.If pending tasks + batch indexer size (VueStorefrontIndexer indices setting) are lower than max bulk queue size master node, it means we are healthy and we can proceed.
As bulk operations are in a loop, we can implement an error log if load is too high.
The text was updated successfully, but these errors were encountered: