Hi,

I have been getting contention errors when uploading data into the
datastore (note I have tuned the defaults which have worked for other
Kinds):

Note: I am using app engine release 1.3.6 for Mac OS X.

---

Uploading data records.
[INFO    ] Logging to bulkloader-log-20100819.113509
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 2500000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 80/second
[INFO    ] Batch Size: 80
[INFO    ] Opening database: bulkloader-progress-20100819.113509.sql3
[INFO    ] Connecting to XXX.com/remote_api
[INFO    ] Starting import; maximum 80 entities per post
..............................................................................................................................................................................................................................................................
[ERROR   ] Retrying on non-fatal datastore error: too much contention
on these datastore entities. please try again.
Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/tools/bulkloader.py", line 691, in PerformWork
    transfer_time = self._TransferItem(thread_pool)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/tools/bulkloader.py", line 848, in _TransferItem
    self.request_manager.PostEntities(self.content)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/tools/bulkloader.py", line 1292, in PostEntities
    datastore.Put(entities)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/api/datastore.py", line 293, in Put
    raise _ToDatastoreError(err)
TransactionFailedError: too much contention on these datastore
entities. please try again.
.........................................................................................................................................................................................................................................................................................................
[ERROR   ] Retrying on non-fatal datastore error: too much contention
on these datastore entities. please try again.

---

I've read Google's documentation with regard to contention, and the
only relationship I am using with these entities are
referenceproperties that I define in bulkloader.yaml:

---

transformers:
- kind: ServiceRef
  connector: csv
  connector_options:
    columns: from_header
  property_map:
    - property: __key__
      external_name: key
      export_transform: transform.key_id_or_name_as_string

    - property: pseudokey
      external_name: pseudokey

    - property: serviceRecord
      external_name: serviceRecord
      import_transform: transform.create_foreign_key('ServiceRecord')
      export_transform: transform.key_id_or_name_as_string

---

Here's the problem:

1 - There are only unique entities in the entities I am uploading (so
there should be no contention for the same entity)
2 - There should be no entity groups that would generate contention
(since I am using referenceproperty as indicated in the docs)

Any idea what's happening here?

Thank you.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to