RFR: 8247614: java/nio/channels/DatagramChannel/Connect.java timed out [v2]

Conor Cleary ccleary at openjdk.java.net
Tue Oct 20 11:40:23 UTC 2020


> Occasional failures of this test have been observed. However it was unclear as to the precise nature of the failure due
> to minimal logging and multiple features of DatagramChannel being tested in one run. Another issue is that on failure
> of either a Writer or Reader thread, the thread that did not fail waits until the test itself times out.   To attempt
> to mitigate these factors, the test was modified in the following manner:
> - Additional logging was added to help locate future points of failure in the test.
> - On L95, guards were added to make sure the test for a DatagramChannel throwing an AlreadyConnectedException does not
>   end up using the same port as used for the connection on L86-87
> - `wait(CompletableFuture<?>... futures)` was implemented to throw a CompletionException if either the Reader or Writer
>   fails, rather than waiting for the test to time out.
> 
> Seeking review in particular on implementation of the `wait(CompletableFuture<?>... futures)` function. As it stands
> currently the wait function waits for one of the given futures completes exceptionally. If that doesnt happen, it will
> wait for _all_ futures to complete successfully.

Conor Cleary has updated the pull request incrementally with two additional commits since the last revision:

 - 8247614: Actor/Reactor implement AutoCloseable
 - 8247614: Thread pool created for use with futures

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/679/files
  - new: https://git.openjdk.java.net/jdk/pull/679/files/c8f7e4a7..7c568239

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=679&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=679&range=00-01

  Stats: 46 lines in 1 file changed: 21 ins; 9 del; 16 mod
  Patch: https://git.openjdk.java.net/jdk/pull/679.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/679/head:pull/679

PR: https://git.openjdk.java.net/jdk/pull/679


More information about the nio-dev mailing list