Bogus payout values returned by API

One of my nodes 12q3RdqkgSGEdK5y38YLpxFEVM5Va4smh4K9nS4NTnkW65cV2Ec returns bogus values for March payout via API and dashboard:

The node seems to be inconsistent about how much data it stores: 385 GB average vs 10+TB actual.

But

  1. I thought payouts are returned by satellites, not nodes, so even if node is confused about how much data it stores, historical payout shall be still correct
  2. Node reports correct stored size elsewhere in the dashboard, so there is something wrong with that historical payout calculation

Ether way, a bug .

1 Like

Payout estimate is using GBm… :thinking:

Right. This makes it even worse :slight_smile:

It should have been 10TBm or so

Can you confirm that the amount actually paid to you is correct?

Payout is in line with previous month, so I assume its’ correct.

I now checked, node also updated what it displays in the dashboard.

So it looks like maybe it did not receive updates from all satellites at that time; specifically, $0.66 matches what EU satellite reports alone.

So the bug is visual – node shall show in the UI that not all data has been received, instead of pretending partial data is complete.

P.S. And when I’m saying that dashboard keeps being net negative – confusion for users, support burden for moderators, bug load for developers – people disagree..

I think this is precisely the case where the node can’t detect that it received a partial confirmation from the satellite - it’s only one record per month per satellite. Perhaps this could be addressed as follows: if the value differs from the estimate by more than 60%, the node should still display the estimate.
But better to fix a root cause. I didn’t receive a response though.

I have a theory. Historically the node updates databases not immediately, it takes up to 12 hours to update values. It could be possible that the node showed an incorrect estimation until updated the database.

It’s not a partial confirmation. It’s a confirmation from a subset of satellites. Node knows which satellites it’s configured with. It knows which satellites it received update from. So it can show it in the UI. The data is is not partial, it’s complete, just not from all satellites. And node knows which ones.

The fix is pure UI (and api — because there shall he another api that will return validity status)