--- messaging: the defect was closed and pinned by a contract test
22: * <p>{@code resolve} was get → fetch → put → clear with no synchronization. Two callers rotating
23- * the same credential both read the same old runtime and both fetched a replacement: one
24- * replacement was dropped from the map without ever being cleared — a secret left in memory that
25- * nothing owns — and the loser could clear material the winner was still using.
26- */

--- grpc: AtomicReference used as a plain holder
70:    return state.get().current();
75:    return Optional.ofNullable(state.get().draining());
89:    State observed = state.get();
103:    state.set(new State(next, observed.current(), deadline));
113:    State observed = state.get();
119:    State observed = state.get();
120:    state.set(new State(observed.current(), null, null));
--- compareAndSet / updateAndGet / synchronized in that file:
0
--- and the javadoc already names the race:
83:   *     usual reason for one is two rotators racing
