Closed gavin-norman-sociomantic closed 6 years ago
The bug in the existing channel mirror: https://github.com/sociomantic-tsunami/dhtproto/blob/v13.x.x/src/dhtproto/client/legacy/internal/helper/ChannelMirror.d#L119-L123.
When a request fails due to an internal client error, it is reassigned to all nodes.
The new implementation ought to not use GroupRequest
at all, but rather always assign Listen / GetAll requests to individual nodes.
Recently, connection problems with apps using the channel mirror have led to the apps completely locking up, due to all connections being blocked by retried GetAll or Listen requests.
Previous attempts to fix these kind of issues in the existing channel mirror revealed fundamental design mistakes. It is easier and better to implement a new solution. (Unfortunately, the neo DHT is far from production ready, so it is necessary to fix the legacy client.)
More specifics to be added.