Modify

Opened 3 years ago

Last modified 3 years ago

#20416 new defect

Download (incomplete) members: Cancel does not work and timeouts while download relation with members works

Reported by: skyper Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report cancel download members Cc: Don-vip, simon04

Description (last modified by skyper)

I have some network issues lately:

What steps will reproduce the problem?

  1. Have a relation without any members downloaded
  2. Download members from relation or selection panel context menu
  3. Download starts but hangs after downloading some objects
  4. Click on "Cancel"
  5. Click on "Cancel"
  6. Click on "Cancel"
  7. Close download window
  8. Download some area with download dialog

What is the expected result?

The download is canceled.

What happens instead?

Download is not cancel and the second download is not executed until the first download eventually finishes or time-outs.

Please provide any additional information below. Attach a screenshot if possible.

The same is true for downloading only incomplete members.

On thing I noticed: Downloading the whole relation with members using "Download object" works like a charm. So in the situation of mostly incomplete members, it might be smarter if "Download members" would download the whole relation with members instead of each member on its own.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-01-21 23:33:21 +0100 (Thu, 21 Jan 2021)
Revision:17474
Build-Date:2021-01-22 02:30:49
URL:https://josm.openstreetmap.de/svn/trunk

Last errors/warnings:
- 02626.639 E: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.. Cause: java.net.SocketTimeoutException: Read timed out
- 02626.646 E: IO Exception - <html>Failed to upload data to or download data from<br>'https://api.openstreetmap.org/api/0.6/nodes?nodes=3984729218,4051554686,4121566639,2047310593,3209094977,4121566626,265486042,265486043,693919829,4121566371,2045088239,265486040,2045088238,265486041,291055957,2047310603,833399228,3226528064,4051554668,2045088244,957280287,3226528065,4102782104,3226528067,833464505,659570246,659570247,3505983713,4060297753,833399222,4102782352,833399216,3505983717,833399218,833399219,4102782100,100091095,7148425780,7148425777,7148425776,7148425778,693541246,4121566594,4102782115,4102782114,3505983698,4102782374,793146984,100162775,4821390926,1506585084,4121566619,4102782138,1506585086,2047134518,951484546,4121566622,4102782142,4031093107,4031093106,4055970038,4121566608,4060244542,1506585075,4102782132,4060244546,4121566442,5842431356,4060244544,1303940603,5842431358,249780135,963078179,100162750,949471454,2426710510,2044432784,1286948350,454411096,4055974028,1926863767,4051554605,7668156766,306424594,4055974032,7668156765,309924651,713313232,693919753,693919754,306424597,1506584987,4121566461,4055974038,1884334089,4102782167,3629187340,2034977044,1776583045,4121566664,2045088129,1624584381,925972313,306424619,963078159,3264033764,1919132169,3226528062,3264033763,2109089241,3264033762,3629187390,3226528063,1286948314,1369370862,4051554575,3629187362,4055173318,1884334117,3209094974,2109089229,1436366108,454411159,1436366101,959510971,434696574,4051554794,2845483322,1436366140,7153666759,1436366138,1436366132,1436366135,2845483318,3629187327,3226527968,4144263092,3209037815,4055177473,7153666770,1776583000,1436366112,1436366115,2034977160,4022384402,1450716843,693541248,4051554730,454411208,1992148578,2232223212,2520305369,2520305370,2047310562,2232223210,4022384423,1448904372,4051554709,1448904374,2520305365,3271533073,2520305366,3271533072,2520305367,1782043335,2520305355,4051554697,4663753996,2047134458,1776582939'<br>due to a problem with transferring data.<br>Details (untranslated): Read timed out</html>
- 02629.560 W: java.net.SocketTimeoutException: Read timed out
- 02629.561 E: java.net.SocketTimeoutException: Read timed out
- 02687.031 W: java.net.SocketTimeoutException: Read timed out
- 02687.031 E: java.net.SocketTimeoutException: Read timed out
- 02714.858 W: java.net.SocketTimeoutException: Read timed out
- 02714.858 E: java.net.SocketTimeoutException: Read timed out
- 02714.859 E: java.util.concurrent.ExecutionException: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.. Cause: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.. Cause: java.net.SocketTimeoutException: Read timed out
- 02714.859 W: Ignoring exception because task was canceled. Exception: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.

