It's Just OOTB Obj-Save and commitWithErrorHandling and we have our own primary key in the table that we are saving to.
Scenario is as below:
We have an external DB(SOR), which contains a flag X, whenever an interaction case(CS framework) is created, we try to store the flag X into our Pega table. There is another flag Y which we maintain only in Pega in the same table.
If the interaction case is created for the first time, there will not be any record in our table, so we create a record and save the flag X into our table.
If the record is already existing for the primary key, then we open the record and save X into the record. The same record contains the flag Y.
Issue here is we although we are saving the record for only one primary key, in one case it saved the same values for 10 records(except the primary keys). The create date time, update date time, customer name and few columns are exactly same even though the primary keys are not at all related to each other.
Basically i thought the issue might be due to the getCurrentTimeStampUnique RUF which fails in the multinode environment to generate the unique timestamp. But as per your above explanation the other record values like create date time, update date time, customer name and so on are being updated while saving one record, so you would probably try to trace the use case with DB Query and DB Cache enabled in the tracer log to analyze the sql queries that are being triggered.