ERROR 2015-06-25 07:45:16,864 datastore_distributed.py:358] Concurrent transaction exception on delete.
WARNING 2015-06-25 07:45:16,865 tasklets.py:409] suspended generator _delete_tasklet(context.py:363) raised TransactionFailedError(Concurrent transaction exception on delete.)
WARNING 2015-06-25 07:45:16,866 tasklets.py:409] suspended generator delete(context.py:844) raised TransactionFailedError(Concurrent transaction exception on delete.)
CRITICAL 2015-06-25 07:45:16,867 logger.py:105] Unexpected exception. Traceback (most recent call last):
File "/root/appscale/AppServer/lib/webapp2-2.5.2/webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "/var/apps/toi-proving-ground/app/server/security/core.py", line 43, in check_right
return func(*args, **kwargs)
File "/var/apps/toi-proving-ground/app/server/integration_tests_utils/namespace_cleaner.py", line 52, in post
ndb.delete_multi(to_delete)
File "/root/appscale/AppServer/google/appengine/ext/ndb/model.py", line 3902, in delete_multi
for future in delete_multi_async(keys, **ctx_options)]
File "/root/appscale/AppServer/google/appengine/ext/ndb/tasklets.py", line 325, in get_result
self.check_success()
File "/root/appscale/AppServer/google/appengine/ext/ndb/tasklets.py", line 368, in _help_tasklet_along
value = gen.throw(exc.__class__, exc, tb)
File "/root/appscale/AppServer/google/appengine/ext/ndb/context.py", line 844, in delete
yield self._delete_batcher.add(key, options)
File "/root/appscale/AppServer/google/appengine/ext/ndb/tasklets.py", line 368, in _help_tasklet_along
value = gen.throw(exc.__class__, exc, tb)
File "/root/appscale/AppServer/google/appengine/ext/ndb/context.py", line 363, in _delete_tasklet
yield self._conn.async_delete(options, datastore_keys)
File "/root/appscale/AppServer/google/appengine/ext/ndb/tasklets.py", line 454, in _on_rpc_completion
result = rpc.get_result()
File "/root/appscale/AppServer/google/appengine/api/apiproxy_stub_map.py", line 615, in get_result
return self.__get_result_hook(self)
File "/root/appscale/AppServer/google/appengine/datastore/datastore_rpc.py", line 1643, in __delete_hook
self.check_rpc_success(rpc)
File "/root/appscale/AppServer/google/appengine/datastore/datastore_rpc.py", line 1224, in check_rpc_success
raise _ToDatastoreError(err)
TransactionFailedError: Concurrent transaction exception on delete.
WARNING:root:Concurrent transaction exception for app id toi-proving-ground with info acquire_additional_lock: There is already another transaction using /appscale/apps/toi-proving-ground/locks/toi-proving-ground%00%00Company%3Aaleonov-test%01 lock
WARNING:root:Trying again to acquire lockinfo acquire_additional_lock: There is already another transaction using /appscale/apps/toi-proving-ground/locks/toi-proving-ground%00%00Company%3Aaleonov-test%01 lock with retry #2
ERROR:root:Lock /appscale/apps/toi-proving-ground/locks/toi-proving-ground%00%00Company%3Aaleonov-test%01 in use by /appscale/apps/toi-proving-ground/txids/tx0000001299
WARNING:root:Concurrent transaction exception for app id toi-proving-ground with info acquire_additional_lock: There is already another transaction using /appscale/apps/toi-proving-ground/locks/toi-proving-ground%00%00Company%3Aaleonov-test%01 lock
WARNING:root:Trying again to acquire lockinfo acquire_additional_lock: There is already another transaction using /appscale/apps/toi-proving-ground/locks/toi-proving-ground%00%00Company%3Aaleonov-test%01 lock with retry #1
ERROR:root:Lock /appscale/apps/toi-proving-ground/locks/toi-proving-ground%00%00Company%3Aaleonov-test%01 in use by /appscale/apps/toi-proving-ground/txids/tx0000001299
WARNING:root:Concurrent transaction exception for app id toi-proving-ground with info acquire_additional_lock: There is already another transaction using /appscale/apps/toi-proving-ground/locks/toi-proving-ground%00%00Company%3Aaleonov-test%01 lock
ERROR:root:Notify failed transaction removing lock: /appscale/apps/toi-proving-ground/txids/tx0000001306
ERROR:root:Concurrent transaction exception for app id toi-proving-ground, info acquire_additional_lock: There is already another transaction using /appscale/apps/toi-proving-ground/locks/toi-proving-ground%00%00Company%3Aaleonov-test%01 lock
Hey there,
Local datastore expert here. The difference between the two is that AppScale uses pessimistic locking and the GAE uses optimistic concurrency control.
The API itself is almost 100% compatible minus the test that fail because of this issue. Maybe AppScale should be more optimistic also. ;)
-Raj
--
You received this message because you are subscribed to the Google Groups "AppScale Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to appscale_commun...@googlegroups.com.
To post to this group, send email to appscale_...@googlegroups.com.
Visit this group at http://groups.google.com/group/appscale_community.
For more options, visit https://groups.google.com/d/optout.
The team at AppScale is always optimistic :)
--
Sorry I didn't get to this earlier. When I can figure it out I'll get back to you.
-Raj
--