I have a feeling i know what the problem is here. Can you write a test game where the only functionality is to put a KeyValuePair? If what i suspect is correct; KeyValuePairs and UserGameProfiles are not in the same entity group - so the first time a game is started up, what happens when a call to the KeyValuePair service is made is; PersistenceManager pm = PMF.getManager(); //lookup UGP, not found so create a new one //KVP not found so create a new one pm.close() Since KeyValuePairs and UserGameProfiles are in different entity groups, this cant be done as the Google App Engine error indicates. There are two potential ways around this; 1) Try closing the PersistenceManager between the two creation calls. 2) If this doesnt work it would be best to make the relationship between UGPs and KeyValuePairs owned (being in an owned relationship forces these two datatypes to be in the same entity group) The limitation of this is Owned relationships can only handle very simple database models, which is why it didnt work for ours initially and we had to rewrite the backend to used unowned relationships. On Thu, May 26, 2011 at 10:37 PM, Matt Giuca