#601 closed defect (fixed)
Auto-retry of uploads doesn't catch all timeouts
| Reported by: | jrreid@… | Owned by: | |
|---|---|---|---|
| Priority: | minor | Component: | Core |
| Version: | latest | Keywords: | |
| Cc: |
Description
Since auto-retrying of uploads was implemented in [529] it seems to work some of the time, however it only handles exceptions of type SocketTimeoutException, when a large number of timeouts result in ConnectionException being thrown [the Java API documentation is incomplete in this regard as it doesn't mention that this exception can be thrown from connect()]
Attachments (0)
Change History (6)
comment:1 Changed 5 years ago by dave@…
- Owner changed from framm to anonymous
- Priority changed from major to minor
- Status changed from new to assigned
comment:2 Changed 5 years ago by jrreid@…
upload to: http://www.openstreetmap.org/api/0.5/node/240675932...java.lang.RuntimeException: Connection timed out: connect java.net.ConnectException
at org.openstreetmap.josm.io.OsmServerWriter.sendRequestRetry(OsmServerWriter.java:246)
at org.openstreetmap.josm.io.OsmServerWriter.sendRequest(OsmServerWriter.java:251)
at org.openstreetmap.josm.io.OsmServerWriter.visit(OsmServerWriter.java:119)
at org.openstreetmap.josm.data.osm.Node.visit(Node.java:41)
at org.openstreetmap.josm.io.OsmServerWriter.uploadOsm(OsmServerWriter.java:99)
at org.openstreetmap.josm.actions.UploadAction$2.realRun(UploadAction.java:151)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:84)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at org.openstreetmap.josm.io.OsmServerWriter.sendRequestRetry(OsmServerWriter.java:196)
... 9 more
org.xml.sax.SAXException: An error occoured: Connection timed out: connect java.net.ConnectException
at org.openstreetmap.josm.io.OsmServerWriter.uploadOsm(OsmServerWriter.java:105)
at org.openstreetmap.josm.actions.UploadAction$2.realRun(UploadAction.java:151)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:84)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
This was captured against build 529 using Java 1.6.0_02 (Win32)
comment:3 Changed 5 years ago by anonymous
- Owner anonymous deleted
- Status changed from assigned to new
Does this still occur in new versions?
comment:4 Changed 5 years ago by jrreid@…
Yep. Build 757 threw this:
got return: 200 with id 286135152
upload to: http://www.openstreetmap.org/api/0.5/node/create...java.lang.RuntimeE
xception: Connection timed out: connect java.net.ConnectException
at org.openstreetmap.josm.io.OsmServerWriter.sendRequestRetry(OsmServerW
riter.java:440)
at org.openstreetmap.josm.io.OsmServerWriter.sendRequest(OsmServerWriter
.java:449)
at org.openstreetmap.josm.io.OsmServerWriter.visit(OsmServerWriter.java:
308)
at org.openstreetmap.josm.data.osm.Node.visit(Node.java:47)
at org.openstreetmap.josm.io.OsmServerWriter.uploadOsm(OsmServerWriter.j
ava:124)
at org.openstreetmap.josm.actions.UploadAction$2.realRun(UploadAction.ja
va:151)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.
java:84)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Sour
ce)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown S
ource)
at org.openstreetmap.josm.io.MyHttpURLConnection.getOutputStream(MyHttpU
RLConnection.java:19)
at org.openstreetmap.josm.io.OsmServerWriter.sendRequestRetry(OsmServerW
riter.java:380)
... 9 more
org.xml.sax.SAXException: An error occoured: Connection timed out: connect java.
net.ConnectException
at org.openstreetmap.josm.io.OsmServerWriter.uploadOsm(OsmServerWriter.j
ava:132)
at org.openstreetmap.josm.actions.UploadAction$2.realRun(UploadAction.ja
va:151)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.
java:84)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
comment:5 Changed 5 years ago by anonymous
- Resolution set to fixed
- Status changed from new to closed
Fixed in r874.
comment:6 Changed 5 years ago by anonymous
Fixed in r784. Sorry.



Could you give us an actual stack trace of this occurring? I google'd for ConnectionException and can't find it in the java documentation at all, so I'm wondering where the heck the exception is actually coming from.