I'm following the instructions for changelog 0087 and am running into issues:
In step 4, I updated my public.yml -
ELASTICSEARCH_MAJOR_VERSION: 6 (it was 5)
I also added these lines that were missing under the localsettings: block:
ES_APPS_INDEX_MULTIPLEXED: True
ES_CASE_SEARCH_INDEX_MULTIPLEXED: True
ES_CASES_INDEX_MULTIPLEXED: True
ES_DOMAINS_INDEX_MULTIPLEXED: True
ES_FORMS_INDEX_MULTIPLEXED: True
ES_GROUPS_INDEX_MULTIPLEXED: True
ES_SMS_INDEX_MULTIPLEXED: True
ES_USERS_INDEX_MULTIPLEXED: True
ES_APPS_INDEX_SWAPPED: False
ES_CASE_SEARCH_INDEX_SWAPPED: False
ES_CASES_INDEX_SWAPPED: False
ES_DOMAINS_INDEX_SWAPPED: False
ES_FORMS_INDEX_SWAPPED: False
ES_GROUPS_INDEX_SWAPPED: False
ES_SMS_INDEX_SWAPPED: False
ES_USERS_INDEX_SWAPPED: False
Both step 5 commands aren't running:
cchq django-manage update_config
cchq django-manage restart_services
I assume the first command should be
cchq <env> update-config
For the second command, I used:
cchq <env> downtime start
...followed by:
cchq <env> downtime end
For step 6, the reindex fails for all indices with:
(python_env-3.9) (monolith) cchq@monolith:~/www/monolith/current$ INDEX_CNAME='apps'
(python_env-3.9) (monolith) cchq@monolith:~/www/monolith/current$ ./manage.py elastic_sync_multiplexed start ${INDEX_CNAME}
Traceback (most recent call last):
File "/home/cchq/www/monolith/releases/2025-05-11_05.59/./manage.py", line 172, in <module>
main()
File "/home/cchq/www/monolith/releases/2025-05-11_05.59/./manage.py", line 50, in main
execute_from_command_line(sys.argv)
File "/home/cchq/www/monolith/releases/2025-05-11_05.59/python_env/lib/python3.9/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
utility.execute()
File "/home/cchq/www/monolith/releases/2025-05-11_05.59/python_env/lib/python3.9/site-packages/django/core/management/__init__.py", line 436, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/cchq/www/monolith/releases/2025-05-11_05.59/python_env/lib/python3.9/site-packages/django/core/management/base.py", line 412, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/cchq/www/monolith/releases/2025-05-11_05.59/python_env/lib/python3.9/site-packages/django/core/management/base.py", line 458, in execute
output = self.handle(*args, **options)
File "/home/cchq/www/monolith/releases/2025-05-11_05.59/corehq/apps/es/management/commands/elastic_sync_multiplexed.py", line 624, in handle
cmd_func(
File "/home/cchq/www/monolith/releases/2025-05-11_05.59/corehq/apps/es/management/commands/elastic_sync_multiplexed.py", line 50, in start_reindex
raise IndexNotMultiplexedException("""Index not multiplexed!
corehq.apps.es.exceptions.IndexNotMultiplexedException: Index not multiplexed!
Sync can only be run on multiplexed indices
I recall having this issue previously with the upgrade to ES 5 in Jan 2024. See here:
The response at that time was: "Since you have started the system in November (2023) and around that time the indices were already multiplexed so all data was successfully populated in your secondary indices. It means you don't need to reindex process on this server. You can straightaway go with the ES 5 upgrade process and follow this changelog"
Would that apply here? I just find it odd that if indices are already multiplexed that the error indicated that they are not.
Thanks!