1 4 1 Issues

From World Wind Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 18:43, 26 July 2009 (edit)
Ammianus (Talk | contribs)

← Previous diff
Revision as of 18:43, 26 July 2009 (edit) (undo)
Ammianus (Talk | contribs)

Next diff →
Line 1: Line 1:
 +==1.4.1 Issues List==
{| class="wikitable" border="1" {| class="wikitable" border="1"
|- |-

Revision as of 18:43, 26 July 2009


1.4.1 Issues List

ID Issue Description (short) JIRA id (if applicable) Priority (H,M,L) Assigned To Status Fixed in Revision
1 blocking issue between Rismo's code and ROL locks - High unassigned Still Open -
2 James' Icon Performance changes - High unassigned Still Open -
3 Download code error response handling - High ammianus Fix available -

Detail Issue Notes

blocking issue between Rismo's code and ROL locks

Description: The issue with Rismo's code is that he had pushed ROL deletes into a list that were then handled on the main (gui) thread. But you need to do this for both adds and deletes because you can end up with blocking for either one.

The problem then was things in WW and plugins assumed that an add or delete happened immediately so you'd end up with breakage because somethings avoided using the getters and setters but hit the ROL array directly. They would do an ROL.add(...) then try to get at those objects immediately and they weren't there. Or they'd do an ROL.remove(...) and maybe do a dispose on it or something else not nice. So when you got around to handling deletes the object was bad or in some not good state.

The breakage can be pretty obvious (crash) or somewhat more subtle (ROs don't render or behave right).

Forum Threads: Comments:

James' Icon Performance changes

Description: Forum Threads: Comments:

Download code error response handling

Description: Download code will download repeatedly request tiles after a error response code from the server, e.g. 400,404. World Wind will also not handle 500 or other server error responses with appropriate time-out behavior.

Forum Threads: http://forum.worldwindcentral.com/showthread.php?t=8207 http://forum.worldwindcentral.com/showthread.php?t=20337&page=2 http://forum.worldwindcentral.com/showthread.php?t=20700 http://forum.worldwindcentral.com/showthread.php?t=21085

Comments: (ammianus) - 7/26/09 - I've made some changes and tested with the help of James_in_Utah. The changes I made include:

  • 4xx / Client error are cached as failures and WW will not retry to download them during that session (cache is in memory only and cleared when WW is exited).
    • 400 Bad Request
    • 401 Unauthorized
    • 403 Forbidden
    • 404 Not Found
    • 206 Partial Content
    • 200 OK && Content length == 0
  • 5xx / Server Error are recorded and a timeout period will begin before requests are allowed to this server again. A message is displayed in the top right of the UI stating the timeout length. If server response contains "retry-after" header, that period is used, otherwise default is 2 minutes.
    • 500 Internal Server Error
    • 501 Not Implemented
    • 502 Bad Gateway
    • 503 Service Unavailable

Changes made to source files:

  • WebDownload/WebDownload.cs
  • PluginSDK/QuadTileSet.cs
  • PluginSDK/Renderable/GeoSpatialDownloadRequest.cs

See source code svn: https://nasa-exp.svn.sourceforge.net/svnroot/nasa-exp/branches/ammianus

Personal tools