What does "Conflicts with pending transaction" mean?


(Jzhu077) #1
February 9th 2018, 11:44:38.929	Groups sorted by size: [{gid:5 size:394387240} {gid:3 size:448218921} {gid:4 size:493615604} {gid:7 size:618027778} {gid:9 size:664991389} {gid:8 size:755546402} {gid:6 size:786084198} {gid:1 size:786279927} {gid:10 size:795449195} {gid:2 size:2064521890}]
February 9th 2018, 11:44:38.929	
February 9th 2018, 11:44:38.929	2018/02/08 22:44:38 tablet.go:170: size_diff 1670134650
February 9th 2018, 11:44:38.929	2018/02/08 22:44:38 tablet.go:170: size_diff 401061955
February 9th 2018, 11:44:38.929	2018/02/08 22:44:38 tablet.go:170: size_diff 391892687
February 9th 2018, 11:44:38.929	2018/02/08 22:44:38 tablet.go:87: Going to move predicate value from 1 to 5
February 9th 2018, 11:44:38.962	2018/02/08 22:44:38 tablet.go:91: Error while trying to move predicate value from 1 to 5: rpc error: code = Unknown desc = Conflicts with pending transaction. Please abort.

I found this interesting log in dgraph zero leader
What could be the potential cause of this error? Does it affect the ongoing ingestion?
Is it suggesting the pending transaction should be aborted?
Any help would be greatly appreciated.


(Pawan Rawal) #2

Whenever a predicate move happens, Zero checks if there are any pending transactions for the predicate. If there are, predicate move is cancelled and the pending transactions are aborted. This would typically mean that you’ll have to retry some mutations from the client.

I am not sure if we need to abort pending transactions as we anyway cancel the predicate move. Let me get that checked.


(Jzhu077) #3

Cheers. Unfortunately, dgraph server didn’t return that error when I make the mutation via a transaction, therefore the client side does not aware of the transaction failure. Since it doesn’t log any error in the dgraph server regards the pending transaction, do you think the pending transaction was not aborted? Are you able to verify that? Because I am not sure what is the best way to trigger the similar event.


(Pawan Rawal) #4

If there was an error and transaction was aborted then the client would return an error. I am very sure of that. No error means transactions wasn’t aborted.


(system) #5

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.