From 2956ec228c0ebe660751e7cb5c1c06b567fb7d6f Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Mon, 8 Feb 2021 15:02:52 -0800 Subject: [PATCH] Fix wrong number type (should be Double instead of Long) for generated raw config. --- xds/src/main/java/io/grpc/xds/XdsNameResolver.java | 8 ++++---- xds/src/test/java/io/grpc/xds/XdsNameResolverTest.java | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/xds/src/main/java/io/grpc/xds/XdsNameResolver.java b/xds/src/main/java/io/grpc/xds/XdsNameResolver.java index e0c03e5f907..5692d2172b3 100644 --- a/xds/src/main/java/io/grpc/xds/XdsNameResolver.java +++ b/xds/src/main/java/io/grpc/xds/XdsNameResolver.java @@ -310,10 +310,10 @@ public void onError(Status error) { rawHeaderMatcherBuilder.put("regexMatch", regexMatch.pattern()); } if (rangeMatch != null) { - rawHeaderMatcherBuilder - .put( - "rangeMatch", - ImmutableMap.of("start", rangeMatch.getStart(), "end", rangeMatch.getEnd())); + rawHeaderMatcherBuilder.put( + "rangeMatch", + ImmutableMap.of("start", Long.valueOf(rangeMatch.getStart()).doubleValue(), + "end", Long.valueOf(rangeMatch.getEnd()).doubleValue())); } if (presentMatch != null) { rawHeaderMatcherBuilder.put("presentMatch", presentMatch); diff --git a/xds/src/test/java/io/grpc/xds/XdsNameResolverTest.java b/xds/src/test/java/io/grpc/xds/XdsNameResolverTest.java index 16ce37a6e51..6de5a61e86c 100644 --- a/xds/src/test/java/io/grpc/xds/XdsNameResolverTest.java +++ b/xds/src/test/java/io/grpc/xds/XdsNameResolverTest.java @@ -181,7 +181,8 @@ public void convertToRawRoute() throws IOException { Map rawRoute3 = XdsNameResolver.convertToRawRoute(routeMatch3, "action_foo"); Map header = (Map) Iterables.getOnlyElement((List) rawRoute3.get("headers")); - assertThat((Map) header.get("rangeMatch")).containsExactly("start", 0L, "end", 10L); + assertThat((Map) header.get("rangeMatch")).containsExactly( + "start", (double) 0L, "end", (double) 10L); RouteMatch routeMatch4 = new RouteMatch(