From 50901e6c960e563254090e074a8cb31f9985f05d Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 23 Jun 2025 13:47:34 +0000 Subject: [PATCH 1/2] update --- .../serving/ServingEndpointsDataPlaneImpl.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingEndpointsDataPlaneImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingEndpointsDataPlaneImpl.java index 46e61fdc8..588b0e971 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingEndpointsDataPlaneImpl.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingEndpointsDataPlaneImpl.java @@ -10,6 +10,7 @@ import com.databricks.sdk.core.oauth.Token; import com.databricks.sdk.support.Generated; import java.io.IOException; +import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; /** Package-local implementation of ServingEndpointsDataPlane */ @@ -37,11 +38,15 @@ private DataPlaneInfo dataPlaneInfoQuery(QueryEndpointInput request) { return infos.computeIfAbsent( key, - k -> { - ServingEndpointDetailed response = - servingEndpointsAPI.get(new GetServingEndpointRequest().setName(request.getName())); - return response.getDataPlaneInfo().getQueryInfo(); - }); + k -> + Optional.of(new GetServingEndpointRequest().setName(request.getName())) + .map(r -> servingEndpointsAPI.get(r)) + .map(r -> r.getDataPlaneInfo()) + .map(r -> r.getQueryInfo()) + .orElseThrow( + () -> + new DatabricksException( + "Could not find route optimized data plane info for: " + key))); } @Override From 200b55938e78bfe2b3062af342bd7f65d3af6c44 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 23 Jun 2025 13:51:03 +0000 Subject: [PATCH 2/2] changelogs --- NEXT_CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 47776d949..a58fc01d6 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -10,7 +10,10 @@ ### Internal Changes +* The route-optimized query method now returns a descriptive error instead of a NullPointerException when called on a non-optimized endpoint. + ### API Changes + * Added `workspaceClient.aiBuilder()` service. * Added `workspaceClient.featureStore()` service and `workspaceClient.materializedFeatures()` service. * Added `deleteConversation()`, `listConversations()` and `trashSpace()` methods for `workspaceClient.genie()` service.