Replies: 8 comments
-
As long as you are able to query and add new datasets, I don't see any issues with this. Indices generated for ES6 can be read by ES7 with no issues, so theres no risk that you are going to lose data by using ES6 for longer. I would expect a few places in the code to need some tweaking to maintain ES6 compatibility, the biggest place we needed to make changes was with mappings, as the mapping endpoints changed from returning
We don't generally support backwards compatibility as it increases code complexity and makes maintenance harder, so I don't expect we would want to merge that PR. However, if you want to put up a PR that we will then close so other users can use that as a reference, please feel free!
We did not do rolling updates. We deploy elasticsearch in GCP and have our data on persistent disks, so we snapshotted those disks and then deployed a new ES7 instance backed by those disks. We did this because it allowed us to have ES6 and ES7 running in parallel for testing purposes, and it meant that the switchover from 6 to 7 was very fast with minimal down time. |
Beta Was this translation helpful? Give feedback.
-
We managed to create a new ES7 cluster using persistent volumes backed by existing persistent disks (as suggested above). These disks are snapshots of disks from our old ES6 instance. The new ES7 cluster is up and running but returns no indices when I run |
Beta Was this translation helpful? Give feedback.
-
You need to make sure the data is in the correct location. Is you are using kubernetes or if you use the docker-compose file we provide, your data has to be mounted to As a warning, when we were spinning up the new clusters off of the persistent disks we needed to go into the data folders on the disks and delete the |
Beta Was this translation helpful? Give feedback.
-
Thanks for your help @hanars and pointing me in the right direction. Here are my findings:
containers:
- name: elasticsearch
...
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: elasticsearch-data
subPath: data
... The
|
Beta Was this translation helpful? Give feedback.
-
Oh sorry for not thinking of this, we actually also had this problem. We solved it by mounting 2 persistent disks to each data node, the one with the old data and a blank one. Then we used |
Beta Was this translation helpful? Give feedback.
-
Another question we had is how Seqr should communicate with this Kubernetes cluster. I can see an Internal Load Balancer Service ( We created another Internal Load Balancer but selecting all nodes and it seems to work so want some clarification on how the Elasticsearch cluster was intended to be used. |
Beta Was this translation helpful? Give feedback.
-
we created that load balancer for data loading, so we would have a stable IP address to use for out loading jobs that wouldn't need to be reset whenever elasticsearch redeployed, as we run the loading pipeline in a separate kubernetes cluster which therefore can't directly access the pods. ECk will automatically create a kubernetes service named |
Beta Was this translation helpful? Give feedback.
-
I see. Our setup is a bit different, we use Kubernetes for ES and the rest uses docker-compose. Both Seqr (Django) and our loading pipeline will access Elasticsearch cluster the same way (i.e. via docker-compose) so we'll just create one load balancer for both Seqr and the loading pipeline. Thanks for your help and clarifications. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the bug
This is not a bug report but more a support/help request. We at MCRI recently merged latest upstream (this repo) into our forked repo (up to inclusive commit d86fb91).
Last time we did this was around 4 months ago. A major change within these 4 months is the upgrade from Elasticsearch 6 to 7 as described here. So far our merging and testing has been pretty good. Thanks very much for all your hard work in the ongoing development and improvement to Seqr and making it all freely available!
We had to make a couple of changes in the
seqr.utils.elasticsearch
modules to ensure backwards compatibility with our ES 6 instance. We do have plans to upgrade to ES 7 as we feel matching upstream as close as possible is important for maintainability. However, we may do that separately. We have a few questions regarding using latest Seqr codebase with ES 6 and upgrading to ES 7 in general.and cannot identify anything major. More important is that I've done some manual testing to ensure latest codebase can query our MCRI Elasticsearch 6 cluster fine.
to upgrade our ES 6 (6.3) cluster to match upstream (7.8). Were there anything to watch for when upgrading?
Beta Was this translation helpful? Give feedback.
All reactions