Fix potential race condition in node update

Refs BNC#861527

Processes:

A                                    | B
------------------------------ | ---------------------
Enters locked block       | Spins on the lock
Loads node info X         |
Modifies node info X+a |
Exits locked block         | Enters locked block
                                     | Loads node info X
Saves node info X+a    | Modifies node info X+b
                                    | Exits locked block
                                    |Saves node info X+b

Expected behavior is that B already works with updated info X+a.