Experimental Fix for Long-Standing DNS Problems
- The mechanism used to perform DNS look ups was changed from an application-hosted DNS resolver to a combination of threads and the host operating system's resolver.
Mesh Download with Better TCP Connection Behavior
- This release of the viewer reduces by 75% the number of connections used for downloading meshes. It also reuses these connections more effectively further reducing network demands. Those who have experienced connectivity problems from router instability or other networking problems may see a significant improvement.
General Reliability Improvements in Mesh Upload and Download
- A great deal of work was put into the mesh upload and download code. Better error handling, less frequent request retries, removal of many thread issues and fixes for numerous smaller bugs are a part of this release.
The DNS problem usually appears as a login failure with the following alert:
This occurs on all platforms and for multiple reasons, not all of which are completely understood. But they center on a DNS resolver library that issues DNS requests directly from the viewer. To solve these problems, we're trying a scheme that uses threads and the normal operating system resolver library.
If you had this problem and changed your computer's DNS configuration to use Google DNS (https://developers.google.com/speed/public-dns/docs/using) or other DNS service, these changes are particularly relevant to you. We're inviting people who have experienced DNS failures to do some testing of the new scheme.
- Revert your DNS configuration.
- Restore your DNS settings to their original values. In most cases, this will mean switching back to the values provided automatically by DHCP. Visiting the Google page may jog your memory.
- Confirm that your current Second Life viewer has the DNS problem.
- Before installing the new viewer, login using your old viewer and see if you get the DNS error above.
- If it just works, that's good for you, bad for us: we won't be able to see an improvement. You might leave the DNS settings in their natural form (using DHCP) or go back to Google DNS. Whichever works best for you.
- If it fails to login due to the DNS problem, you've confirmed the original situation still applies and we can move on to the next test.
- Test the new viewer; confirm correct behavior.
- Install and login using this release.
- Login and scene loading should work as expected without DNS errors.
- Teleport a few times and verify that scene load continues without DNS problems.
- Report test results, good or bad.
If you experience new problems, please report them in Jira (https://jira.secondlife.com/).
Mesh Download and TCP
A few new settings have been added to control the behavior of mesh HTTP operations. We don't recommend changing these settings, they have been set to appropriate values. But special cases may arise and you can try these to work around problems.
- Controls the maximum number of concurrent mesh download requests issued by the viewer. If you encounter unreliable networks or routers or have a low-bandwidth connection, you might find that lowering this value improves the your experience.
- If set to TRUE, the viewer will revert to the original HTTP scheme for downloading meshes. (This also re-enables the old MeshMaxConcurrentRequests setting.) We don't imagine any scenario where this might be needed. But it's available as a possible workaround for unforeseen problems.
- Servers are beginning to provide 'Retry-After' response headers for 503 HTTP failures. When this setting is TRUE, the viewer will make use of these headers to better schedule retries of mesh downloads. But there may be circumstances, such as a very high ping-time environment, where it doesn't work as well. By setting this to FALSE, retries will be scheduled according to an exponential backoff rule; the same as is used for texture downloads. If you find that a FALSE setting consistently gives you a better experience, we'd like to hear about your environment. A report in Jira, say.