AWS Thinkbox Discussion Forums

Deadline Monitor: Error occurred while updating slave cache

  1. 6.2.0.32 R (2563d5bc8)
  2. OSX 10.8.5
  3. N/A
  4. Update error occurs when opening the Deadline Monitor

Since updating to 6.2 we’re getting an issue on our OSX workstation properly viewing slave nodes using the Deadline Monitor. All nodes appear blue and have ‘Unknown’ in the status field. The monitor is updated to the latest version. We also tried reinstalling the client from the original installer DMG. See attached image and the error message below:

2014-06-09 13:50:57:  Error occurred while updating slave cache: QueryFailure flag was BSONObj size: -286331154 (0xEEEEEEEE) is invalid. Size must be between 0 and 16793600(16MB) First element: Arch: "x64" (response was { "$err" : "BSONObj size: -286331154 (0xEEEEEEEE) is invalid. Size must be between 0 and 16793600(16MB) First element: Arch: \"x64\"", "code" : 10334 }). (MongoDB.Driver.MongoQueryException)

It sounds like there is corruption in the SlaveInfo collection in the database. There are a couple of things you could do to try and fix the issue:

  1. Select all of your slaves in the Monitor and delete them. This would mean you would have to set up your pools and/or groups on the slaves again.

  2. Use “mongo” to connect to the database via the command line and clear the SlaveInfo collection.

For (2), these are the steps:

  1. On the machine that the database is installed to, open a command prompt and navigate to your Database’s bin folder (ie: /Applications/Thinkbox/DeadlineDatabase6/mongo/application/bin on OSX, /opt/Thinkbox/DeadlineDatabase6/mongo/application/bin on Linux, or C:\DeadlineDatabase6\mongo\application\bin on Windows).

  2. Run “mongo” without any command line arguments. It will automatically connect to the local database on the machine.

  3. Type in “show dbs” and press to see the installed databases. You should see a database called “deadlinedb” or “deadline6db”. For the purposes of this walkthrough, we’ll assume it’s the former.

  4. Type in “use deadlinedb” and press to connect to the Deadline database.

  5. Type in “show collections” and press . You should see a list of all the collections, including one called SlaveInfo.

  6. Type in “db.SlaveInfo.remove()” and press . This will clear out your SlaveInfo collection without wiping any of your Slave Settings. The next time a slave starts up, it will recreate its SlaveInfo.

  7. Type in “quit()” and press to exit.

Hopefully one of these does the trick.

Cheers,
Ryan

Thanks for the suggestions, Russell.

Uh oh! We tried both options. First, we did the ‘db.SlaveInfo.remove()’ method. No luck. Then tried straight up deleting the slaves. Now none of our workstations see slaves and we all receive the same error, which is identical to before. What next?!

Something odd… when I use the right-click menu to open a remote desktop connection (on our PC workstation) it connects successfully and proceeds to add the connected slave to the pool at the bottom, with the correct information. Although, the ‘Last Status Update’ timestamp stays the same.

Hmm, the best thing to do at this point then would be to contact support@thinkboxsoftware.com. Our support guys can probably set up a Team Viewer session with you and try to figure out what’s going on. Probably will resolve the problem quicker than going back and forth on the forum. :slight_smile:

Thanks!
Ryan

And indeed it did!

We did need to do an offline repair.

On OS X, here are the three commands you’ll need to run:

[code]echo “Stopping database”
launchctl unload /Library/LaunchDaemons/org.mongodb.mongod.plist

echo “Repairing database”
/Applications/Thinkbox/DeadlineDatabase6/mongo/application/bin/mongod —-repair --logpath /Applications/Thinkbox/DeadlineDatabase6/mongo/data/logs/log.txt --dbpath /Applications/Thinkbox/DeadlineDatabase6/mongo/data

echo “Restarting database
launchctl load /Library/LaunchDaemons/org.mongodb.mongod.plist

echo “Done”[/code]

If you chose to install MongoDB in a different location, substitute “/Applications/Thinkbox/DeadlineDatabase6/mongo” with the path you chose during installation.

Privacy | Site terms | Cookie preferences