You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When we call mutation operations on entites, method pendingExecute puts them in pendingWrites and merges and executes them on transaction end. Sometimes, it leads to so big query, which is obtained as a merge result, that DB couldn't process it.
In our case we can't use immediateWrites, because of performance and we cant make separate transactions because of data consistency.
As it seems to me, there to ways to fix:
(Simple) Make method flushPendingWrites public, so we can flush buffer time to time
(Harder) Flush buffer automatically when it become too big (in bytes)
The text was updated successfully, but these errors were encountered:
But this will not be the end of your problems. With such an enormous amount of data that merged query cannot be executed by the database, even the slightest contention is bound to cause OptimisticLockExceptions again and again and again; your transaction will (almost) never commit(), retrying in vain before aborting (100 times, if you didn't change YOJ's funny defaults for retries).
If you're generating or importing massive amounts of data, maybe try bulkUpsert()?
When we call mutation operations on entites, method pendingExecute puts them in pendingWrites and merges and executes them on transaction end. Sometimes, it leads to so big query, which is obtained as a merge result, that DB couldn't process it.
In our case we can't use immediateWrites, because of performance and we cant make separate transactions because of data consistency.
As it seems to me, there to ways to fix:
The text was updated successfully, but these errors were encountered: