bug (new?) in player archives, again

Sort:
skelos

Came across this today:

https://api.chess.com/pub/player/baldemorski/games/archives

{"archives":["https://api.chess.com/pub/player/baldemorski/games/2012/01","https://api.chess.com/pub/player/baldemorski/games/2012/02","https://api.chess.com/pub/player/baldemorski/games/2012/03","https://api.chess.com/pub/player/baldemorski/games/2012/04","https://api.chess.com/pub/player/baldemorski/games/2012/05","https://api.chess.com/pub/player/baldemorski/games/2012/06","https://api.chess.com/pub/player/baldemorski/games/2012/07","https://api.chess.com/pub/player/baldemorski/games/2012/08","https://api.chess.com/pub/player/baldemorski/games/2012/09","https://api.chess.com/pub/player/baldemorski/games/2012/10","https://api.chess.com/pub/player/baldemorski/games/2012/11","https://api.chess.com/pub/player/baldemorski/games/2012/12","https://api.chess.com/pub/player/baldemorski/games/2013/01","https://api.chess.com/pub/player/baldemorski/games/2013/02","https://api.chess.com/pub/player/baldemorski/games/2013/03","https://api.chess.com/pub/player/baldemorski/games/2013/04","https://api.chess.com/pub/player/baldemorski/games/2013/05","https://api.chess.com/pub/player/baldemorski/games/2013/06","https://api.chess.com/pub/player/baldemorski/games/2013/07","https://api.chess.com/pub/player/baldemorski/games/2013/08","https://api.chess.com/pub/player/baldemorski/games/2013/09","https://api.chess.com/pub/player/baldemorski/games/2013/10","https://api.chess.com/pub/player/baldemorski/games/2013/11","https://api.chess.com/pub/player/baldemorski/games/2013/12","https://api.chess.com/pub/player/baldemorski/games/2014/01","https://api.chess.com/pub/player/baldemorski/games/2014/02","https://api.chess.com/pub/player/baldemorski/games/2014/03","https://api.chess.com/pub/player/baldemorski/games/2014/04","https://api.chess.com/pub/player/baldemorski/games/2014/05","https://api.chess.com/pub/player/baldemorski/games/2014/06","https://api.chess.com/pub/player/baldemorski/games/2014/07","https://api.chess.com/pub/player/baldemorski/games/2014/08","https://api.chess.com/pub/player/baldemorski/games/2014/09","https://api.chess.com/pub/player/baldemorski/games/2014/10","https://api.chess.com/pub/player/baldemorski/games/2014/11","https://api.chess.com/pub/player/baldemorski/games/2014/12","https://api.chess.com/pub/player/baldemorski/games/2015/01","https://api.chess.com/pub/player/baldemorski/games/2015/02","https://api.chess.com/pub/player/baldemorski/games/2015/03","https://api.chess.com/pub/player/baldemorski/games/2015/04","https://api.chess.com/pub/player/baldemorski/games/2015/05","https://api.chess.com/pub/player/baldemorski/games/2015/06","https://api.chess.com/pub/player/baldemorski/games/2015/07","https://api.chess.com/pub/player/baldemorski/games/2015/08","https://api.chess.com/pub/player/baldemorski/games/2015/09","https://api.chess.com/pub/player/baldemorski/games/2015/10","https://api.chess.com/pub/player/baldemorski/games/2015/11","https://api.chess.com/pub/player/baldemorski/games/2015/12","https://api.chess.com/pub/player/baldemorski/games/2016/01","https://api.chess.com/pub/player/baldemorski/games/2016/02","https://api.chess.com/pub/player/baldemorski/games/2016/03","https://api.chess.com/pub/player/baldemorski/games/2016/04","https://api.chess.com/pub/player/baldemorski/games/2016/05","https://api.chess.com/pub/player/baldemorski/games/2016/06","https://api.chess.com/pub/player/baldemorski/games/2016/07","https://api.chess.com/pub/player/baldemorski/games/2016/08","https://api.chess.com/pub/player/baldemorski/games/2016/09","https://api.chess.com/pub/player/baldemorski/games/2016/10","https://api.chess.com/pub/player/baldemorski/games/2016/11","https://api.chess.com/pub/player/baldemorski/games/2016/12","https://api.chess.com/pub/player/baldemorski/games/2017/01","https://api.chess.com/pub/player/baldemorski/games/2017/02","https://api.chess.com/pub/player/baldemorski/games/2017/03","https://api.chess.com/pub/player/baldemorski/games/2017/04","https://api.chess.com/pub/player/baldemorski/games/2017/05","https://api.chess.com/pub/player/baldemorski/games/2017/06","https://api.chess.com/pub/player/baldemorski/games/2017/07","https://api.chess.com/pub/player/baldemorski/games/2017/08","https://api.chess.com/pub/player/baldemorski/games/2017/09","https://api.chess.com/pub/player/baldemorski/games/2017/10","https://api.chess.com/pub/player/baldemorski/games/2017/11","https://api.chess.com/pub/player/baldemorski/games/2017/12","https://api.chess.com/pub/player/baldemorski/games/2018/01","https://api.chess.com/pub/player/baldemorski/games/2018/02"]}


