Hi Stephen
To answer my own question, I've been looking into how to get logging
going on the Jakarta HttpClient :
08:19:17,187 DEBUG [DefaultHttpParams] - Set parameter http.useragent
= Jakarta Commons-HttpClient/3.1
08:19:17,187 DEBUG [DefaultHttpParams] - Set parameter
http.protocol.version = HTTP/1.1
08:19:17,187 DEBUG [DefaultHttpParams] - Set parameter http.connection-
manager.class = class
org.apache.commons.httpclient.SimpleHttpConnectionManager
08:19:17,187 DEBUG [DefaultHttpParams] - Set parameter
http.protocol.cookie-policy = default
08:19:17,187 DEBUG [DefaultHttpParams] - Set parameter
http.protocol.element-charset = US-ASCII
08:19:17,187 DEBUG [DefaultHttpParams] - Set parameter
http.protocol.content-charset = ISO-8859-1
08:19:17,203 DEBUG [DefaultHttpParams] - Set parameter
http.method.retry-handler =
org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@7546c1d4
08:19:17,203 DEBUG [DefaultHttpParams] - Set parameter
http.dateparser.patterns = [EEE, dd MMM yyyy HH:mm:ss zzz, EEEE, dd-
MMM-yy HH:mm:ss zzz, EEE MMM d HH:mm:ss yyyy, EEE, dd-MMM-yyyy
HH:mm:ss z, EEE, dd-MMM-yyyy HH-mm-ss z, EEE, dd MMM yy HH:mm:ss z,
EEE dd-MMM-yyyy HH:mm:ss z, EEE dd MMM yyyy HH:mm:ss z, EEE dd-MMM-
yyyy HH-mm-ss z, EEE dd-MMM-yy HH:mm:ss z, EEE dd MMM yy HH:mm:ss z,
EEE,dd-MMM-yy HH:mm:ss z, EEE,dd-MMM-yyyy HH:mm:ss z, EEE, dd-MM-yyyy
HH:mm:ss z]
08:19:17,203 DEBUG [DefaultHttpParams] - Set parameter
http.socket.timeout = 3000
08:19:17,203 DEBUG [DefaultHttpParams] - Set parameter
http.socket.timeout = 3000
08:19:17,203 DEBUG [HttpClient] - Java version: 1.6.0_18
08:19:17,203 DEBUG [HttpClient] - Java vendor: Sun Microsystems Inc.
08:19:17,203 DEBUG [HttpClient] - Java class path: fitnesse.jar;E:/
programs/org/smartrics/RestFixture/dist/artifacts/
RestFixture_fitnesse.jar;E:/programs/org/smartrics/RestFixture/dist/
artifacts/RestFixture.jar;E:/programs/org/smartrics/RestFixture/dist/
artifacts/lib/commons-beanutils.jar;E:/programs/org/smartrics/
RestFixture/dist/artifacts/lib/commons-codec-1.3.jar;E:/programs/org/
smartrics/RestFixture/dist/artifacts/lib/commons-
collections-3.2.jar;E:/programs/org/smartrics/RestFixture/dist/
artifacts/lib/commons-httpclient-3.1.jar;E:/programs/org/smartrics/
RestFixture/dist/artifacts/lib/commons-lang-2.3.jar;E:/programs/org/
smartrics/RestFixture/dist/artifacts/lib/commons-logging-1.1.jar;E:/
programs/org/smartrics/RestFixture/dist/artifacts/lib/cos.jar;E:/
programs/org/smartrics/RestFixture/dist/artifacts/lib/
ezmorph-1.0.4.jar;E:/programs/org/smartrics/RestFixture/dist/artifacts/
lib/jettison-1.0.1.jar;E:/programs/org/smartrics/RestFixture/dist/
artifacts/lib/js.jar;E:/programs/org/smartrics/RestFixture/dist/
artifacts/lib/json-lib-2.2.2-jdk15.jar;E:/programs/org/smartrics/
RestFixture/dist/artifacts/lib/jsr173_1.0_api.jar;E:/programs/org/
smartrics/RestFixture/dist/artifacts/lib/PicBuilder.jar;E:/programs/
org/smartrics/RestFixture/dist/artifacts/lib/RestClient.jar;E:/
programs/org/smartrics/RestFixture/dist/artifacts/lib/xbean.jar;E:/
programs/org/smartrics/RestFixture/dist/artifacts/lib/
xstream-1.3.1.jar;E:/programs/org/smartrics/RestFixture/dist/artifacts/
lib/log4j-1.2.14.jar;E:/programs/org/smartrics/RestFixture/dist/
artifacts/lib
08:19:17,203 DEBUG [HttpClient] - Operating system name: Windows XP
08:19:17,203 DEBUG [HttpClient] - Operating system architecture: amd64
08:19:17,203 DEBUG [HttpClient] - Operating system version: 5.2
08:19:17,265 DEBUG [HttpClient] - SUN 1.6: SUN (DSA key/parameter
generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509
certificates; JKS keystore; PKIX CertPathValidator; PKIX
CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy;
JavaLoginConfig Configuration)
08:19:17,265 DEBUG [HttpClient] - SunRsaSign 1.5: Sun RSA signature
provider
08:19:17,265 DEBUG [HttpClient] - SunJSSE 1.6: Sun JSSE
provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
08:19:17,265 DEBUG [HttpClient] - SunJCE 1.6: SunJCE Provider
(implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE,
Diffie-Hellman, HMAC)
08:19:17,265 DEBUG [HttpClient] - SunJGSS 1.0: Sun (Kerberos v5,
SPNEGO)
08:19:17,265 DEBUG [HttpClient] - SunSASL 1.5: Sun SASL
provider(implements client mechanisms for: DIGEST-MD5, GSSAPI,
EXTERNAL, PLAIN, CRAM-MD5; server mechanisms for: DIGEST-MD5, GSSAPI,
CRAM-MD5)
08:19:17,265 DEBUG [HttpClient] - XMLDSig 1.0: XMLDSig (DOM
XMLSignatureFactory; DOM KeyInfoFactory)
08:19:17,265 DEBUG [HttpClient] - SunPCSC 1.6: Sun PC/SC provider
08:19:17,265 DEBUG [DefaultHttpParams] - Set parameter
http.socket.timeout = 3000
08:19:17,265 DEBUG [DefaultHttpParams] - Set parameter
http.socket.timeout = 3000
08:19:17,281 DEBUG [RestClientImpl] - * * * * * Method request * * * *
*
08:19:17,281 DEBUG [RestClientImpl] -
http://localhost:8182 : Put /
neo4jsample/mowa/stevens/
08:19:17,296 WARN [RestClientImpl] - * * * * * Timeout : 60000 * * *
* *
08:19:17,296 DEBUG [DefaultHttpParams] - Set parameter
http.connection.timeout = 60000
08:19:17,296 DEBUG [DefaultHttpParams] - Set parameter http.connection-
manager.timeout = 60000
08:19:17,296 DEBUG [DefaultHttpParams] - Set parameter
http.socket.timeout = 60000
08:19:17,296 WARN [RestClientImpl] - * * * * * Start : 1310995157296
* * * * *
08:19:17,312 DEBUG [HttpConnection] - Open connection to localhost:
8182
08:19:17,312 DEBUG [header] - >> "PUT /neo4jsample/mowa/stevens/ HTTP/
1.1[\r][\n]"
08:19:17,312 DEBUG [HttpMethodBase] - Adding Host request header
08:19:17,312 DEBUG [header] - >> "User-Agent: Jakarta Commons-
HttpClient/3.1[\r][\n]"
08:19:17,312 DEBUG [header] - >> "Host: localhost:8182[\r][\n]"
08:19:17,312 DEBUG [header] - >> "Content-Length: 1578[\r][\n]"
08:19:17,312 DEBUG [header] - >> "Content-Type: application/octet-
stream[\r][\n]"
08:19:17,312 DEBUG [header] - >> "[\r][\n]"
08:19:17,312 DEBUG [EntityEnclosingMethod] - Request body sent
08:19:20,312 DEBUG [HttpMethodDirector] - Closing the connection.
08:19:20,312 DEBUG [HttpMethodDirector] - Method retry handler
returned false. Automatic recovery will not be attempted
08:19:20,312 DEBUG [HttpConnection] - Releasing connection back to
connection manager.
08:19:20,312 WARN [RestClientImpl] - * * * * * End : 1310995160312 *
* * * *
08:19:20,312 WARN [RestClientImpl] - Http call failed for IO
failure :: Read timed out
08:19:20,312 WARN [RestClientImpl] -
08:19:20,328 WARN [RestClientImpl] -
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(Unknown Source)
java.io.BufferedInputStream.fill(Unknown Source)
java.io.BufferedInputStream.read(Unknown Source)
org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:
78)
org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:
1116)
org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:
1973)
org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:
1735)
org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:
1098)
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:
398)
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:
171)
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:
397)
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:
323)
smartrics.rest.client.RestClientImpl.execute(RestClientImpl.java:135)
Something notable is that socket timeouts are indeed set to 3
seconds. Is that normal? Is the client too fast or my extension too
slow?
It occurs to me that my attempt to alter the socket time out comes to
late. I'll see if there is some sort of environment variable.
I wonder, could Rexster be failing to send some sort of handshake
within those 3 seconds? At the current logging resolution it appears
the client really doesn't hear anything back for three seconds :
08:19:17,312 DEBUG [EntityEnclosingMethod] - Request body sent
08:19:20,312 DEBUG [HttpMethodDirector] - Closing the connection.
Is there a way for my extension to say, "Please hold while I take note
of your request."?
Thanks,
Hasan