--- jsr166/src/test/tck/CompletableFutureTest.java 2015/11/15 01:33:02 1.129 +++ jsr166/src/test/tck/CompletableFutureTest.java 2015/11/15 17:21:44 1.130 @@ -3819,7 +3819,7 @@ public class CompletableFutureTest exten CompletableFuture g) { PlusFuture plus = new PlusFuture(); BiConsumer action = (T result, Throwable ex) -> { - if (result != null) { + if (ex == null) { if (plus.complete(result)) if (plus.firstFailure.get() != null) plus.firstFailure.set(null); @@ -3828,8 +3828,8 @@ public class CompletableFutureTest exten if (plus.isDone()) plus.firstFailure.set(null); } else { - if (plus.completeExceptionally(ex)) - plus.firstFailure.set(null); + // prefer failing with first failure + plus.completeExceptionally(plus.firstFailure.getAndSet(null)); } }; f.whenComplete(action);