https://api.chess.com/pub/player/baldemorski/games/2012/08

{"message":"Entity of type 'Chess\\WebBundle\\Entity\\LiveTournament' for IDs tournamentId(150740) was not found","code":0}

My code received and reported a 404 error, inconsistent as it looks up the archives first and doesn't probe. I'm tempted to start with the current month and probe back, but the cross-check with what is supposed to be present and what is is probably useful. A missing arhive vs. a month a player didn't play a game can't be distinguished otherwise. This way they can be distinguished but I still can't get the games.
skelos

For what it's worth, not an isolated instance. (Probably good; general problems tend to be easier to diagnose and fix.)

https://api.chess.com/pub/player/chidori_boruto/games/archives

{"archives":["https://api.chess.com/pub/player/chidori_boruto/games/2017/07","https://api.chess.com/pub/player/chidori_boruto/games/2017/08","https://api.chess.com/pub/player/chidori_boruto/games/2017/09","https://api.chess.com/pub/player/chidori_boruto/games/2017/10","https://api.chess.com/pub/player/chidori_boruto/games/2017/11","https://api.chess.com/pub/player/chidori_boruto/games/2017/12","https://api.chess.com/pub/player/chidori_boruto/games/2018/01"]}

https://api.chess.com/pub/player/chidori_boruto/games/2017/11

{"message":"Entity of type 'Chess\\WebBundle\\Entity\\LiveTournament' for IDs tournamentId(905759) was not found","code":0}

Since I'm looking for an archive and not a tournament, that's probably a Clue. Same error in my previous post, so the problem whatever it is looks consistent. (Again, probably good! I hate the times one symptom has two or more issues behind it!)

 

 

 

 

skelos

*bump*

 

Would the live results caching issue mentioned in the Changelog have caused this? Or is it still outstanding? I've not seen another instance since posting, so I'm optimistic, but clarification would be good.

Off next to update my game download script to separate into rated and unrated. Thanks for that feature! For months no problems and then suddenly I had a spate of users who had played unrated games, so very timely. happy.png

skelos

Bug is alive and well:

Fetching https://api.chess.com/pub/player/rikikits/games/2017/11

games: https://api.chess.com/pub/player/rikikits/games/2017/11: 404 Not Found

Fetching https://api.chess.com/pub/player/rikikits/games/2017/12

games: https://api.chess.com/pub/player/rikikits/games/2017/12: 404 Not Found

Fetching https://api.chess.com/pub/player/rikikits/games/2018/01

Fetching https://api.chess.com/pub/player/rikikits/games/2018/02

games: https://api.chess.com/pub/player/rikikits/games/2018/02: 404 Not Found

 

Example from browser of first 404 error:

{"message":"Entity of type 'Chess\\WebBundle\\Entity\\LiveTournament' for IDs tournamentId(905759) was not found","code":0}
skelos

Fetching https://api.chess.com/pub/player/imcraig/games/2014/02

games: https://api.chess.com/pub/player/imcraig/games/2014/02: 404 Not Found

 

{"message":"Entity of type 'Chess\\WebBundle\\Entity\\LiveTournament' for IDs tournamentId(351837) was not found","code":0}
bcurtis

Thank you for updating this, @skelos. We are planning a two-part fix:

  1. We were unaware that there are bad data in the database (games pointing to tournaments that were canceled). For legacy reasons, this is difficult to uncover until v2 is completely shut off. I will discuss with the Live Chess team about fixes to prevent new records of this sort, and try to clean up the old records.
  2. Andrea is hard at work adding Live Chess tournaments to the game results data, and this new work will actively screen out bad links.

Thanks for your help documenting this!

skelos

Thanks for the update. Appreciate it!

andreamorandini

@skelos we have fixed bad data in the database so you should be able to retrieve the archives that were returning the error. 

We have still to correct the source of the problem, so if it happens again please let us know so we can fix it.

skelos

Thanks Andrea.

All the examples I posted now download the problematic months without problems.

If I see more, I will let you know. happy.png But right now your workaround looks 100%.