TL;DR: Hopefully, John is unblocked now, after a couple of manual tweaks.
As background, a very simplified diagram of the
account <---> user profile relationship:
Basically, an e-mail address is verified at the account level, which is stored in the
Sites database. An account can have 0-n user profiles, one per Q&A site. And while a user profile within any given Q&A site has an e-mail address, it is independent - the user profile is tied to the network account by
Id only (e.g. there is no checking that the user profile e-mail address stays in sync with the verified one from the network account, when either changes). And e-mail addresses are not enforced to be unique - multiple accounts can have the same e-mail address, and so can multiple user profiles, even within the same Q&A site.
Now, staff can sometimes end up in situations where their data no longer conforms to the constraints the application expects. This can be due to manual tweaks for testing purposes, profiles set up for experiments like the Community-A-Thon, and other non-standard workflows that go through a developer route (or not through the application at all).
In this case, John had two network accounts. One was the primary account tied to all of his site activity, and one was unused and clearly marked as a test account. The primary account had a GMail address, and the test account had an e-mail address that was not GMail.
John had two users in both
Stack Overflow, one primary and one clearly a test. But both users had an e-mail address matching the test account (i.e. not GMail). Several other Q&A databases had a user tied to the primary account, and they used the non-Gmail address. As an aside, I was expecting to find
@stackoverflow.com in here somewhere, but I did not.
This clearly worked fine for several years. I suspect John hadn't tried an account recovery while he was staff. :-)
To hopefully get John past the exception he currently sees, I made the following changes directly:
- Swapped the
Accounts.VerifiedEmail for the two accounts, so now the primary account uses the non-GMail account, and the test account uses the GMail account.
- Changed the test users in
StackOverflow to use the GMail address, to match the test account they're tied to.
If that gets you unblocked, great! If not, it may be useful background for anyone else who steps in.
And no, there is no BasketWeaving Q&A. Yet.