Upgrading to RavenDB 2.0 in our production systems
Well, we tried to upgrade to RavenDB 2.0 build 2152, and then we quickly had to roll things back. The reason for that, by the way, was authentications issues.
In RavenDB 2.0, we did a lot of stuff to tighten security. In particular, we actively try to push you away from using the system database, and into using named databases. And we also made it easier to specify which databases which users has access to (and what kind of an access).
Unfortunately, while it worked perfectly during testing, going to production revealed that we had a few… issues in it.
Surprisingly enough, those issues weren’t in the logic or how it worked. Those issues boiled down to…. case sensitivity. It turned out that both the user names and the database names were case sensitive in the permission configuration, leading to… well, you probably saw that the site threw a 401 error.
Fixing that config issue was pretty high on my list of things to fix. If only because case sensitivity in this place was just a trap waiting to happen. Once we figured out what was going on, it was relatively easy to fix. This post is now written on a system running the very latest version of RavenDB 2.0.