From 27064c917741bb8a253422a1eeda4fd5061a1de3 Mon Sep 17 00:00:00 2001 From: Suzanne Vogt <suzanne.vogt@datacite.org> Date: Fri, 8 Apr 2022 16:39:42 -0400 Subject: [PATCH] Issue #794 - ES - DOIs Deposited in the Wrong Index (cleanup) --- app/models/concerns/indexable.rb | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/app/models/concerns/indexable.rb b/app/models/concerns/indexable.rb index 90fb2e713..d9e4f51cf 100644 --- a/app/models/concerns/indexable.rb +++ b/app/models/concerns/indexable.rb @@ -1208,9 +1208,8 @@ def active_index alias_name = index_name client = Elasticsearch::Model.client - h = client.indices.get_alias(name: alias_name) - - if h && (!h.key?(:error) && !h.key?("error")) + begin + h = client.indices.get_alias(name: alias_name) if h.size == 1 ret = h.keys.first @@ -1227,6 +1226,8 @@ def active_index ret = h.keys.first end end + rescue Elasticsearch::Transport::Transport::Errors::NotFound => e + Rails.logger.error e.message end ret @@ -1234,11 +1235,18 @@ def active_index # Return the inactive index, i.e. the index that is not aliased def inactive_index + ret = nil + active_index = self.active_index - index_name = self.index_name + "_v1" - alternate_index_name = self.index_name + "_v2" - active_index.end_with?("v1") ? alternate_index_name : index_name + if !active_index.nil? + index_name = self.index_name + "_v1" + alternate_index_name = self.index_name + "_v2" + + ret = active_index.end_with?("v1") ? alternate_index_name : index_name + end + + ret end # create index template