I'm getting an error while trying to put new objects into the datastore using JDO. I think it's related to this issue which has been brought up on the forums
. Apologies in advance if this is a duplicate of another issue. As I see it right now, the code in the GoogleAppEngineDirectory does not write to the index in its own transaction, and since Google App Engine restricts transactions to a single entity group the whole thing fails if you write to the datastore from within a transaction.
I'm putting together a patch for the org.compass.needle.gae.* classes. It basically puts the locks in their own entity group, and performs the locking/unlocking in their own transaction. Additionally, it isloates writes to the index in a transaction of their own. Off hand, I couldn't think of a better way to do it. I'll post the patch sometime in the next couple of days.