Attachments (4)

20416.patch (7.2 KB ) - added by GerdP 3 years ago.
20416.2.patch (6.3 KB ) - added by GerdP 3 years ago.
like before, but without the change reg NullProgressMonitor.INSTANCE
20416.3.patch (1.6 KB ) - added by GerdP 3 years ago.
20416.4.patch (7.4 KB ) - added by GerdP 3 years ago.

Download all attachments as: .zip

Change History (54)

comment:1 by GerdP, 3 years ago

On thing I noticed: Downloading the whole relation with members using "Download object" works like a charm. So in the situation of mostly incomplete members, it might be smarter if "Download members" would download the whole relation with members instead of each member on its own.

Yes, downloading a relation with all members is typically much faster (a single api call), but you wanted it to download the members that are visibile in the editor (#20091) unless I got you wrong?

in reply to:  1 comment:2 by skyper, 3 years ago

Replying to GerdP:

On thing I noticed: Downloading the whole relation with members using "Download object" works like a charm. So in the situation of mostly incomplete members, it might be smarter if "Download members" would download the whole relation with members instead of each member on its own.

Yes, downloading a relation with all members is typically much faster (a single api call), but you wanted it to download the members that are visibile in the editor (#20091) unless I got you wrong?

You got me wrong, I am talking about "Download members" from relation or selection panel context menu. No relation editor involved!.

comment:3 by skyper, 3 years ago

Description: modified (diff)

comment:4 by GerdP, 3 years ago

With editor I meant JOSM.

comment:5 by skyper, 3 years ago

Ah, yes, I got you wrong and you got me right. I guess, I need a new context menu action "Download with members", then, which is a shortcut to the "download object" action.

EDIT: See #20432.

Last edited 3 years ago by skyper (previous) (diff)

comment:6 by GerdP, 3 years ago

Owner: changed from team to GerdP
Status: newassigned

I already expected this ;)
I'll also try to reproduce the problem with the Cancel button.

comment:7 by skyper, 3 years ago

Just for the record: I have the same issue with "download parent" action.

Please, tell me, if and what I can do to get more information like running wireshark for example.

comment:8 by GerdP, 3 years ago

I think I found a problem with the handling of the Cancel button. IIGTR the aloready executing threads which download the data are not really canceled.

by GerdP, 3 years ago

Attachment: 20416.patch added

comment:9 by GerdP, 3 years ago

Milestone: 21.02

My current understanding is this: You try to download members while the OSM server is very busy (I see many "Read timed out" messages). JOSM starts two threads (two is hard coded) which download data, first ways, then nodes of these ways. The number of needed requests depends on the relation.
If you press Cancel JOSM will not execute further threads but I see no code which would cancel the two active threads while they are waiting for a response from the OSM server. If the server is really busy your setting in preference socket.timeout.read decides how long it might take before JOSM finally removes the progress monitor.

The patch implements two changes:

  • start the connections with progressMonitor.createSubTaskMonitor(1, false) instead of NullProgressMonitor.INSTANCE so that the CANCEL button actually can cancel the connection
  • also check the canceled status of the progress monitor
  • check it in more places to avoid any additional threads once the Cancel button was pressed.

I am not sure how to test/simulate the actual situation that the server is too busy, so I can only hope this will improve things.
Disadvantage: The progress bar shows a flickering "Contacting server ..." string most of the time and no progress, so that's not the final solution.

by GerdP, 3 years ago

Attachment: 20416.2.patch added

like before, but without the change reg NullProgressMonitor.INSTANCE

comment:10 by skyper, 3 years ago

I blame my internet connections and the provider and not the OSM-Server for the underlying problem. One problem is the creating of connections which is very slow and gets stuck. Once the individual download thread is started, there is usually no problem until the next request, which explains why I have problems with actions downloading in multiple threads. It is often faster to cancel and restart/reload.

comment:11 by GerdP, 3 years ago

If the connect fails you get a "connect timed out" message. I just tried it with a hard coeded 10 ms connect timeout. So, the connection is probably established but the result takes too long (JOSM reads the socket waiting for the data and gets a read timeout). At least that's my understanding of the code so far.

by GerdP, 3 years ago

Attachment: 20416.3.patch added

comment:12 by stoecker, 3 years ago

Milestone: 21.0221.03

Milestone renamed

comment:13 by GerdP, 3 years ago

Cc: Don-vip simon04 added
Owner: changed from GerdP to team
Status: assignednew

Hmm, this is beyond my capabilities. Is there a way to simulate a server that doesn't respond within fractions of a second so that I can actually find out if the cancel works?

comment:14 by GerdP, 3 years ago

I see that it works well when I chose to download the content of all my changesets and press cancel fast enough:
activeConnection.disconnect() is called
But this doesn't imvolve MultiFetchServerObjectReader, and in the latter I never see that activeConnection.disconnect() is called. The field activeConnection is always null when method cancel() is called by progressMonitor.

comment:15 by skyper, 3 years ago

Yes, the problem is not the initial connection but if the download has started but hangs after downloading some objects. I have noticed this problem with several actions like "update data/selection/modified", "download parent objects", "download (incomplete) members" and "download objects of a changeset". I think all these actions use MultiFetchServerObjectReader.

Last edited 3 years ago by skyper (previous) (diff)

in reply to:  13 comment:16 by stoecker, 3 years ago

Replying to GerdP:

Hmm, this is beyond my capabilities. Is there a way to simulate a server that doesn't respond within fractions of a second so that I can actually find out if the cancel works?

I can do setup a redirect via my webserver which has a bandwidth limit (did this for another project recently). Please give me an example URL you'd call so I can test it.

comment:17 by GerdP, 3 years ago

I'll work again on this tomorrow morning. I think any relation with more than 200 members should work, 500 would be better so that we really create multiple download threads.

comment:18 by GerdP, 3 years ago

I used e.g. r4613741 for my tests.

comment:19 by stoecker, 3 years ago

Try https://www.dstoecker.eu/api as osm-server.url. This is limited to 5KB/s (thus taking 26s for your example).

comment:20 by GerdP, 3 years ago

OK, works for me. Let's see if I can find out why the cancel doesn't work as expected..

comment:21 by GerdP, 3 years ago

Hmm, I just tried with the --debug option and I see

2021-03-22 22:04:23.857 SCHWERWIEGEND: java.util.concurrent.ExecutionException: org.openstreetmap.josm.io.OsmTransferException: org.openstreetmap.josm.io.IllegalDataException: Lesevorgang wurde abgebrochen (in Zeile 1.957, Spalte 133). 65.651 Bytes wurden gelesen. Ursache: org.openstreetmap.josm.io.OsmTransferException: org.openstreetmap.josm.io.IllegalDataException: Lesevorgang wurde abgebrochen (in Zeile 1.957, Spalte 133). 65.651 Bytes wurden gelesen. Ursache: org.openstreetmap.josm.io.IllegalDataException: Lesevorgang wurde abgebrochen (in Zeile 1.957, Spalte 133). 65.651 Bytes wurden gelesen. Ursache: org.openstreetmap.josm.io.OsmReader$OsmParsingCanceledException: Lesevorgang wurde abgebrochen (in Zeile 1.957, Spalte 133). 65.651 Bytes wurden gelesen
java.util.concurrent.ExecutionException: org.openstreetmap.josm.io.OsmTransferException: org.openstreetmap.josm.io.IllegalDataException: Lesevorgang wurde abgebrochen (in Zeile 1.957, Spalte 133). 65.651 Bytes wurden gelesen
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.openstreetmap.josm.io.MultiFetchServerObjectReader.fetchPrimitives(MultiFetchServerObjectReader.java:333)
        at org.openstreetmap.josm.io.MultiFetchServerObjectReader.parseOsm(MultiFetchServerObjectReader.java:398)
        at org.openstreetmap.josm.gui.io.AbstractPrimitiveTask.realRun(AbstractPrimitiveTask.java:103)
        at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94)
        at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.openstreetmap.josm.io.OsmTransferException: org.openstreetmap.josm.io.IllegalDataException: Lesevorgang wurde abgebrochen (in Zeile 1.957, Spalte 133). 65.651 Bytes wurden gelesen
        at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.multiGetIdPackage(MultiFetchServerObjectReader.java:622)
        at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.fetch(MultiFetchServerObjectReader.java:574)
        at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:563)
        at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:535)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        ... 5 more
Caused by: org.openstreetmap.josm.io.IllegalDataException: Lesevorgang wurde abgebrochen (in Zeile 1.957, Spalte 133). 65.651 Bytes wurden gelesen
        at org.openstreetmap.josm.io.OsmReader.lambda$doParseDataSet$0(OsmReader.java:493)
        at org.openstreetmap.josm.io.AbstractReader.doParseDataSet(AbstractReader.java:300)
        at org.openstreetmap.josm.io.OsmReader.doParseDataSet(OsmReader.java:488)
        at org.openstreetmap.josm.io.OsmReader.parseDataSet(OsmReader.java:538)
        at org.openstreetmap.josm.io.OsmReader.parseDataSet(OsmReader.java:521)
        at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.multiGetIdPackage(MultiFetchServerObjectReader.java:620)
        ... 9 more
Caused by: org.openstreetmap.josm.io.OsmReader$OsmParsingCanceledException: Lesevorgang wurde abgebrochen (in Zeile 1.957, Spalte 133). 65.651 Bytes wurden gelesen
        at org.openstreetmap.josm.io.OsmReader.parseOsm(OsmReader.java:160)
        at org.openstreetmap.josm.io.OsmReader.parseRoot(OsmReader.java:135)
        at org.openstreetmap.josm.io.OsmReader.parse(OsmReader.java:121)
        at org.openstreetmap.josm.io.OsmReader.lambda$doParseDataSet$0(OsmReader.java:491)
        ... 14 more

on the console and download is stopped on the first Cancel. So, the problem described by skyper must be somewhere else.
Is it possible to configure your server to be slow, so that it takes 10 seconds for each response?

I have no idea why skyper sees this problem often while I don't. Maybe we connect to different servers?

comment:22 by stoecker, 3 years ago

I did set the rate limit to 1Kb/s which is the minimum.

Last edited 3 years ago by stoecker (previous) (diff)

comment:23 by stoecker, 3 years ago

Probably it makes a difference in which part of the whole process you cancel the connection. With the rate limit I can only slow down the delivery, but establishing connection will still be fast...

Maybe something like this helps?
http://info.iet.unipi.it/~luigi/dummynet/

comment:24 by GerdP, 3 years ago

I think I'm making progress reg. the reacion on the Cancel button :)
So far I've not tried dummynet, but it may be another step later.
I still have to solve the problem that the displayed texts in the ProgressMonitor are rather useless. The slow server helps with that. I've never noticed that the texts are not very useful in this situation...

comment:25 by GerdP, 3 years ago

@Dirk: Please change the limit back to 5Kb/s

in reply to:  25 comment:26 by stoecker, 3 years ago

Replying to GerdP:

@Dirk: Please change the limit back to 5Kb/s

I made you https://www.dstoecker.eu/api5 for 5Kb/s :-) So you can have both.

by GerdP, 3 years ago

Attachment: 20416.4.patch added

comment:27 by GerdP, 3 years ago

20416.patch implements multiple changes:

  1. Cancel button works (by executing exec.shutDownNow()
  2. Better i18n Strings for progress monitor
  3. progress monitor shows more details reg. connection
  4. new preference download.multi-fetch.hide-monitor-details to disable these details

comment:28 by GerdP, 3 years ago

It's quite difficult to decide in what situation the progress bar should be updated. There are two threads which download data and one thread that merges the downloaded data packages. Finally, the data has to be rendered.
Sometimes the merging takes quite long, sometimes also the rendering. sp. when the data layer already contains a huge amount of nodes. I've not yet understood all details here.

in reply to:  28 comment:29 by stoecker, 3 years ago

Replying to GerdP:

It's quite difficult to decide in what situation the progress bar should be updated. There are two threads which download data and one thread that merges the downloaded data packages. Finally, the data has to be rendered.
Sometimes the merging takes quite long, sometimes also the rendering. sp. when the data layer already contains a huge amount of nodes. I've not yet understood all details here.

Also keep in mind that there are programs out there where updating the progress bar itself takes most of the time :-)

comment:30 by GerdP, 3 years ago

OK, seems I was trapped again by SwingUtilities.invokeLater(). When I debug the code step by step the status monitor is updated, but not under normal conditions.
Seems I have to find a way to run the download threads in EDT?

comment:31 by GerdP, 3 years ago

Resolution: fixed
Status: newclosed

In 17654/josm:

fix #20416: Download (incomplete) members: Cancel does not work and timeouts while download relation with members works

  • let the Cancel button do a shutdownNow() on the executor so that user doesn't have to wait (I hope)

comment:32 by GerdP, 3 years ago

@skyper: Please try if this helped and maybe reopen. The other problems regarding progress monitor are less important and - for me - more difficult to understand.

comment:33 by skyper, 3 years ago

Thanks, something is better now, much less problems. Have to check the cancel button explicitly and start to increase the times to wait for response.

comment:34 by GerdP, 3 years ago

Hmm, my change only affects the reaction on cancel button. If you see better performance something else changed.

in reply to:  34 comment:35 by skyper, 3 years ago

Resolution: fixed
Status: closedreopened

Indeed, either the load of the server was low or my connection better or both. Last night, it was back, again, downloading parents of a few nodes. There were two landuse areas involved leading to download some hundreds of nodes. "Cancel" seems to work a bit better but if the download hangs with message "Fetching 510/862 nodes" or similar "Cancel" does still not work and the download hangs until it times out.

Well, not fixed, yet, sorry.

Wonder if I can find out to which real server I am connected. I could try to work with a VPN on top and test different end point in different countries. This might even help with my underlying routing/connection problems.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-03-25 22:58:47 +0100 (Thu, 25 Mar 2021)
Revision:17667
Build-Date:2021-03-26 02:30:58
URL:https://josm.openstreetmap.de/svn/trunk

comment:36 by skyper, 3 years ago

The full message when cancel is not working is: Fetching a package of nodes …

comment:37 by GerdP, 3 years ago

When you cancel do you see a traceback on the console? If yes, do you see after pressing cancel or after the timeout?

comment:38 by GerdP, 3 years ago

Reg. your network problems: Did you try the basics like a new cable or a different plug?

comment:39 by skyper, 3 years ago

As usual I had the problem the last hours but now I do not get to the state that it hangs fetching nodes. Will try the next days.

Reg network: I am pretty sure it is the provider and the only hardware involved, on my side, are my wifi devices. All use the same kernel modules so I might check one of a different manufacturer . Or is it my OS?

comment:40 by GerdP, 3 years ago

I don't know how to debug network problems.

comment:41 by Don-vip, 3 years ago

Resolution: fixed
Status: reopenedclosed

Please open a new ticket if needed.

comment:42 by skyper, 3 years ago

This was never fixed nor did anything change. e.g. this does not deserve a milestone.

Well, the description still works but in #20686 you'll find a slightly different one including the console log Gerd was asking for.

comment:43 by simon04, 3 years ago

Milestone: 21.0321.04
Resolution: fixed
Status: closedreopened

in reply to:  37 comment:44 by skyper, 3 years ago

Replying to GerdP:

When you cancel do you see a traceback on the console? If yes, do you see after pressing cancel or after the timeout?

Yes, I see a traceback but only after the timeout. Cancel was clicked after the first line (from #20686):

2021-03-29 13:02:09.503 INFO: GET https://api.openstreetmap.org/api/0.6/nodes?nodes=293713793,3258008625,1040112638,3258008627,3258008626,3258008628,667451840,7609344900,268613130,667451841,7609344901,667451842,268613128,1040112628,667451843,667451844,7609344896,667451845,667451846,7609344898,7609344899,667451865,1040112616,1040112615,8043649387,8043649389,8043649388,3402034395,275961452,8043649391,8043649390,7254799946,7254799947,1040112607,7254799948,1040112601,7607018304,7607018305,7607018306,1040112596,7607018307,7607018308,7254799960,1040112588,7254799961,1040112589,358003566,7254799958,1496702729,7254799959,1496702728,7607018280,7607018281,7607018282,7607018283,7607018284,1040112570,7607018285,7607018286,7607018287,7607018272,7607018273,7607018274,1040112564,7607018275,3258008700,1040112560,7607018278,7607018279,7607018296,7607018297,7607018298,7607018299,667451804,7607018300,7607018301,7607018302,7607018303,1040112553,1040112550,7607018289,7607018290,7607018291,7607018293,7607018294,7607018295,1040112542,7607018249,1040112543,7607018250,3258008659,7607018251,3258008658,7607018252,3258008661,369774701,7607018255,667451810,3258008667,667451811,667451812,667451813,3258008670,1040112526,3258008641,7607018264,7607018265,3258008640,7607018266,3258008643,667451835,7607018267,369774713,3258008642,667451836,7607018268,3258008645,7607018269,3258008644,268613038,268613039,268613037,268613042,7156436799,268613043,7156436798,3700865316,7156436797,7156436796,268613046,3700865314,7156436795,3700865315,268613047,7156436794,3700865312,3808831152,268613044,7156436793,3700865313,268613045,7156436792,268613050,7156436791,7156436790,268613049,7156436788,7156436787,7156436808,7156436805,7156436804,7156436803,7156436801,7156436800,502102077,2126543632,5841992165,502102079,4420969045,667451922,667451923,3810928324,3810928322,3809216233,3809216234,2172241041,3810928335,2172241045,3810928338,3810928337 -> HTTP/1.1 200 (124 ms)
2021-03-29 13:02:39.459 INFO: GET https://api.openstreetmap.org/api/0.6/nodes?nodes=458898522,3097563297,458898523,2752684817,458898521,458898526,458898524,458898525,1040112374,458898518,458898519,483285976,483285973,5836741828,5836741829,1248488776,5836741830,5836741831,5836741824,5836741825,5836741826,5836741827,5836741832,5836741833,648954241,2752684837,458898530,458898531,458898528,458898529,458898535,458898532,416874393,416874395,416874396,293615300,1617790762,416874390,416874391,416874376,5836741814,5836741820,5836741821,5836741822,5836741823,5836741817,5836741818,5836741819,7607018270,3258008647,667451839,7607018271,1040112521,7607018256,3258008649,3258008648,3258008651,7607018258,3258008650,7607018259,667451828,7607018260,3258008652,7607018261,7607018262,3258008654,7607018263,7607018216,1450185200,7607018217,7607018218,2752684944,7607018219,7607018220,7607018221,2752684951,7607018222,2752684948,7607018223,7607018208,7607018211,2752684702,7607018213,7607018214,7607018215,1259859333,1040112492,275650297,7607018224,275650295,7607018225,7607018226,7607018227,1040112482,5148456002,7607018228,5148456003,7607018229,5148456000,7607018230,5148456001,7607018231,1248488906,7607018185,2752684976,7607018186,7607018187,7607018188,3814368510,7607018189,3258008727,7607018190,2752684980,7607018191,1040112471,1040112464,2752684988,1040112462,7607018200,7607018201,7607018202,7607018203,7607018204,7607018205,7607018206,7607018207,7607018192,7607018193,7607018194,280246031,7607018195,7607018196,7607018197,7607018198,1040112449,7607018199,2271436963,6985459614,2271436961,1040112445,292099756,2752684756,1040112439,1040112437,3257927163,2752684738,648954238,648954239,470727386,648954235,1040112425,2752684746,1040112423,1040112420,1332644274,3805619465,365490710,2752684786,2752684784,1567071116,7609344892,7609344893,618824467,7609344894,7609344895,2271436951,7609344891,2752684778,2271436959,2271436956 -> !!! (30.1 s)
2021-03-29 13:02:39.459 WARNING: java.net.SocketTimeoutException: Read timed out
java.net.SocketTimeoutException: Read timed out
	at java.base/java.net.SocketInputStream.socketRead0(Native Method)
	at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:476)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:470)
	at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:110)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1408)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1314)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411)
	at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168)
	at org.openstreetmap.josm.tools.Http1Client.performConnection(Http1Client.java:78)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:148)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:195)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:138)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:122)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:86)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:69)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.multiGetIdPackage(MultiFetchServerObjectReader.java:624)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.fetch(MultiFetchServerObjectReader.java:582)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:571)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:543)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

2021-03-29 13:02:39.460 SEVERE: java.net.SocketTimeoutException: Read timed out
java.net.SocketTimeoutException: Read timed out
	at java.base/java.net.SocketInputStream.socketRead0(Native Method)
	at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:476)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:470)
	at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:110)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1408)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1314)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411)
	at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168)
	at org.openstreetmap.josm.tools.Http1Client.performConnection(Http1Client.java:78)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:148)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:195)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:138)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:122)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:86)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:69)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.multiGetIdPackage(MultiFetchServerObjectReader.java:624)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.fetch(MultiFetchServerObjectReader.java:582)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:571)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:543)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

2021-03-29 13:02:39.460 SEVERE: java.util.concurrent.ExecutionException: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.. Cause: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.. Cause: java.net.SocketTimeoutException: Read timed out
java.util.concurrent.ExecutionException: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader.fetchPrimitives(MultiFetchServerObjectReader.java:335)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader.parseOsm(MultiFetchServerObjectReader.java:404)
	at org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationMemberTask.realRun(DownloadRelationMemberTask.java:137)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:200)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:138)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:122)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:86)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:69)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.multiGetIdPackage(MultiFetchServerObjectReader.java:624)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.fetch(MultiFetchServerObjectReader.java:582)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:571)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:543)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	... 5 more
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.base/java.net.SocketInputStream.socketRead0(Native Method)
	at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:476)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:470)
	at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:110)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1408)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1314)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411)
	at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168)
	at org.openstreetmap.josm.tools.Http1Client.performConnection(Http1Client.java:78)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:148)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:195)
	... 14 more

2021-03-29 13:02:39.461 WARNING: Ignoring exception because task was canceled. Exception: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.
2021-03-29 13:02:39.572 INFO: GET https://api.openstreetmap.org/api/0.6/nodes?nodes=1723772602,747095425,293714057,1545032990,293714058,1082952064,5366871791,747095442,747095453,293034321,1251640253,3814296435,493598016,1458052803,1723772821,275003464,571476796,293034328,1723772557,293034307,1251640238,4075018966,493598046,1424268753,4075018965,4075018964,293034304,293034319,1750991206,747095485,2126780414,293034316,1081059668,7580994273,293034314,293034312,877435917,293034293,747095493,293034290,2039976146,7156130510,293034302,2039976158,1082952134,293034300,747095500,5820027818,493597989,293034297,493597988,2039976152,293034276,293034272,1458052786,293034285,747095516,1458052790,293034281,293034280,1723772895,1776624007,1723772893,2271473415,293034259,293034257,293034256,2271473417,1458052739,2271473416,293034268,747095542,493597977,1081059610,293034255,293034254,293714170,293034251,293034250,293034249,266520220,530273819,530273818,530273817,3241240993,3241240995,3241240994,3241240996,285981086,285981085,1776623999,2845483322,285981098,285981097,285981103,285981101,285981100,493753798,285981091,285981089,285981088,2845483318,285981095,1723772434,285981094,285981092,285981115,7156073017,285981114,285981113,285981112,285981119,285981118,285981117,285981116,285981107,285981106,285981104,285981111,285981110,285981109,285981108,7156073032,285981130,285981129,285981128,285981135,285981134,1081059497,285981132,285981123,285981122,285981121,285981120,285981126,285981125,285981124,5310362708,285981147,7156073049,285981146,7156073050,7156073051,285981144,7156073052,285981150,5310362705,285981149,7156073041,285981138,4142382653,285981137,285981143,7156073045,285981141,285981140,5836739335,4142382596,5836739340,5836739341,5836739342,285981153,285981152,5836739343,5836739337,5836739338,5836739339,5836739344,5836739345,5836739346 -> !!! (30.1 s)
2021-03-29 13:02:39.573 WARNING: java.net.SocketTimeoutException: Read timed out
java.net.SocketTimeoutException: Read timed out
	at java.base/java.net.SocketInputStream.socketRead0(Native Method)
	at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:476)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:470)
	at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:110)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1408)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1314)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411)
	at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168)
	at org.openstreetmap.josm.tools.Http1Client.performConnection(Http1Client.java:78)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:148)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:195)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:138)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:122)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:86)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:69)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.multiGetIdPackage(MultiFetchServerObjectReader.java:624)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.fetch(MultiFetchServerObjectReader.java:582)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:571)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:543)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

