Project

General

Profile

Bug #7523

D1Client no longer updates stale NodeList

Added by Rob Nahf almost 6 years ago. Updated over 5 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
d1_libclient_java
Start date:
2015-12-10
Due date:
% Done:

30%

Milestone:
None
Product Version:
*
Story Points:
Sprint:

Description

In V1, it did (through CNode instances) every 2 minutes. In V2 there is no such mechanism.


Subtasks

Task #7536: fix D1Client so that it refreshes the nodelist if MN not foundClosedRob Nahf

Task #7537: add nodelist refreshes to NodeLocator classesNewRob Nahf

Task #7538: look at nodeFactory in how it builds mock CNodesNewRob Nahf


Related issues

Related to Infrastructure - Bug #7515: Synchronization uses stale nodelist when establishing new MN client connections Closed 2015-12-07

Associated revisions

Revision 17178
Added by Rob Nahf almost 6 years ago

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.

Revision 17178
Added by Rob Nahf almost 6 years ago

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 6 years ago

  • Related to Bug #7515: Synchronization uses stale nodelist when establishing new MN client connections added

#2 Updated by Rob Nahf almost 6 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 5 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.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)