What happened?
Similar to #18521
Fails on the edge case when finishBundle is executed at the end of a bundle but flushBatch does not take into account duplicates before trying to write to Datastore.
Possible solutions include removing duplicate mutations from mutations ArrayList before flushBatch or just using a HashMap of mutations instead of maintaining an ArrayList which can ensure uniqueness.
org.apache.beam.sdk.Pipeline$PipelineExecutionException: com.google.datastore.v1.client.DatastoreException: A non-transactional commit may not contain multiple mutations affecting the same entity., code=INVALID_ARGUMENT
java.lang.RuntimeException: org.apache.beam.sdk.Pipeline$PipelineExecutionException: com.google.datastore.v1.client.DatastoreException: A non-transactional commit may not contain multiple mutations affecting the same entity., code=INVALID_ARGUMENT
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components
What happened?
Similar to #18521
Fails on the edge case when
finishBundleis executed at the end of a bundle butflushBatchdoes not take into account duplicates before trying to write to Datastore.Possible solutions include removing duplicate mutations from
mutationsArrayList beforeflushBatchor just using a HashMap ofmutationsinstead of maintaining an ArrayList which can ensure uniqueness.Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components