Saturday, January 03, 2009

Amazon SDB: "Eventually Consistent" Applies to Credentials

I wanted to get my head around using Amazon SimpleDB for a couple of projects, so I grabbed Typica, the Java library for accessing AWS services. I was having some massive problems with authentication validation errors, but because the Typica distribution doesn't include source code, I realized that the source line numbers don't match up with the binary for 1.4.1.

Even updating to a SVN pull of head didn't solve things. So I waited while I ate my dinner. Some requests went just fine, some failed. Since SDB involves a scatter/gather approach, this meant that my system wasn't working properly as a whole and I couldn't get my aggregate results correctly.

After waiting a while, the problem went away on its own. I think it's a result of the Eventually Consistent principle at work. I had enabled my AWS account so recently it hadn't had a chance to propagate my AuthN/AuthZ credentials to all the SDB nodes. When it finally did, everything was fine. And I can now quantify the time it takes: One Pizza. That's how long it takes. Push data, eat pizza straight out of oven, data consistent.

By the way, now is a perfect time to try out SDB. It's essentially free for the time being, so no reason not to try it out. I'll have more postings on it, because it's pretty cool.
blog comments powered by Disqus