Oh ! And I just remembered - there appears to be a case when the connection is closed (e.g. by SimpleAxisServer) where the monitor doesn't close the conn and the client timeouts - I'm just looking into this now as it's hitting me. But this has always been the case so is not a new "feature" ;-)
| John Hawkins/UK/[EMAIL PROTECTED]
17/03/2006 17:08
|
|
hi Ndair,
the recent changes weren't for chunk sizes (to my knowledge) that's been in for ages. The changes were all about closing the sockets down correctly and, ensuring that they were created a litlle bit smarter e.g reuseaddr(true).
We've run the tests on aix, win and linux yesterday and it worked fine.
I would suggest you look at how many sockets are open and see if many are in the wait state or such like. "netstat 1" was very helpful when I was doing this work !
cheers,
John.
| Nadir Amra <[EMAIL PROTECTED]>
17/03/2006 16:59
|
|
I am having problems running testcases since the changes to
tests/utils/monitor code a few days ago to handle chunk size errors.
Basically as the unit test bucket is being run, it eventually hangs with
the following information:
startMockServer:
[echo] Starting mockserver
[echo] testport = 3260
[java] Constructing org.apache.test.MockServer
[java] Information - Response file is chunked.
[java] Warning: Chunksize is not correct
[java] chunk.length = 511
[java] ChunkSize = 513
[java] chunkString 201
[java] Warning: Chunksize is not correct. Attempting to correct
with additional \r\n
[java] Attempt to correct the chunksize failed
[java] Information - Response file is chunked.
[java] Warning: Chunksize is not correct
[java] chunk.length = 497
[java] ChunkSize = 499
[java] chunkString 1f3
[java] Warning: Chunksize is not correct. Attempting to correct
with additional \r\n
[java] Attempt to correct the chunksize failed
[java] Information - Response file is chunked.
[java] Warning: Chunksize is not correct
[java] chunk.length = 472
[java] ChunkSize = 474
[java] chunkString 1da
[java] Warning: Chunksize is not correct. Attempting to correct
with additional \r\n
[java] Attempt to correct the chunksize failed
[java] Information - Response file is chunked.
[java] Warning: Chunksize is not correct
[java] chunk.length = 515
[java] ChunkSize = 517
[java] chunkString 205
[java] Warning: Chunksize is not correct. Attempting to correct
with additional \r\n
[java] Attempt to correct the chunksize failed
[java] Information - Response file is chunked.
[java] Warning: Chunksize is not correct
[java] chunk.length = 524
[java] ChunkSize = 526
[java] chunkString 20e
[java] Warning: Chunksize is not correct. Attempting to correct
with additional \r\n
[java] Attempt to correct the chunksize failed
[java] Information - Response file is chunked.
[java] Warning: Chunksize is not correct
[java] chunk.length = 534
[java] ChunkSize = 536
[java] chunkString 218
[java] Warning: Chunksize is not correct. Attempting to correct
with additional \r\n
[java] Attempt to correct the chunksize failed
[java] MockServer got 6 responses
MockServer listening on port: 3260
Returning Output file:
/home/amra/axis/L1.1.0/src/ws-axis/c/../../../obj/test/generated/cpp/UnitTest_XSD_dateTime/UnitTest_XSD_da
teTimeServerResponse.expected
Mockserver#run(): About to wait for incoming client request
startMonitor:
[echo] Starting monitor forwarding to localhost:3260
[java] TCPMonitor Listening on port 13260
[java] Constructing org.apache.test.TCPMonitor
[java] Constructing org.apache.test.TestClientListener
[echo] Running Test UnitTest_XSD_dateTime
http://127.0.0.1:13260/axis/XSD_dateTime
TestClientListener#run(): Waiting for a new client request
[exec] TestClientListener#run():Got a client new client request
[exec] Constructing org.apache.test.TestClientThread
[exec] Mockserver#run(): Got a new client request
[exec] Constructing org.apache.test.MockServerThread
[exec] Constructing org.apache.test.ClientReturner
[exec] MockServerThread(): entry
[exec] MockServerThread#run():About to wait for stop msg
[exec] ----------------------------------MockServer Thread new
Request------------------------
[exec] MockServerThread#run(): Got some bytes: 8
[exec] TestClientListener#run(): Waiting for a new client request
[exec] MockServerThread#run(): Got some bytes: 14
[exec] Got message POST /axis/XSD_dateTim
[exec] MockServerThread(): exit
[exec] Mockserver#run(): About to wait for incoming client request
[exec] MockServerThread#run(): About to wait on the inputstream
[exec] MockServerThread#run(): Got some more bytes 603
[exec] MockServerThread#run():EnvelopeString =
</SOAP-ENV:Envelope>
[exec] MockServerThread#run():Got an envelope
[exec] Constructing org.apache.test.ResponseSender
[exec] -------------------------------MockServer new
request---------------------------------
[exec] MockServerThread#run(): Going round again
[EMAIL PROTECTED]
[exec] ResponseSender: Sent response To Client
[exec] About to go around again
[exec] MockServerThread#run(): Got some more bytes 613
[exec] MockServerThread#run():EnvelopeString =
</SOAP-ENV:Envelope>
[exec] MockServerThread#run():Got an envelope
[exec] Constructing org.apache.test.ResponseSender
[exec] -------------------------------MockServer new
request---------------------------------
[exec] MockServerThread#run(): Going round again
[EMAIL PROTECTED]
[exec] ResponseSender: Sent response To Client
[exec] About to go around again
[exec] MockServerThread#run(): Got some more bytes 603
[exec] MockServerThread#run():EnvelopeString =
</SOAP-ENV:Envelope>
[exec] MockServerThread#run():Got an envelope
[exec] Constructing org.apache.test.ResponseSender
[exec] -------------------------------MockServer new
request---------------------------------
[exec] MockServerThread#run(): Going round again
[EMAIL PROTECTED]
[exec] ResponseSender: Sent response To Client
[exec] About to go around again
[exec] MockServerThread#run(): Got some more bytes 656
[exec] MockServerThread#run():EnvelopeString =
</SOAP-ENV:Envelope>
[exec] MockServerThread#run():Got an envelope
[exec] Constructing org.apache.test.ResponseSender
[exec] -------------------------------MockServer new
request---------------------------------
[exec] MockServerThread#run(): Going round again
[EMAIL PROTECTED]
[exec] ResponseSender: Sent response To Client
[exec] About to go around again
[exec] MockServerThread#run(): Got some more bytes 642
[exec] MockServerThread#run():EnvelopeString =
</SOAP-ENV:Envelope>
[exec] MockServerThread#run():Got an envelope
[exec] Constructing org.apache.test.ResponseSender
[exec] -------------------------------MockServer new
request---------------------------------
[exec] MockServerThread#run(): Going round again
[EMAIL PROTECTED]
[exec] ResponseSender: Sent response To Client
[exec] About to go around again
[exec] MockServerThread#run(): Got some more bytes 651
[exec] MockServerThread#run():EnvelopeString =
</SOAP-ENV:Envelope>
[exec] MockServerThread#run():Got an envelope
[exec] Constructing org.apache.test.ResponseSender
[exec] -------------------------------MockServer new
request---------------------------------
[exec] MockServerThread#run(): Going round again
[EMAIL PROTECTED]
[exec] ResponseSender: Sent response To Client
[exec] About to go around again
[stopwatch] [UnitTest_XSD_dateTime.timer: 0.451 sec]
[echo] UnitTest_XSD_dateTime - Execution Time - 0.451 sec
stopMonitor:
[java] StopTCPMonitor#stopMonitor(): Sending stop message to
monitor
[java] TestClientListener#run():Got a client new client request
[java] Constructing org.apache.test.TestClientThread
[java] Closing org.apache.test.TestClientThread
[java] Closed org.apache.test.TestClientThread
[java] TestClientListener got a Stop monitor message
[java] TCPMonitor#close(): Flushing and closing the output files
[java] About to call super.close
[java] Closing org.apache.test.TCPMonitor
[java] Closing org.apache.test.TestClientListener
[java] Closing org.apache.test.TestClientThread
And that is where it hangs. Any clues?
Nadir K. Amra
