Resolved issue with miner names
Posted: Tue Jul 28, 2020 11:39 am
Earlier today, Chris resolved a race condition with duplicate worker names. It turns out that we only thought to test what happened with two duplicate worker names, but we never tested what would happen when three miners connected with the same worker name.
Three or more workers triggered a race condition that appended a very long string over and over to the name of the worker. Eventually, the name would get so long that it would exceed the 255 character limit in the database, and shares for that worker and other workers in the same account would fail to be recorded. This circumstance had never happened until this morning because nobody had ever had three workers with the same name.
During the testing, we also identified a separate issue, where the system would also fail to insert shares if a miner chose a worker name longer than 255 characters, the miner chose a group name longer than 255 characters, or the software returned a useragent longer than 255 characters. All of those are now fixed, and will truncate the long strings at 255 characters.
The system has now returned to normal and all issues were resolved. We also deployed the Odocrypt changes at the same time, and are currently verifying that Odocrypt is functioning normally before advertising it.
Three or more workers triggered a race condition that appended a very long string over and over to the name of the worker. Eventually, the name would get so long that it would exceed the 255 character limit in the database, and shares for that worker and other workers in the same account would fail to be recorded. This circumstance had never happened until this morning because nobody had ever had three workers with the same name.
During the testing, we also identified a separate issue, where the system would also fail to insert shares if a miner chose a worker name longer than 255 characters, the miner chose a group name longer than 255 characters, or the software returned a useragent longer than 255 characters. All of those are now fixed, and will truncate the long strings at 255 characters.
The system has now returned to normal and all issues were resolved. We also deployed the Odocrypt changes at the same time, and are currently verifying that Odocrypt is functioning normally before advertising it.