storj-archived / bridge

Deprecated. Access the Storj network via simple REST API.
https://storj.io
GNU Affero General Public License v3.0
77 stars 44 forks source link

Bridge appears to "forget" about full node #555

Closed gbaker3 closed 6 years ago

gbaker3 commented 6 years ago

I believe the issue is with the bridge, however I am seeing the problem through the behaviour of my node.

Package Versions

Running on Windows 10 Pro 1709

GUI 7.3.1
Daemon 5.3.0
Core 8.5.0
Protocol 1.2.0

Expected Behavior

Please describe the program's expected behavior. Include an example of your usage code in the back ticks below if applicable.

When a node is filled to the point where it will no longer accept shards, I expect the bridge to stop sending ALLOC messages until the node has free space available. When full the reputation metric reduces to 0. Once space is freed, I expect the node to start receiving shards again and the reputation metric to increase.

Actual Behavior

Please describe the program's actual behavior. Please include any stack traces or log output in the back ticks below.

When the node is filled, the reputation metric gradually reduces to 0. As spaced is freed over time due to contracts expiring the node does not begin to receive new ALLOC messages. Even though the "last seen" time continues to update when the node is online, the reputation metric stays at zero and no new ALLOC messages are received by the node.

I have reproduced this problem twice. Both times, restarting the node fixed the problem, the node started receiving ALLOC messages, and the reputation metric increased. Even if restarting the node does fix the problem, it should not be necessary to restart the node as 100% uptime is the goal for highest reliability.

First occurance:

Reproducing the problem:

Steps to Reproduce

Please include the steps the reproduce the issue, numbered below. Include as much detail as possible.

  1. Create a node and allow it to fill to the point where it stops receiving ALLOC messages (at or near 100%) and reputation goes to zero.

  2. Keep node online without restarting until contracts expire and space is freed.

  3. Watch as the node continues to free space via contracts expiring, but no new ALLOC messages are sent.

littleskunk commented 6 years ago

Duplicate: https://github.com/Storj/core/issues/752