Results 47 issues of Andrej Fink

Current version: ``` static Future fromCompletionStage(CompletionStage completionStage) { Promise promise = Promise.promise(); completionStage.whenComplete((value, err) -> { ``` isn't it better to supply Vert.x context if it "exists" ``` static Future...

enhancement

How to reproduce: interrupt the waiting thread in the middle of CountDownLatch.await ``` try { cont.suspendAndAwaitResume(); } catch (InterruptedException e) { Utils.throwAsUnchecked(e.getCause()); return null; } ``` `InterruptedException.cause` is `null`. `throw...

bug

1) NPE ``` } catch (InterruptedException e) { Utils.throwAsUnchecked(e.getCause()); ``` could cause NPE 2) if Future.isComplete() simply return result 3) ugly 2 lines ``` Utils.throwAsUnchecked(cause()); return null; ``` looks ugly,...

Redundant fields were removed, but other fixes were forgotten × MessageConsumerImpl.registered → use isRegistered() × dispatch(Message,ContextInternal,Handler) → dispatch(Message,ContextInternal) × EventBusImpl.addLocalRegistration: don't create ConcurrentCyclicSequence every call: CHM merge → compute PR...

See https://github.com/eclipse-vertx/vert.x/issues/4854

Vert.x historically uses NoStackTraceThrowable (extends Throwable) for lightweight exception without heavy stack trace collection process. But: 1) Since 2023 there is NoStackTraceException whith the same meaning which extends VertxException (RuntimeException)....

bug

If one need to process Messages from EventBus in batches in blocking code, he has to implement quite complex code with hand-made batch (ArrayList) creation, timer/timeout and blocking code execution....

enhancement

### Current Behavior I can't reproduce it in a small demo, but it is real. JDK 21.0.2 + Virtual Threads (more than 100) + System.out.println(inside VT) + Gradle test runner...

in:logging
a:bug
to-triage
:wave: team-triage

Thank you very much for a great product! I can't believe that it is not mainstream instead of Hibernate! I have made for my needs a HikariCP integration for Ebean....

If you remove key 0 (int; aka EMPTY_KEY) in `forEachKeyValue` - you will enjoy `NullPointerException` ```java @Test public void testBugRemoveNPE (){ try { var m = IntObjectMaps.mutable.of(0, 'a'); m.forEachKeyValue((k,v)->m.removeKey(k)); fail();...