From 830619409ba8f192a74f9d4bfe111a84c5662a29 Mon Sep 17 00:00:00 2001 From: Tarun Rao Date: Thu, 18 Jun 2026 20:25:19 +0530 Subject: [PATCH 1/2] NO-TICKET: Add getDefaultPreviousValue hook to IdentifiedObjectStore --- .../objectstore/IdentifiedObjectStore.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/config-object-store/src/main/java/org/hypertrace/config/objectstore/IdentifiedObjectStore.java b/config-object-store/src/main/java/org/hypertrace/config/objectstore/IdentifiedObjectStore.java index 5e53bca2a3..1c0a0b9c00 100644 --- a/config-object-store/src/main/java/org/hypertrace/config/objectstore/IdentifiedObjectStore.java +++ b/config-object-store/src/main/java/org/hypertrace/config/objectstore/IdentifiedObjectStore.java @@ -86,6 +86,10 @@ protected String buildClassNameForChangeEvent(T data) { return data.getClass().getName(); } + protected Optional getDefaultPreviousValue(RequestContext requestContext, T data) { + return Optional.empty(); + } + protected List> orderFetchedObjects( List> objects) { return objects; @@ -279,7 +283,7 @@ private Optional> processUpsertResult( if (response.hasPrevConfig()) { tryReportUpdate(requestContext, result, response.getPrevConfig()); } else { - tryReportCreation(requestContext, result); + reportCreationOrDefaultUpdate(requestContext, result); } }); return optionalResult; @@ -295,12 +299,23 @@ private Optional> processUpsertResult( if (upsertedConfig.hasPrevConfig()) { tryReportUpdate(requestContext, result, upsertedConfig.getPrevConfig()); } else { - tryReportCreation(requestContext, result); + reportCreationOrDefaultUpdate(requestContext, result); } }); return optionalResult; } + private void reportCreationOrDefaultUpdate( + RequestContext requestContext, ContextualConfigObject result) { + Optional defaultPreviousValue = + getDefaultPreviousValue(requestContext, result.getData()); + if (defaultPreviousValue.isPresent()) { + tryReportUpdate(requestContext, result, defaultPreviousValue.get()); + } else { + tryReportCreation(requestContext, result); + } + } + private DeletedContextualConfigObject processDeleteResult( RequestContext requestContext, ContextSpecificConfig deletedConfig) { DeletedContextualConfigObject deletedContextualConfigObject = From 9444f5f88bff673601ff098b6520da10e8498530 Mon Sep 17 00:00:00 2001 From: Tarun Rao Date: Thu, 18 Jun 2026 20:37:59 +0530 Subject: [PATCH 2/2] NO-TICKET: Add missing transitive config-service-api locks for runtime classpath --- config-service/gradle.lockfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config-service/gradle.lockfile b/config-service/gradle.lockfile index 93520b694b..ab8c268c76 100644 --- a/config-service/gradle.lockfile +++ b/config-service/gradle.lockfile @@ -105,6 +105,10 @@ org.eclipse.jetty:jetty-util:11.0.26=integrationTestRuntimeClasspath,runtimeClas org.hamcrest:hamcrest:2.1=integrationTestRuntimeClasspath org.hdrhistogram:HdrHistogram:2.2.2=integrationTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.hypertrace.bom:hypertrace-bom:0.3.74=compileClasspath,integrationTestCompileClasspath,integrationTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.hypertrace.config.service:label-application-rule-config-service-api:0.1.74=integrationTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +org.hypertrace.config.service:labels-config-service-api:0.1.74=integrationTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +org.hypertrace.config.service:spaces-config-service-api:0.1.74=integrationTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath +org.hypertrace.config.service:span-processing-config-service-api:0.1.74=integrationTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.hypertrace.core.documentstore:document-store:0.8.6=integrationTestCompileClasspath,integrationTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.hypertrace.core.eventstore:event-store:0.1.5=integrationTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath org.hypertrace.core.grpcutils:grpc-client-rx-utils:0.13.22=integrationTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath