I was under the impression that anything you put in whenComplete, happens on a thread totally separate from the thread that spawned it. But we had an incident today where, looking at our logs, it seems as though an exception thrown from within the whenComplete bubbled up as if the exception were thrown in a regular chain (e.g. thenApply, thenCompose, etc.), and got caught by an exceptionally (in the original chain).
Is that possible? How?
I'm hoping the answer is No, that's not possible, and there's something weird going on / we're misreading our logs or logic.