Oops. Looks like someone at SE Towers pressed the wrong button/s.
We just did a major revamp of how badges are awarded behind the scenes
to drastically reduce the load on SQL Server. It now takes advantage
of some pre-compute work we're doing to track badge progress in the
However, I screwed up 2 queries, specifically the text names of the
badges that prevent duplicate awarding. I was thinking to myself
earlier "hey, maybe we should pass these in" as part of the rewrite -
but it's not quite so simple. I'll take another look at this soon but
when we're not fighting fires from a SQL Server upgrade. The
cardinality changes which hosed some of the bigger badge queries
needed urgent attention here, which ended up as a major revamp and
introduced the 2 errors reported here.
Apologies for all the bad grants here - that certainly wasn't the
intention. Due to how badges get tested, it's also not a symptom that
shows up locally. If I can change this to a param exclusion passed by
the code then things like this become far less likely to happen going
Fixed now, all apart from the fact that my badge count still says
which I gather will get fixed overnight
I have cleaned up all achievements and grants associated with the bad
code. User badge counts (on user cards and flair) will sync up tonight
as part of a regular process.