Skip to content

Use the CEL planner runtime#3

Draft
andrewparmet wants to merge 6 commits into
mainfrom
pv-planner-runtime
Draft

Use the CEL planner runtime#3
andrewparmet wants to merge 6 commits into
mainfrom
pv-planner-runtime

Conversation

@andrewparmet

@andrewparmet andrewparmet commented Jun 14, 2026

Copy link
Copy Markdown
Owner

No description provided.

dependabot Bot and others added 6 commits June 15, 2026 09:12
Bumps [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) from
1.81.0 to 1.82.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/grpc/grpc-java/releases">io.grpc:grpc-protobuf's
releases</a>.</em></p>
<blockquote>
<h2>v1.82.0</h2>
<p>This release drops support for Bazel 7. It may still run, but we are
no longer testing it. We are testing Bazel 8 and 9.</p>
<p>We are anticipating requiring Netty 4.2 in the next release. Please
file an issue if you still need Netty 4.1 support.</p>
<h3>Behavior Changes</h3>
<ul>
<li>xds: Disable Priority LB child policy retention cache (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12806">#12806</a>).
Previously, when a priority became inactive, its associated child load
balancer was kept in a deactivated state for potential reuse. Now,
inactive child balancers are immediately torn down and removed.</li>
<li>xds: skip DiscoveryRequest for unsubscribed types on stream ready
(<a
href="https://redirect.github.com/grpc/grpc-java/issues/12782">#12782</a>).
When the bootstrap declares more than one xDS server (e.g. a default
server for LDS/CDS plus an authority-specific EDS-only server),
grpc-java was sending CDS/LDS DiscoveryRequests to the EDS-only server
too. That server replies <code>UNIMPLEMENTED</code>, which tears down
the stream and EDS data never arrives. This fix makes it skip
DiscoveryRequests for resource types we don't actually subscribe to on a
given server.</li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Remove JSR-305 <code>@threadsafe</code> annotation and replace with
JavaDoc (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12762">#12762</a>).
Removes JSR-305 annotations but instead of replacing it with
ErrorProne's ThreadSafe, sticks to adding a JavaDoc comment. This is
done only in public non-final classes and interfaces. This allows Java
applications that have moved away from javax to compile and avoids a bug
in Immutables and Lombok (and possibly other annotation processors) from
failing when JSR-305 is not present.</li>
<li>core: Reduce per-stream idle memory on the server by 0.5 KB
(b38df6c94). The main improvement here is not retaining the request
Metadata for the life of the RPC. That means RPCs with larger request
Metadata would see a larger benefit.</li>
<li>core: Clarify missing content-type on HTTP error responses (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12720">#12720</a>).
Adjusts the diagnostic for the missing rather than invalid content-type,
in the Status description.</li>
<li>core: throw IOException when ProxySelector returns null or empty
list (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12793">#12793</a>).
ProxySelector.select(URI) is required to return a non-null, non-empty
list. Some implementations violate this, which previously caused an
opaque crash in ProxyDetectorImpl. Now it detects this case explicitly
and fails gracefully, naming the offending ProxySelector class to help
with debugging.</li>
<li>okhttp: enable TLS 1.3 by default for Android clients, retain TLS
1.2-only for desktop JVM (f43013161)</li>
<li>xds: Reduce per-endpoint memory from CDS LB (cc0d1a810). This is
most noticeable when there are many endpoints returned by EDS, but the
LB policy only uses a few of them, like pick_first.</li>
<li>xds: pre-parse custom metric names in WRR load balancer (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12773">#12773</a>)
(324fce715). This reduces the per-RPC overhead of the gRFC A114 support
added in v1.81.0</li>
<li>xds: Propagate status cause through XdsDepManager (13b4b9727). This
preserves more information for failures communicating with the control
plane.</li>
<li>binder: Give clear error when message is larger than parcel
(d92ca44a1)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>xds: Trust Manager fix for certain scenarios where SAN validation
shouldn't use the SNI sent (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12775">#12775</a>)
(bb153a83f).</li>
<li>core: Cancel DelayedClientCall when application listener throws (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12761">#12761</a>).
Align DelayedClientCall.DelayedListener with ClientCallImpl's existing
behavior for listener exceptions. When the application listener throws
from onHeaders/onMessage/onReady, catch the Throwable, cancel the call
with CANCELLED (cause = the throwable), and swallow subsequent
callbacks. Previously, a throw from the application listener escaped to
the callExecutor's uncaught-exception handler. The real call was not
cancelled and the transport kept delivering callbacks to an already
broken listener</li>
<li>core,opentelemetry: Fix server metric labels on early close (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12774">#12774</a>).
Addresses the server-side OpenTelemetry metric labeling bug where a
generated method can be recorded as grpc.method=&quot;other&quot; if
<code>streamClosed()</code> happens before
<code>serverCallStarted()</code>.</li>
<li>core: Fix pick_first NPE with
<code>GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST=true</code> when accepting
resolved addresses and in CONNECTING state (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12814">#12814</a>).
It makes sure that whenever PickFirstLeafLoadBalancer transitions into
CONNECTING the current address in the addressIndex has a corresponding
subchannel. This prevents an NPE in acceptResolvedAddresses in some
situations.</li>
<li>okhttp: HPACK should fail on varint overflow (ec1099254). This
should have no visible impact in normal use. It mostly just makes it
easier to debug broken implementations</li>
<li>xds: When using the file watcher certificate provider, reload
cert/key even if only one of them changes (f4125c591)</li>
<li>compiler: Avoid compile error on weird proto file names
(f021befcd)</li>
</ul>
<h3>New Features</h3>
<ul>
<li>googleapis: support <code>?force-xds</code> query parameter in the
<code>google-c2p</code> resolver (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12760">#12760</a>)
(86fa86063). This disables environment checks and uses xDS
unconditionally. Please note that this feature has not yet seen
comprehensive testing.</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>Upgrade Netty to 4.1.133 (ada087b9d)</li>
<li>bazel: Upgrade googleapis proto repo to commit 1dbb1a14 (ec0a9c976).
This fixed a rules_go incompatibility issue with Bazel 9.1. But it also
greatly reduced the overall transitive dependencies, as the C++ grpc
repo is no longer a dependency</li>
<li>bazel: Upgrade workflows to Bazel 8 (039ad7779) add Bazel 9.1.0 to
our CI matrix (17be0d3d1)</li>
<li>protoc-gen-grpc-java: Linux binaries are now built with Ubuntu 20.04
instead of 18.04 (8802dc35b5, da98b04b09)</li>
</ul>
<h3>Thanks to</h3>
<p><a
href="https://github.com/becomeStar"><code>@​becomeStar</code></a><br />
<a
href="https://github.com/bengtsson1-flir"><code>@​bengtsson1-flir</code></a><br
/>
<a
href="https://github.com/jnowjack-lucidchart"><code>@​jnowjack-lucidchart</code></a><br
/>
<a href="https://github.com/Kainsin"><code>@​Kainsin</code></a><br />
<a
href="https://github.com/kenkangxgwe"><code>@​kenkangxgwe</code></a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/grpc/grpc-java/commit/78fb51905574241fbb5bc0259f908ead78dae609"><code>78fb519</code></a>
Bump version to 1.82.0</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/b62b0fc700b379cd080093d79330c181fce93de6"><code>b62b0fc</code></a>
Update README etc to reference 1.82.0</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/8802dc35b5c4d17cc8a53986db4f98bec9a2e04f"><code>8802dc3</code></a>
build: downgrade multiarch to Ubuntu 20.04 and consolidate images (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12830">#12830</a>)</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/be300bd11d15bfe6d19bd50c40dfec44e9b127e6"><code>be300bd</code></a>
kokoro: Avoid brew on Mac OS</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/4111f6f33ab3198833da99391875d378a25229f4"><code>4111f6f</code></a>
core: throw IOException when ProxySelector returns null or empty list
(<a
href="https://redirect.github.com/grpc/grpc-java/issues/12793">#12793</a>)</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/9410caf14ea4d08e818217be026a43546f0f50b1"><code>9410caf</code></a>
Revert &quot;xds: CEL implementation (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12770">#12770</a>)&quot;
(<a
href="https://redirect.github.com/grpc/grpc-java/issues/12823">#12823</a>)</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/a6916c995dee6e90caa393d552ef81bba05c9494"><code>a6916c9</code></a>
core: Fix pick_first NPE when accepting resolved addresses and in
`CONNECTING...</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/52f2cd59828cfdb678752f787f15ca024763d221"><code>52f2cd5</code></a>
Revert &quot;okhttp: Optimize HPACK to index :path&quot; (<a
href="https://redirect.github.com/grpc/grpc-java/issues/12820">#12820</a>)</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/cc0d1a810b58095bc835acaad703a758f3e0040b"><code>cc0d1a8</code></a>
xds: Reduce per-endpoint memory from CDS</li>
<li><a
href="https://github.com/grpc/grpc-java/commit/17be0d3d1bcf2e51bc26ce081bdd5c0f5aac82bb"><code>17be0d3</code></a>
Add Bazel 9.1.0 to our CI matrix</li>
<li>Additional commits viewable in <a
href="https://github.com/grpc/grpc-java/compare/v1.81.0...v1.82.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=io.grpc:grpc-protobuf&package-manager=gradle&previous-version=1.81.0&new-version=1.82.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Wire the compiler and runtime separately via CelCompilerImpl + CelRuntimeImpl
combined through CelFactory.combine, instead of CelFactory.standardCelBuilder.
plannerCelBuilder rejects setStandardEnvironmentEnabled(false) on the runtime
side, which ValidateLibrary needs to drop stdlib matches in favor of
CustomOverload's caching replacement (cel-java#1038), so the two sides are
configured independently and combined.

CelRuntimeImpl requires enableHeterogeneousNumericComparisons(true); the rest
of the options stay at current() defaults. Pin cel to 0.13.1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant