Modify

Opened 4 years ago

Closed 3 years ago

#21485 closed defect (fixed)

[PATCH] Continuos Download clogs the request queue and opens too many error windows

Reported by: TrickyFoxy Owned by: team
Priority: normal Milestone:
Component: Plugin continuosDownload Version:
Keywords: template_report Cc:

Description (last modified by gaben)

What steps will reproduce the problem?

I often edit large empty areas in northern areas. I was not satisfied with the fact that Continuos Download downloads areas in several parts, which are almost always empty, as well as the fact that for some reason it left small pieces of the map not downloaded. So I decided to change the loading strategy to SimpleStrategy.
upd: Even with BoxStrategy enabled, the problem remains. But it seems to occur a little less often.

After a while, I started to face the fact that after editing the map for a long time, I can neither download new parts of the map, nor send changes to the server. The validator also stopped working.

In an attempt to fix the download, I took JOSM Offline and received a huge bunch of data download error messages. So huge that closing one error message JOSM hung for a second

In total, I see several problems here:

  1. Because of Continuos Download(SimpleStrategy), a huge queue for downloading is accumulating. It seems these requests should be terminated by timeout, but this does not happen. Moreover, these requests cannot be stopped by turning off the Internet.Only by taking JOSM Offline.
  1. Upload error messages to Continuos Download open in a separate window. There are no options in these windows, so it was logical to show these messages as notifications in the lower left corner. There they will close themselves no matter how many of them there are.
  1. In JOSM there is no (?) way to close all windows except the main one. This may seem like a solution to this particular problem, but I can cite a few more cases where multiple identical windows appear.
  • Continuos Download (even with BoxStrategy) sometimes shows several messages that the download area is too large
  • If you try to open https://osm.cupivan.ru/entrance / then JOSM will start opening windows to confirm remote editing. There may also be a lot of them

What is the expected result?

What happens instead?

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

Revision:18294
Is-Local-Build:true
Build-Date:2021-10-28 12:08:18

Identification: JOSM/1.5 (18294 SVN en) Mac OS X 11.6
OS Build number: macOS 11.6 (20G165)
Memory Usage: 768 MB / 2048 MB (470 MB allocated, but free)
Java version: 18-ea+18, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: Display 69732352 1680×1050 (scaling 2.00×2.00)
Maximum Screen Size: 1680×1050
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_RU
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=18294, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=/Applications/JOSM.app/Contents/MacOS/JOSM]

Plugins:
+ BuildingGeneralization (36)
+ Create_grid_of_ways (35640)
+ DirectDownload (35640)
+ EasyPresets (1623509627)
+ FastDraw (35640)
+ FixAddresses (35640)
+ HouseNumberTaggingTool (35814)
+ ImproveOsm (215)
+ ImproveWay (32)
+ MakeParallel (v1.1.0)
+ Mapillary (2.0.0-alpha.38)
+ OpeningHoursEditor (35640)
+ PicLayer (1.0.1)
+ PolygonCutOut (v0.7)
+ RelationDissolve (0.2.0)
+ alignways (35753)
+ apache-commons (35524)
+ apache-http (35589)
+ auto_tools (81)
+ buildings_tools (35823)
+ changeset-viewer (25)
+ comfort0 (35640)
+ conflation (0.6.8)
+ continuosDownload (99)
+ contourmerge (v0.1.8)
+ editgpx (35562)
+ ext_tools (35640)
+ graphview (35640)
+ gridify (1606242219)
+ jna (35662)
+ jts (35458)
+ junctionchecking (35640)
+ merge-overlap (35640)
+ photoadjust (35770)
+ rasterfilters (35774)
+ reltoolbox (35829)
+ reverter (35732)
+ russia-address-helper (0.5.1)
+ terracer (35827)
+ turnrestrictions (35640)
+ undelete (35640)
+ utilsplugin2 (35833)
+ waydownloader (35640)

Tagging presets:
+ https://raw.githubusercontent.com/ruosm-presets/literan-moscow/master/russian_shops.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/StreetCabinet&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Quick-highways&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Quick-stops&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/RU.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1
+ <josm.userdata>/EasyPresets.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/WifiHotspots&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Manholes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/MappingAccessibility&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Maxspeed-zones&zip=1

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
+ ${HOME}/JOSM/presets/style-power-voltage-color.mapcss
- ${HOME}/JOSM/presets/style-power-tower-solid/power-tower-solid.mapcss
+ https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Lit&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Power&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PowerMapping&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Noname&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/NewHighwayColors&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/AddressValidator&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_buildings&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/iD&zip=1
- https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip
- https://raw.githubusercontent.com/yopaseopor/indoormap/master/indoormap-style.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/NewParkingFeatures&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&zip=1

Validator rules:
+ https://josm.openstreetmap.de/josmfile?page=Rules/KeepRight&zip=1
+ https://raw.githubusercontent.com/zetx16/Josm-HnumbValidator/master/ru-housenumber.validator.mapcss

Last errors/warnings:
- 00023.722 E: Failed to locate image 'pics/icons/Russian_Post.svg'
- 00023.722 W: [NODE, CLOSEDWAY, MULTIPOLYGON] Russian Post: Could not get presets icon pics/icons/Russian_Post.svg

Change History (18)

comment:1 by TrickyFoxy, 4 years ago

Description: modified (diff)

comment:2 by TrickyFoxy, 4 years ago

Description: modified (diff)

comment:3 by taylor.smock, 3 years ago

Component: CorePlugin continuosDownload

comment:4 by TrickyFoxy, 3 years ago

Description: modified (diff)

comment:5 by gaben, 3 years ago

Description: modified (diff)

fixed screenshots

comment:6 by taylor.smock, 3 years ago

Summary: Continuos Download clogs the request queue and opens too many error windows[PATCH] Continuos Download clogs the request queue and opens too many error windows

I've opened a PR at https://github.com/JOSM/continuos-download/pull/8 .

The PR modifies continousDownload to detect when an OsmApiException occurs, and if the error header contains "requested too many", disable continuous download until the user zooms in. The user may still an error window appear, but this is significantly better than the old behavior.

I also fixed the downloads so that they occur in the appropriate worker thread with the appropriate level of parallelism.

comment:7 by taylor.smock, 3 years ago

Two week patch ping.

comment:8 by taylor.smock, 3 years ago

Ping

comment:9 by gaben, 3 years ago

Pong. Is there something with the team which we are unaware of? The commit frequency is declining, and I haven't seen much activity since last autumn :/

in reply to:  9 ; comment:10 by taylor.smock, 3 years ago

Replying to gaben:

Pong. Is there something with the team which we are unaware of? The commit frequency is declining, and I haven't seen much activity since last autumn :/

I don't know about the rest of the team, but something I need to get better at is applying patches mid-cycle (I want to apply most non-bug patches in the middle two weeks between releases, and since I don't know when exactly we are going to do the release, I tend to fudge my timeline so I only have 1.5 weeks between releases where I want to apply non-bug patches).

TBH, today is the last day I'm intending to make any non-critical changes for this release cycle (see wiki:DevelopersGuide/Schedule -- it states that "[usually] a release of a stable version is planned at the end of each month (the weekend nearest to this date)"). I've noticed that we actually do a release on the first weekend of each month, but I treat the stated policy as what is intended to happen. I could do a release myself on that schedule, assuming wiki:DevelopersGuide/Releasing is up-to-date, but I'll probably avoid doing that until I know (a) the other maintainers are unavailable and (b) there has been a month or two without a JOSM release or (c) there is a major OSM infrastructure change that necessitates a release right now (unlikely, IMO).

With that said, please note that I am the newest core maintainer. And I don't have write access in the GitHub repository for plugins. Or JOSM core (but this is really only necessary so I can close PR's that I've merged).

For patches that I probably should have applied this cycle, here is a short list:

  • #21775 (probably safe, but removing code should be done early in a cycle, not late in a cycle)
  • #22013 (if I added a validator check for the cases where sufi was the sole denomination, I probably should have merged that patch last week. Now I'm running into giving translators enough time to do the translations).
  • #17288 (hey, the patch author looks familiar... I won't be merging this in right now (remind me in ~2 weeks if I forget) due to the aforementioned translators)
  • #21997 (I assume that text fields are translated, but I'm not 100% certain. Regardless, I cannot merge it at this point due to the aforementioned translators)

in reply to:  10 comment:11 by gaben, 3 years ago

Replying to taylor.smock:

With that said, please note that I am the newest core maintainer. And I don't have write access in the GitHub repository for plugins. Or JOSM core (but this is really only necessary so I can close PR's that I've merged).

I know, no problem with that. Do whatever makes sense... like #21792 ;)

The rest you wrote is understandable as well, just the disappearance of the core devs looks strange. I don't want JOSM to become abandonware.

comment:12 by taylor.smock, 3 years ago

They haven't disappeared. They just work on JOSM in their spare time. This means that (a) their work can take up more/less of their time in any given month, (b) they may have a vacation planned, (c) other life events may come up.

To the best of my knowledge, I'm the only core dev who has a job related to OSM (I work at Kaart).

I have no intent on allowing JOSM to become abandonware (and I suspect other maintainers would agree). I do need to get better about merging patches from other people mid-cycle.

comment:13 by taylor.smock, 3 years ago

Two week patch ping

comment:14 by taylor.smock, 3 years ago

5 week patch ping (oops).

comment:15 by taylor.smock, 3 years ago

Resolution: fixed
Status: newclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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