Quantcast
Channel: Discussion Forum > Connect Data Services
Viewing all articles
Browse latest Browse all 2504

Deadlock / DB API error (2 Comments)

$
0
0

Topic by Luis Melo

Content

We have an integration between Oracle eBus Suite (EBS) and Oracle Service Cloud (OSvC), via Oracle SOA Suite,

We are testing the migration/integration of contact records from EBS to OSvC.

In OSvC we have a business rule that is applying SLA instances to the contacts, when these are created.

Contact creation was failing. Error: “Cannot save/update: Contact(ID=0): DB API Error While performing create on Contact”.

Oracle Support found that this was related to a deadlock issue. Having two "clients" trying to lock the same record (SOA and business rule).

We then tried the following scenarios:

  1. Business Rule disabled – OK, contact records created.
  2. Business Rule enabled (with trigger on Person.Created) – Failed to create contact records, with deadlock issue.
  3. Business Rule enabled (with trigger on Person.Source) – Failed to create contact records, with deadlock issue.
  4. Business Rule enabled (with trigger on Person.Type) – OK, contact records created with SLA instances.

So we thought we had our problem resolved if we went for option 4, but noticed a different issue… When we tried option 4 with c. 10 records, saw 10 records created in OSvC, including SLA Instances associated, so all was looking good at that point. Then we tried option 4 with 1,000 records and saw 992 records created in OSvC, including SLA instances, so all looking good apart from 8 records. Checked these 8 records, the errors were unrelated to the DB API error seen with the deadlock, so on the face of it this seems OK.

However, when we checked from SOA side we could see 272 errors – mainly DB API errors. So we have the Connect Web Service returning a DB API error and causing the fault to be thrown, but it is still creating the record in OSvC. 

This leaves us in the position where we never receive the ID back in SOA, from OSvC, and the SOA cross reference table will never have the record inserted. See an example attached of a record that was created in OSvC but threw error to SOA.

Can anybody shed some light?

 

Version

Nov 2015

Image


Viewing all articles
Browse latest Browse all 2504

Trending Articles