Re: [google-appengine] Contention happens using Task Queue

2015-12-17 Thread 'Alex Martelli' via Google App Engine
On Wed, Dec 16, 2015 at 6:20 PM, Christian F. Howes < christian.ho...@starmakerinteractive.com> wrote: > is the object part of an entity group? there is a limit on the number of > writes to an entity group (with or without transactions) > Yep, and, note that "being part of an entity group" just

Re: [google-appengine] Contention happens using Task Queue

2015-12-17 Thread Jeff Schnitzer
Also a nearly guaranteed way to create contention is to modify an entity and then non-transactionally enqueue a task which modifies that entity. The task fires immediately and the two writes conflict. The great thing about enqueueing transactional tasks is that the task is guaranteed to fire

Re: [google-appengine] Contention happens using Task Queue

2015-12-16 Thread Christian F. Howes
is the object part of an entity group? there is a limit on the number of writes to an entity group (with or without transactions) On Tuesday, December 15, 2015 at 12:02:23 PM UTC-8, Yun Li wrote: > > And there is NO transaction at all. We don't use transaction. But I am not > sure if objectify

Re: [google-appengine] Contention happens using Task Queue

2015-12-15 Thread Yun Li
And there is NO transaction at all. We don't use transaction. But I am not sure if objectify uses the transaction in put. On Thursday, December 3, 2015 at 9:59:00 PM UTC-8, Jeff Schnitzer wrote: > > You'll need to post some more code details - including the structure of > the object you are

Re: [google-appengine] Contention happens using Task Queue

2015-12-15 Thread Yun Li
Entity entity= EntityDao.get(entityID); // get parameters, gpsLat, batteryLevel...etc. queue.add(TaskOptions.Builder.withUrl("/update").param(Parameters.EntityID, entityID).param("gpsLong", gpsLong) .param("gpsLat", gpsLat)

Re: [google-appengine] Contention happens using Task Queue

2015-12-03 Thread Jeff Schnitzer
You'll need to post some more code details - including the structure of the object you are trying to change. Also you don't mention whether this is an exception or just a log message. It's easy to accidentally create contention with the task queue, especially if you're in a transaction and

[google-appengine] Contention happens using Task Queue

2015-12-03 Thread Yun Li
I am using Objectify. This error happens when updating a single datastore entity. There is NO TRANSACTION. My working flow as follows: 1 Entity entity1 = Objectify.read(id1) 2 Modify entity1's property and put "update(entity1)" in a taskqueue 3 When task executes: Objectify.save(entity1) Then I