Database snapshots from bug report?

Game development with Board Game Arena Studio
Post Reply
User avatar
CuriousTerran
Posts: 21
Joined: 12 July 2020, 21:03

Database snapshots from bug report?

Post by CuriousTerran »

I found this interesting thread for loading game database states from the bug report.
https://boardgamearena.com/forum/viewto ... 12&t=16454
I am able to load the database from the bug report, but the database state is for after the game has finished well after the bug occurred. Is there a way to view sql calls or history of the previous database states from the web interface? Thanks for any ideas you have.
User avatar
Een
Posts: 3861
Joined: 16 June 2010, 19:52

Re: Database snapshots from bug report?

Post by Een »

Hello,
The snapshot is taken at the moment the bug is reported. So indeed if the player reports the issue after the end of the game, you'll get the database at the end of the game (or nothing, if the player has waited more and the database has already been collected).
(we can't snapshot every move, it would be way too resource intensive)
User avatar
CuriousTerran
Posts: 21
Joined: 12 July 2020, 21:03

Re: Database snapshots from bug report?

Post by CuriousTerran »

Thank you for the reply. I figured the DB was a one shot thing.
If you're taking some suggestions maybe some of these could help with debugging with database views.
1) Keep the last 5-10 database snapshots on a rolling basis during game
2) maybe the a gzipped text log of the full games database calls with a similar garbage collecting so that they only are kept within a certain amount of time.
3) Any of the above, but perhaps a way for the developer to turn off or on the additional info collecting for a limited amount of time.

Enabling better debugging will help developers get to more bugs leading to happier customers.
User avatar
RicardoRix
Posts: 2541
Joined: 29 April 2012, 23:43

Re: Database snapshots from bug report?

Post by RicardoRix »

This is not really necessary, you can still play through the game from start to finish and encounter the bug.
User avatar
CuriousTerran
Posts: 21
Joined: 12 July 2020, 21:03

Re: Database snapshots from bug report?

Post by CuriousTerran »

I am aware of the replay game mechanism to view what occurred during the game and the mechanisms to load a database game state saved from the bug report. What other way is there to 'play through the game from start to finish and encounter the bug'?
Are you suggesting manually altering the database to the configuration at the start of the game and play through game making all choices the players did? How do you handle random elements? Would I need to manipulate the DB for random elements as well?

In this particular case I can see the bug happen on the replay, but that has not helped me so far figure out how the bug occurred. Is there another way to step through a game?
User avatar
Een
Posts: 3861
Joined: 16 June 2010, 19:52

Re: Database snapshots from bug report?

Post by Een »

CuriousTerran wrote: 12 November 2020, 15:03 If you're taking some suggestions maybe some of these could help with debugging with database views.
1) Keep the last 5-10 database snapshots on a rolling basis during game
2) maybe the a gzipped text log of the full games database calls with a similar garbage collecting so that they only are kept within a certain amount of time.
3) Any of the above, but perhaps a way for the developer to turn off or on the additional info collecting for a limited amount of time.
Improvements are always good, but taking database snapshots is really resource intensive. Logging sql calls on a per game basis could be doable, but with the volumes we have, it could quickly mean a lot of data. So indeed, it would have to be enabled only on a small period of time.
CuriousTerran wrote: 12 November 2020, 16:43 In this particular case I can see the bug happen on the replay, but that has not helped me so far figure out how the bug occurred. Is there another way to step through a game?
I think RicardoRix was indeed mentioning the replay. Note that the replay is based on static content and notifications, no database is used or recreated during the replays.
Post Reply

Return to “Developers”