on 2023 Jan 04 9:21 AM
Using SQL Anywhere 17.0.11.7058. We have a single consolidated with SQL Remote replication to approximately 200 remote users. At least one of these remotes is experiencing rollback’s of some of the data applied by DBRemote.
Translating the consolidated database log file, I can see the following statement is being sent to 3 publications
--PUBLICATION-1030-04103716670382-0025-SUBSCRIBE --PUBLICATION-1030-04103716670382-0027-SUBSCRIBE --PUBLICATION-1030-04103716670382-0030-SUBSCRIBE --INSERT-1030-04103716670382 INSERT INTO ECO.AddressesEmail(EmailAddressId,DomainName,LocalAddress, FullAddress,RecordActive,RecordInserted,RecordUpdated,RecordReceived) VALUES(450115,'xxx.xxx.xxx','xxxx.x.xxxx.xxx','xxxx.x.xxx.xxx@xxx.xxx.xxx',1,'2022-08-15 10:13:30.469','2022-08-15 10:13:30.469','2022-08-15 10:13:30.469001') go --REMOTE-1030-04103716670502-0930-RECEIVED-NA-06943578838 --COMMIT-1030-04103716670518-2022-08-15 12:15:36.993 COMMIT WORK go
In a remote database where this information is missing I see the following in the translated log file
--PUBLICATION-1007-03057924498607-0025-SUBSCRIBE --INSERT-1007-03057924498607 INSERT INTO ECO.AddressesEmail(EmailAddressId,DomainName,LocalAddress, FullAddress,RecordActive,RecordInserted,RecordUpdated,RecordReceived) VALUES (450115,'xxx.xxx.xxx','xxxx.x.xxxx.xxx','xxxx.x.xxx.xxx@xxx.xxx.xxx',1,'2022-08-15 10:13:30.469','2022-08-15 10:13:30.469','2022-08-15 10:13:30.469001') go --REMOTE-1007-03057924498725-0101-RECEIVED-NA-04103716670529 --ROLLBACK-1007-03057924498779 ROLLBACK WORK go
Any information on why this might be happening would be appreciated.
The simple and direct answer to your original question appears to be :
When dbremote was trying insert a row into the ECO.AddressesEmail table, there was a foreign key defined on this table that referred to another table, and the parent record in that other table was missing, so the insert failed and was rolled back.
As Volker mentions, you can use PASSTHROUGH ONLY (or a re-extract) to try and address the missing data, but the real question IMHO is why was the parent record not in the remote database?
Reg
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Well, the errors related to missing PK rows explains the rollback itself. I do not know whether the WAIT_FOR_COMMIT option might make a difference here (in case the missing PK rows would be inserted later, but in the same transaction, and in case the option might be set ON in the cons and OFF in the according remote – and additionally, the DBEMOTE -g option might or might make a difference here when grouping transactions).
If the according rows really are missing in the remote, you might be able to
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
66 | |
10 | |
10 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.