From 401d4f71efff9d8e96550d5cbd9e1e6162416322 Mon Sep 17 00:00:00 2001 From: Patrick Werner Date: Thu, 9 Oct 2025 13:39:43 +0200 Subject: [PATCH 1/4] feat: add configuration for marking resources for reindexing upon search parameter change --- .../java/ca/uhn/fhir/jpa/starter/AppProperties.java | 10 ++++++++++ .../jpa/starter/common/FhirServerConfigCommon.java | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java index f10f693..fc1f318 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java @@ -118,6 +118,7 @@ public class AppProperties { private Map remote_terminology_service = null; private Boolean match_url_cache_enabled = false; private Boolean index_storage_optimized = false; + private Boolean mark_resources_for_reindexing_upon_search_parameter_change = true; public List getCustomInterceptorClasses() { return custom_interceptor_classes; @@ -785,6 +786,15 @@ public class AppProperties { index_storage_optimized = theIndex_storage_optimized; } + public Boolean getMark_resources_for_reindexing_upon_search_parameter_change() { + return mark_resources_for_reindexing_upon_search_parameter_change; + } + + public void setMark_resources_for_reindexing_upon_search_parameter_change( + Boolean mark_resources_for_reindexing_upon_search_parameter_change) { + this.mark_resources_for_reindexing_upon_search_parameter_change = mark_resources_for_reindexing_upon_search_parameter_change; + } + public JpaStorageSettings.StoreMetaSourceInformationEnum getStore_meta_source_information() { return store_meta_source_information; } diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java b/src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java index f28a2c6..ffc7515 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java @@ -187,6 +187,8 @@ public class FhirServerConfigCommon { jpaStorageSettings.setSchedulingDisabled(!appProperties.getDao_scheduling_enabled()); jpaStorageSettings.setIndexStorageOptimized(appProperties.getIndex_storage_optimized()); jpaStorageSettings.setMatchUrlCacheEnabled(appProperties.getMatch_url_cache_enabled()); + jpaStorageSettings.setMarkResourcesForReindexingUponSearchParameterChange( + appProperties.getMark_resources_for_reindexing_upon_search_parameter_change()); jpaStorageSettings.setDeleteEnabled(appProperties.getDelete_enabled()); jpaStorageSettings.setDeleteExpungeEnabled(appProperties.getDelete_expunge_enabled()); jpaStorageSettings.setExpungeEnabled(appProperties.getExpunge_enabled()); From 41402d23289db21b31a59983ceb28c7faab860f0 Mon Sep 17 00:00:00 2001 From: Patrick Werner Date: Thu, 9 Oct 2025 13:53:52 +0200 Subject: [PATCH 2/4] fix formatting --- src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java index fc1f318..2314844 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java @@ -792,7 +792,8 @@ public class AppProperties { public void setMark_resources_for_reindexing_upon_search_parameter_change( Boolean mark_resources_for_reindexing_upon_search_parameter_change) { - this.mark_resources_for_reindexing_upon_search_parameter_change = mark_resources_for_reindexing_upon_search_parameter_change; + this.mark_resources_for_reindexing_upon_search_parameter_change = + mark_resources_for_reindexing_upon_search_parameter_change; } public JpaStorageSettings.StoreMetaSourceInformationEnum getStore_meta_source_information() { From 159f1eb3e13bdfe8efd851baf603e6dafdd7f65a Mon Sep 17 00:00:00 2001 From: Patrick Werner Date: Thu, 30 Oct 2025 16:56:09 +0100 Subject: [PATCH 3/4] add missing property in application.yaml --- src/main/resources/application.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 5dff60e..c0dff53 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -283,6 +283,7 @@ hapi: # Defaults to Runtime.getRuntime().availableProcessors() if not specified # reindex_thread_count: 4 # Number of threads to use for reindex operations # expunge_thread_count: 4 # Number of threads to use for expunge operations + # mark_resources_for_reindexing_upon_search_parameter_change: false # ------------------------------------------------------------------------------- # G. Narrative & Validation From cc42e0afe7771e8690851e00a99b68c5f5cd308b Mon Sep 17 00:00:00 2001 From: Patrick Werner Date: Fri, 31 Oct 2025 09:43:54 +0100 Subject: [PATCH 4/4] Update src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java index d30d33e..aefaaa1 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java @@ -812,8 +812,8 @@ public class AppProperties { index_storage_optimized = theIndex_storage_optimized; } - public Boolean getMark_resources_for_reindexing_upon_search_parameter_change() { - return mark_resources_for_reindexing_upon_search_parameter_change; + public boolean getMark_resources_for_reindexing_upon_search_parameter_change() { + return defaultIfNull(mark_resources_for_reindexing_upon_search_parameter_change, true); } public void setMark_resources_for_reindexing_upon_search_parameter_change(