Nodes can receive a wake up violation when they are actually shutting down
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- rust
- Domain
- blockchain
Research direction
Trace the minting handling for uptime reports, power state changes, and power target changes, using the six-step sequence in the issue as the reproduction scenario. Compare the minting behavior with the Zos operation order mentioned in the report. Done means a node shutting down after a prior wake target does not receive a wake-up violation.
Written by the indexing model from the issue text.
Description
I've observed a rare possibility that a node can receive a wake up violation for failing to boot within 30 minutes when the node is in fact shutting down.
Here's the sequence of events:
- Node boots due to farmerbot. Upon boot it sends an uptime report resulting in both
power_managedandpower_managed_bootset toNone - But, in the same block as that uptime event, there is also a power target change for
Upfor this node. Maybe this shouldn't happen in normal circumstances, but it can and actually has. Since the power state for this node is stillDownat this point,power_managed_bootwill be set - The node only sets its power state to
Upin the next block after its first uptime report, typically - There is a power target change to
Downfor this node more than 30 minutes after the target change toUp - When the node shuts down, it first sets its power state to
Downand thus bothpower_managedandpower_managed_bootare notNone - Next, the node sends a final uptime report before shutting down (usually in the next block after the power state change). At this point, minting interprets this uptime report as a wake up event and assigns the node a violation
If we accept that it's legitimate to send multiple power target changes until a node wakes up, then this definitely shouldn't result in a violation.
Perhaps the solution would be to reorder the sequence of operations in Zos, but I guess that it was implemented this way for a reason, and of course rolling out changes to Zos is slow.
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from threefoldtech/ledger_minting
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
threefoldtech/ledger_minting#36 · 3 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
threefoldtech/ledger_minting#34 · 5 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
threefoldtech/ledger_minting#10 · 1 comment · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
threefoldtech/ledger_minting#8 · 1 comment ·
All issues in threefoldtech/ledger_minting
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100