2021-03-29 13:02:39.573 WARNING: Already here java.net.SocketTimeoutException: Read timed out
2021-03-29 13:02:39.573 SEVERE: java.net.SocketTimeoutException: Read timed out
java.net.SocketTimeoutException: Read timed out
	at java.base/java.net.SocketInputStream.socketRead0(Native Method)
	at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:476)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:470)
	at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:110)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1408)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1314)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411)
	at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168)
	at org.openstreetmap.josm.tools.Http1Client.performConnection(Http1Client.java:78)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:148)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:195)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:138)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:122)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:86)
	at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:69)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.multiGetIdPackage(MultiFetchServerObjectReader.java:624)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.fetch(MultiFetchServerObjectReader.java:582)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:571)
	at org.openstreetmap.josm.io.MultiFetchServerObjectReader$Fetcher.call(MultiFetchServerObjectReader.java:543)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

2021-03-29 13:02:39.724 INFO: GET https://api.openstreetmap.org/api/0.6/map?bbox=8.2395364,47.6672467,8.2399293,47.6674386 -> HTTP/1.1 200 (205 ms)

comment:45 by GerdP, 3 years ago

I have no idea how to change the code so that the cancel button is able to cancel the two download threads in this situation. My understanding is that the progress bar is running in an EDT thread and that this thread is only executed when no other thread is running. If both download threads are waiting for a server response the EDT thread is probably just sleeping and thus not processing any user action.
Does that make any sense? Would it help to lower the priority of the download threads?

Should we even try to fix this when the problem is obviously in skypers part of the network?

skyper wrote that the Cancel button works immedieately in those actions which don't use MultiFetchServerObjectReader. I don't understand why.

in reply to:  45 comment:46 by skyper, 3 years ago

Replying to GerdP:

Should we even try to fix this when the problem is obviously in skypers part of the network?

Please, do not spend to much time on this issue if you do not have ideas and as long as there are not some more people complaining. I get used to work around it.

I am not sure if it is on my network part, a problem on the server side or a problem within JOSM. E.g. does JOSM handle a change of routing while downloading, properly? Sorry, I am no network expert either. I can offer to have wireshark logging the connections and test different settings with some advise.

skyper wrote that the Cancel button works immedieately in those actions which don't use MultiFetchServerObjectReader. I don't understand why.

As far as I understand this is always only one thread and maybe I was wrong but I have not noticed any problem once the connection is established and data is downloaded. Is it possible to use only one thread in MultiFetchServerObjectReader, optionally?

Version 0, edited 3 years ago by skyper (next)

comment:47 by GerdP, 3 years ago

Is it possible to use only one thread in MultiFetchServerObjectReader, optionally?

Yes, but this is still another thread. Anyhow, might be worse to try it: Set preference osm.download.threads to 1.

comment:48 by simon04, 3 years ago

Milestone: 21.0421.05
Status: reopenednew

in reply to:  47 comment:49 by skyper, 3 years ago

Replying to GerdP:

Is it possible to use only one thread in MultiFetchServerObjectReader, optionally?

Yes, but this is still another thread. Anyhow, might be worse to try it: Set preference osm.download.threads to 1.

Does not help. I also tried to use overpass for object downloads but that is slow and I get timeouts and quota restrictions, too. The later is cause by too many downloads within a short time period.

comment:50 by simon04, 3 years ago

Milestone: 21.05

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to skyper.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.