diff --git a/xds/src/main/java/io/grpc/xds/XdsNameResolver.java b/xds/src/main/java/io/grpc/xds/XdsNameResolver.java index 47946949b49..de69f53f310 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 584a53a8f6f..b566a84e88c 100644 --- a/xds/src/test/java/io/grpc/xds/XdsNameResolverTest.java +++ b/xds/src/test/java/io/grpc/xds/XdsNameResolverTest.java @@ -180,7 +180,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(