We routinely use updateINode() when we need to update the corresponding row fields, which updates the entire row. In many cases the whole row update is not needed, and can actually lead to a race condition similar to the one observer in #31, as described by Plamen, where one thread first gets the INode, then writes and updates version of it back into the row, while another thread updates the row in between.
The alternative is to update only the fields that are actually changing rather than the entire row.
This issue is to investigate where pinpoint updates are applicable and find potential race conditions.
We routinely use
updateINode()when we need to update the corresponding row fields, which updates the entire row. In many cases the whole row update is not needed, and can actually lead to a race condition similar to the one observer in #31, as described by Plamen, where one thread first gets the INode, then writes and updates version of it back into the row, while another thread updates the row in between.The alternative is to update only the fields that are actually changing rather than the entire row.
This issue is to investigate where pinpoint updates are applicable and find potential race conditions.