OO10: missing steps during remote debugging
Hi Community and fellow OO users,
A few weeks ago we noticed a problem while using the remote debugger in OO10 Studio; not all steps appeared in the remote debug log. When we looked at the same run in the Central web end all the steps that did not appear in the Studio debug log, would be visible. So if a flow was remotely debugged, it appeared that OO skipped steps, but in reality the debug log in Studio only failed to show them.
This clip shows the problem: http://imgur.com/W3ncuSs
We found out that this only happend on a Oracle Cluster with multiple listeners. If there was only one listener for the Oracle DB we did not found any trouble.
After extensive research with HPE support in Romania, we found that the problem was caused by the way Oracle listeners can "buffer" sequencial numbers, making them not really sequencial anymore. All the listeners could have a buffer of 20 (or more) sequence numbers, and depending on which listener writes the Debugger data to the database, it uses a sequence number from it's own buffer. Since de Studio Debugger sorts the steps in a run on this number, the Debugger fails to display them.
Because the communication between OO and the Oracle database is done via a Third Party connector, this could not solved with a software update. Luckily there is a solution in the Oracle DB which enforces the Sequence to be sequencial. This will result in some performance loss because there is no buffer on the listeners, but this only affects the Studio Debugger performance.
The fix on the DB can be done by enforcing the "order" option on the "OO_DEBUGGER_EVENTS_GENERATOR" sequence:
-- Create sequence
create sequence OO_DEBUGGER_EVENTS_GENERATOR
start with 1337
increment by 1
I wrote this so we can share this with others that might have the same problem.