It seems two threads try to concurrently modify the same node Please check if there is another thread (job or action or another rule still have effect that trigger your action) try to modify the node when your action-executer is triggered
Yes it is clear that what you said is happen. I don't have any other rule or action running.
So the action-executer is run during the entering of the document inside the folder but how to make sure the document and the node is ready to be updated? How "Rule in background" is working? and what is the difference between "Run in background" and "Run normally".
It seems Run normally means that after the document is uploaded and entered the folder the Rule is started so my Rule is well working
My action-executer is written in java so what to add to tell to wait until the noderef is ready to be replaced?
Run normally tells the action to be executed synchronously,and it is in the same transaction with calling method Run in background Indicates the rule should execute the action asynchronously ,it is running in its own transaction.
So you error may be caused by transactions ,could you please paste your action java code here?