File tree Expand file tree Collapse file tree
xds/src/main/java/io/grpc/xds Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -537,17 +537,21 @@ private boolean retainCluster(String cluster) {
537537
538538 private void releaseCluster (final String cluster ) {
539539 int count = clusterRefs .get (cluster ).refCount .decrementAndGet ();
540+ if (count < 0 ) {
541+ throw new AssertionError ();
542+ }
540543 if (count == 0 ) {
541544 syncContext .execute (new Runnable () {
542545 @ Override
543546 public void run () {
544- if (clusterRefs .get (cluster ).refCount .get () == 0 ) {
545- clusterRefs .remove (cluster );
546- if (resolveState .lastConfigOrStatus .hasValue ()) {
547- updateResolutionResult (resolveState .lastConfigOrStatus .getValue ());
548- } else {
549- resolveState .cleanUpRoutes (resolveState .lastConfigOrStatus .getStatus ());
550- }
547+ if (clusterRefs .get (cluster ).refCount .get () != 0 ) {
548+ throw new AssertionError ();
549+ }
550+ clusterRefs .remove (cluster );
551+ if (resolveState .lastConfigOrStatus .hasValue ()) {
552+ updateResolutionResult (resolveState .lastConfigOrStatus .getValue ());
553+ } else {
554+ resolveState .cleanUpRoutes (resolveState .lastConfigOrStatus .getStatus ());
551555 }
552556 }
553557 });
You can’t perform that action at this time.
0 commit comments