Bugzilla – Bug 4157
http-timeout does not work on http protocol
Last modified: 2006-02-02 00:54:39
You need to log in before you can comment on or make changes to this bug.
globusrun-ws -T option does not work for http protocol. I created the server program, which accepts the connection, but responses nothing, just wait the data. (sserver.py) I invoked sserver.py on port 5544. And I invoked globusrun-ws to port 5544. If the protocol was https, the globusrun-ws returned by error safely. But, the protocol was http, globusrun-ws did not return, freezed. The case of https protocol: $ time globusrun-ws -submit -F \ https://myhost:5544/wsrf/services/ManagedJobFactoryService \ -T 10000 -c /bin/touch touched_it Submitting job...Failed. globusrun-ws: Error submitting job globus_soap_message_module: Failed sending request ManagedJobFactoryPortType_createManagedJob. globus_xio: Operation was canceled globus_xio: Operation timed out real 0m20.192s user 0m0.179s sys 0m0.017s The timeout was occurred. (finish time was too long (2 times long), than I specified though.) The case of http protocol: $ time globusrun-ws -submit -F \ http://myhost:5544/wsrf/services/ManagedJobFactoryService \ -T 10000 -c /bin/touch touched_it Submitting job... (freezed) The timeout was not occurred. Below script is the python script sserver.py that accepts the connection. # Echo server program import sys import socket HOST = '' PORT = int(sys.argv[1]) print ' listen on port ', PORT s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(1) conn, addr = s.accept() print 'Connected by', addr while 1: data = conn.recv(1024) if not data: break print data conn.close()
The HTTP driver in XIO doesn't handle timeouts properly.
Created an attachment (id=830) [details] xio-http-timeout.diff Attaching a patch to the globus_xio package to implement timeouts in the http driver. I'm working on a test case for this to add to the XIO test suite before I commit this.
Thanks. The patch worked for me. $ time globusrun-ws -submit -F http://localhost:5544/wsrf/services/ManagedJobFactoryService -T 10000 -c /bin/touch touched_it Submitting job...Failed. globusrun-ws: Error submitting job globus_soap_message_module: Failed receiving response ManagedJobFactoryPortType_createManagedJob. globus_soap_message_module: SOAP Message transport failed: Error in HTTP response globus_xio: Operation was canceled real 0m30.234s user 0m0.200s sys 0m0.000s
A different version of this patch (eliminating a minor leak) has been committed to CVS. joe
I checked the CVS. The bug was not occurred in current CVS of Globus Toolkit. Problem was fixed on CVS. $ time globusrun-ws -submit -F http://localhost:5544/wsrf/services/ManagedJobFactoryService -T 10000 -c /bin/touch touched_it Submitting job...Failed. globusrun-ws: Error submitting job globus_soap_message_module: Failed receiving response ManagedJobFactoryPortType_createManagedJob. globus_soap_message_module: SOAP Message transport failed: Error in HTTP response globus_xio: Operation was canceled real 0m30.233s user 0m0.210s sys 0m0.000s