From What can be done in a transaction (highlight from me):
All Datastore operations in a transaction must operate on entities in the same entity group if the transaction is a single group transaction, or on entities in a maximum of twenty-five entity groups if the transaction is a cross-group (XG) transaction.
Is there an actual definition corresponding to that 25 number that I can reference in my python app code? Or an API call returning it? I'd prefer to use one, if available, rather than create my own definition of it, just in case Google decides to change it down the road...
Update: To clarify, I'm talking about the equivalent of _MAX_EG_PER_TXN
which I just spotted in LiveTxn._GetTracker()
from the SDK's google/appengine/datastore/datastore_stub_util.py
file:
if self._allow_multiple_eg:
Check(len(self._entity_groups) < _MAX_EG_PER_TXN,
'operating on too many entity groups in a single transaction.')
As a side note it'd be great for debugging if the tracked groups info from self._entity_groups
could be somehow accessed when such exceptions are raised.