The Windows updater cannot start the node after update

I usually update my node manually after checking the github release of a new version.
The updater usually never updates the node correctly, I don’t know why. This is a windows box.

I run the successrate script on the old storagenode.log, here are the results

03-23-2021 - 04-11-2021
========== AUDIT =============
Successful: 3192
Recoverable failed: 0
Unrecoverable failed: 0
Success Min: 100%
Success Max: 100%
========== DOWNLOAD ==========
Successful: 23551
Failed: 35
Success Rate: 99.8516068854405
========== UPLOAD ============
Successful: 638431
Rejected: 0
Failed: 532
Acceptance Rate: 100
Success Rate: 99.9167400929318
========== REPAIR DOWNLOAD ===
Successful: 5629
Failed: 0
Success Rate: 100
========== REPAIR UPLOAD =====
Successful: 5629
Failed: 10
Success Rate: 99.9928462589511

Seems it has an updater with bug. Please, update it: How do I manually update a windows instance and why was this not mentioned anywhere? - #4 by Alexey

Yah, I manually just update it myself. Download updated binaries from github, Shutdown node, swap the EXEs, move logs to old folder, power it back up. This is the time that I do other checks as well, like watching the log as it powers up for any warnings or errors.

Could be something to do with permissions or something, I don’t know. The box is running Windows Server 2016.

No, the updater will update your node when its time to come - we do not want to shutdown the whole network with a buggy update.
So we update them gradually. You should not force the update, please, just wait when it’s updated.

I Understand. Next time an update pops up, I will see if the updater works as expected, I just know the last time it attempted to do an update, it was unable to start the service which means an offline node. It could be days or weeks before I catch it.

Is the software tested on a separate testing network before being pushed to the node operators?
I am sure this is how software development goes. Test it on the test net to catch issues before pushing to the node operators.

Should attached the github binaries to a release when it has passed the test network.

Yes. You can find the test network on our github repository. It is called storj-sim.

So I rolled it back to 1.25.2, I want to see if the updater does it job but I know it won’t. So what will end up happening is that the storagenode.exe service won’t start, something to do with how the updater renames the files. So because the storagenode.exe is missing, the service won’t start when the updater calls it to start.

Now got to wait for it to be rolled out to the node to test this.

Please, update this thread if that would happen and post the excerpt from the storagenode-updater.log.
Thank you!

Would you mind if I rename the thread to the the “The Windows updater cannot start the node after update”?
If you want to share your successrate score, I could move it to the Successrate.sh comparison thread

You can rename the thread if you like and move the successrate score to that other thread.
I will update this thread if it happens. That’s the reason on why I was updating it manually, it just one day I discovered the node offline and it was due to the updater.

1 Like

A post was merged into an existing topic: Successrate.sh comparison thread

When you think the new version would arrive to the node?
Updater Log shows, New version is being rolled out but hasn’t made it to this node yet

Just incase, I backup the EXEs, so when the rollout does arrive, I could test it. If there is a problem, I will see about setting up a VM to reproduce the problem on a fresh install of windows server 2016 but that would require a test node.

Now there are no other EXEs in the folder currently except for the storagenode and updater, if I remember correctly, when the issue happened, there were multiple EXEs, the old versions in the directory.

This issue occurred months ago but hopefully it’s fixed now.

I have no idea. I can say only that the rolling out is finished for binary versions when the cursor on https://version.storj.io/ will reach "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"