Hi Daniel,
a little feedback on the test and some observations.
was curious about this test, mainly that debug wasn't synchronized
and expected to see interleaved output from clients and servers.
So ran the test … had look at the output, which wasn't interleaved
and totals all seemed to matched
as I understand it the test outline is that
create Server
accept client connection
create Worker for connection
start worker
create 5 clients
create HttpUrlConnection to test server
send 20 requests
should see total 100 requests
20 from each client and 20 received by each worker
On looking at the output a little closer things seemed a little off
or my observations maybe wrong. Each of the workers i.e. the client
handlers in the server didn't receive 20 request but a random number
of requests. This seems to exhibit some of the pathology of the original bug ?
Ran the test multiple times and a total of 100 requests received but randomly
distributed across
the workers
To observe the client side output I amended test constructor to take an int
clientId and used that
in that clients debug output.
FWIW attached in a file with analysis of a few test runs output.
regards
Mark
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ /cygdrive/c/Development/jdk-installs/jdk-12/bin/java
MultiThreadedHttpUrlConnectionTest > MTHUCT-4.out
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ more MTHUCT-4.out
server: calling accept.
server: return accept.
server: Started worker 0
server: calling accept.
server: return accept.
worker 0: Read request from client (162 bytes).
server: Started worker 1
server: calling accept.
server: return accept.
worker 1: Read request from client (162 bytes).
server: Started worker 2
server: calling accept.
server: return accept.
server: Started worker 3
server: calling accept.
server: return accept.
worker 2: Read request from client (162 bytes).
server: Started worker 4
server: calling accept.
client 0: read 11 bytes
client 3: read 11 bytes
client 1: read 11 bytes
worker 3: Read request from client (162 bytes).
worker 0: Read request from client (162 bytes).
worker 2: Read request from client (162 bytes).
worker 1: Read request from client (162 bytes).
worker 4: Read request from client (162 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 1: read 11 bytes
client 0: read 11 bytes
worker 2: Read request from client (162 bytes).
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (162 bytes).
worker 3: Read request from client (163 bytes).
client 4: read 11 bytes
client 1: read 11 bytes
client 3: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client 0: read 11 bytes
client 4: read 11 bytes
client 1: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client 4: read 11 bytes
client 3: read 11 bytes
client 0: read 11 bytes
client 1: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client 4: read 11 bytes
client 3: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
client 1: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client 4: read 11 bytes
client 3: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 0: read 11 bytes
worker 2: Read request from client (163 bytes).
client 1: read 11 bytes
client 4: read 11 bytes
client 3: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 0: read 11 bytes
client 1: read 11 bytes
client 3: read 11 bytes
client 4: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 0: read 11 bytes
client 3: read 11 bytes
client 1: read 11 bytes
client 4: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 0: read 11 bytes
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 0: read 11 bytes
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 0: read 11 bytes
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
worker 0: Read request from client (163 bytes).
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
client 3: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
client 4: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client 1: read 11 bytes
worker 2: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
client 3: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
client 4: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
client 3: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
client 4: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
client 0: read 11 bytes
client 3: read 11 bytes
worker 1: Read request from client (163 bytes).
client 4: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client 1: read 11 bytes
client 0: read 11 bytes
client 3: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 0: read 11 bytes
worker 2: Read request from client (163 bytes).
client 3: read 11 bytes
client: end - PT0.110116S
client 1: read 11 bytes
client 0: read 11 bytes
client: end - PT0.1141757S
worker 1: Read request from client (163 bytes).
client 1: read 11 bytes
client: end - PT0.1141736S
client 2: read 11 bytes
client 4: read 11 bytes
worker 0: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client 2: read 11 bytes
client 4: read 11 bytes
client: end - PT0.1164921S
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
client: end - PT0.1238189S
Connections = 5
Requests = 100
Connection count = 5 Request count = 100
server: STE
server: Shuting down.
worker: 4: Shutdown
worker: 0: Shutdown
worker: 1: Shutdown
worker: 4 end - PT20.0052845S
worker: 2: Shutdown
worker: 3: Shutdown
worker: 0 end - PT20.0111739S
worker: 3 end - PT20.0097619S
worker: 1 end - PT20.0113868S
worker: 2 end - PT20.0108762S
main thread end - PT20.0743989S
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 0: Read" MTHUCT-4.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 1: Read" MTHUCT-4.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 2: Read" MTHUCT-4.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 3: Read" MTHUCT-4.out | wc
18 144 882
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 4: Read" MTHUCT-4.out | wc
19 152 931
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 4: Read" MTHUCT-4.out | wc
0 0 0
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 4: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 0: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 1: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 2: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 3: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 4: read" MTHUCT-4.out | wc
20 100 500
________________________________
From: net-dev <[email protected]> on behalf of Daniel Fuchs
<[email protected]>
Sent: Wednesday 15 May 2019 17:49
To: Chris Hegarty; OpenJDK Network Dev list
Subject: Re: RFR: 8223716: sun/net/www/http/HttpClient/MultiThreadTest.java
should be more resilient to unexpected traffic
On 15/05/2019 16:17, Chris Hegarty wrote:
> I believe workers should be volatile/synchronized, as it is
> written and read from different threads, no?
Thanks Chris.
workers is a concurrent queue, but the variable should
be final. I'll do it before pushing.
best regards,
-- daniel
>
> -Chris.
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ /cygdrive/c/Development/jdk-installs/jdk-12/bin/java
MultiThreadedHttpUrlConnectionTest
server: calling accept.
server: return accept.
server: Started worker 0
server: calling accept.
server: return accept.
server: Started worker 1
server: calling accept.
server: return accept.
server: Started worker 2
server: calling accept.
server: return accept.
server: Started worker 3
server: calling accept.
server: return accept.
server: Started worker 4
server: calling accept.
worker 0: Read request from client (162 bytes).
worker 1: Read request from client (162 bytes).
worker 2: Read request from client (162 bytes).
worker 4: Read request from client (162 bytes).
worker 3: Read request from client (162 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 2: Read request from client (162 bytes).
worker 4: Read request from client (162 bytes).
client: read 11 bytes
worker 0: Read request from client (162 bytes).
client: read 11 bytes
worker 3: Read request from client (162 bytes).
worker 1: Read request from client (162 bytes).
worker 4: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 0: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 1: Read request from client (163 bytes).
client: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 4: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 3: Read request from client (163 bytes).
client: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client: read 11 bytes
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 4: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 4: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 1: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 4: Read request from client (163 bytes).
client: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 1: Read request from client (163 bytes).
client: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 4: Read request from client (163 bytes).
client: read 11 bytes
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 3: Read request from client (163 bytes).
client: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 4: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 4: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client: read 11 bytes
worker 3: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 4: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 0: Read request from client (163 bytes).
client: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client: read 11 bytes
worker 4: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client: read 11 bytes
worker 1: Read request from client (163 bytes).
client: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 4: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 0: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: read 11 bytes
client: end - PT0.1259196S
client: end - PT0.1296118S
client: end - PT0.1289891S
client: end - PT0.1246388S
worker 1: Read request from client (163 bytes).
client: read 11 bytes
client: end - PT0.1336134S
Connections = 5
Requests = 100
Connection count = 5 Request count = 100
server: STE
server: Shuting down.
worker: 1: Shutdown
worker: 2: Shutdown
worker: 3: Shutdown
worker: 4: Shutdown
worker: 4 end - PT20.0157536S
worker: 2 end - PT20.0163668S
worker: 1 end - PT20.0163601S
worker: 3 end - PT20.0173443S
worker: 0: Shutdown
worker: 0 end - PT20.0228507S
main thread end - PT20.1565932S
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ /cygdrive/c/Development/jdk-installs/jdk-12/bin/java
MultiThreadedHttpUrlConnectionTest > MTHUCT.out
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 0: Read" !$
grep "worker 0: Read" MTHUCT.out
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 0: Read" MTHUCT.out | wc
17 136 833
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 1: Read" MTHUCT.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 2: Read" MTHUCT.out | wc
22 176 1078
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 3: Read" MTHUCT.out | wc
20 160 980
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 4: Read" MTHUCT.out | wc
20 160 980
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ /cygdrive/c/Development/jdk-installs/jdk-12/bin/java
MultiThreadedHttpUrlConnectionTest > MTHUCT-1.out
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 0: Read" MTHUCT-1.out
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 0: Read" MTHUCT-1.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 1: Read" MTHUCT-1.out | wc
19 152 931
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 2: Read" MTHUCT-1.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 3: Read" MTHUCT-1.out | wc
18 144 882
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 4: Read" MTHUCT-1.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 4: Read" MTHUCT-1.out | wc
$ grep "worker 0: Read" MTHUCT-2.out
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ /cygdrive/c/Development/jdk-installs/jdk-12/bin/java
MultiThreadedHttpUrlConnectionTest > MTHUCT-2.out
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 0: Read" MTHUCT-2.out | wc
19 152 931
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 1: Read" MTHUCT-2.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 2: Read" MTHUCT-2.out | wc
23 184 1127
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 3: Read" MTHUCT-2.out | wc
19 152 931
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 4: Read" MTHUCT-2.out | wc
18 144 882
$ grep "worker 0: Read" MTHUCT-3.out
worker 0: Read request from client (162 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 0: Read" MTHUCT-3.out | wc
17 136 833
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 1: Read" MTHUCT-3.out | wc
22 176 1078
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 2: Read" MTHUCT-3.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 3: Read" MTHUCT-3.out | wc
20 160 980
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 4: Read" MTHUCT-3.out | wc
20 160 980
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ /cygdrive/c/Development/jdk-installs/jdk-12/bin/java
MultiThreadedHttpUrlConnectionTest > MTHUCT-4.out
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ more MTHUCT-4.out
server: calling accept.
server: return accept.
server: Started worker 0
server: calling accept.
server: return accept.
worker 0: Read request from client (162 bytes).
server: Started worker 1
server: calling accept.
server: return accept.
worker 1: Read request from client (162 bytes).
server: Started worker 2
server: calling accept.
server: return accept.
server: Started worker 3
server: calling accept.
server: return accept.
worker 2: Read request from client (162 bytes).
server: Started worker 4
server: calling accept.
client 0: read 11 bytes
client 3: read 11 bytes
client 1: read 11 bytes
worker 3: Read request from client (162 bytes).
worker 0: Read request from client (162 bytes).
worker 2: Read request from client (162 bytes).
worker 1: Read request from client (162 bytes).
worker 4: Read request from client (162 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 1: read 11 bytes
client 0: read 11 bytes
worker 2: Read request from client (162 bytes).
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (162 bytes).
worker 3: Read request from client (163 bytes).
client 4: read 11 bytes
client 1: read 11 bytes
client 3: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client 0: read 11 bytes
client 4: read 11 bytes
client 1: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client 4: read 11 bytes
client 3: read 11 bytes
client 0: read 11 bytes
client 1: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client 4: read 11 bytes
client 3: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
client 1: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client 4: read 11 bytes
client 3: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 0: read 11 bytes
worker 2: Read request from client (163 bytes).
client 1: read 11 bytes
client 4: read 11 bytes
client 3: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 0: read 11 bytes
client 1: read 11 bytes
client 3: read 11 bytes
client 4: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 0: read 11 bytes
client 3: read 11 bytes
client 1: read 11 bytes
client 4: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 0: read 11 bytes
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 0: read 11 bytes
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 0: read 11 bytes
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
worker 0: Read request from client (163 bytes).
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
client 3: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
client 4: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client 1: read 11 bytes
worker 2: Read request from client (163 bytes).
client 3: read 11 bytes
client 4: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
client 3: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
client 4: read 11 bytes
worker 3: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
client 3: read 11 bytes
client 0: read 11 bytes
worker 1: Read request from client (163 bytes).
client 4: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client 1: read 11 bytes
worker 0: Read request from client (163 bytes).
client 0: read 11 bytes
client 3: read 11 bytes
worker 1: Read request from client (163 bytes).
client 4: read 11 bytes
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
client 1: read 11 bytes
client 0: read 11 bytes
client 3: read 11 bytes
worker 0: Read request from client (163 bytes).
worker 2: Read request from client (163 bytes).
worker 3: Read request from client (163 bytes).
worker 1: Read request from client (163 bytes).
client 0: read 11 bytes
worker 2: Read request from client (163 bytes).
client 3: read 11 bytes
client: end - PT0.110116S
client 1: read 11 bytes
client 0: read 11 bytes
client: end - PT0.1141757S
worker 1: Read request from client (163 bytes).
client 1: read 11 bytes
client: end - PT0.1141736S
client 2: read 11 bytes
client 4: read 11 bytes
worker 0: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
worker 0: Read request from client (163 bytes).
client 2: read 11 bytes
client 4: read 11 bytes
client: end - PT0.1164921S
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
worker 4: Read request from client (163 bytes).
client 2: read 11 bytes
client: end - PT0.1238189S
Connections = 5
Requests = 100
Connection count = 5 Request count = 100
server: STE
server: Shuting down.
worker: 4: Shutdown
worker: 0: Shutdown
worker: 1: Shutdown
worker: 4 end - PT20.0052845S
worker: 2: Shutdown
worker: 3: Shutdown
worker: 0 end - PT20.0111739S
worker: 3 end - PT20.0097619S
worker: 1 end - PT20.0113868S
worker: 2 end - PT20.0108762S
main thread end - PT20.0743989S
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 0: Read" MTHUCT-4.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 1: Read" MTHUCT-4.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 2: Read" MTHUCT-4.out | wc
21 168 1029
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 3: Read" MTHUCT-4.out | wc
18 144 882
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "worker 4: Read" MTHUCT-4.out | wc
19 152 931
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 4: Read" MTHUCT-4.out | wc
0 0 0
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 4: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 0: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 1: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 2: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 3: read" MTHUCT-4.out | wc
20 100 500
msheppard@MARKS-LAPTOP /cygdrive/c/Users/msheppard/eclipse-workspace/JDK-Tests
$ grep "client 4: read" MTHUCT-4.out | wc
20 100 500