Bug #7523
D1Client no longer updates stale NodeList
30%
Description
In V1, it did (through CNode instances) every 2 minutes. In V2 there is no such mechanism.
Subtasks
Related issues
Associated revisions
refs #7523: added logic to refresh the NodeLocator if getMN(NodeRef) doesn't find the requested member node. Throttled refresh 5 seconds. Unit test using mock objects ran into problems, but committing an integration test (that tests the feature) annotated with @Ignore.
refs #7523: added logic to refresh the NodeLocator if getMN(NodeRef) doesn't find the requested member node. Throttled refresh 5 seconds. Unit test using mock objects ran into problems, but committing an integration test (that tests the feature) annotated with @Ignore.
History
#1 Updated by Rob Nahf almost 9 years ago
- Related to Bug #7515: Synchronization uses stale nodelist when establishing new MN client connections added
#2 Updated by Rob Nahf almost 9 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 30
The unit test with mock objects is not working, but an integration-style test works, and has been committed, although commented out. There is a weakness in the NodeLocator class hierarchy that doesn't work well with InMemoryCNodes, because a CNode is used to call CN.listNodes, but is then replaced with a new CNode for the CN.
This should be looked at later.
#3 Updated by Rob Nahf over 8 years ago
HTTP/1.1 style caching is implemented for both listNodes and listFormats, so the need for client-side caching is not as critical, but still useful.