Replicaing 9i+ DDL (SP_OCT_REPLICATE_DDL=1) with named post queues may cause issues if messages in queues get processed out of order/ jumbled order of DDL.
The problem is caused by the implementation of DDL multicasting. All DDL directives get routed to all target post queues, at which they are worked on individually. A rudimentary lock-file mechanism ensures that the same DDL message doesnt get applied by more than one post queue.
This may cause out-of-order posting of DDL messages, where they are left entirely to the mercy of the OS scheduler.
EXAMPLE:
Case where 4 DDL messages, D1..4, are routed to two post queues.
P1 P2
--- ---
D1
D2
D3
D4
In a perfect world, if each DDL operation took precisely the same time to execute, and if both poster queue instances operated on the DDL directives at precisely the same time, P1 (poster instance 1) would operate on D1, P2 on D2, P1 on D3 and P2 on D4, and all would be perfectly in sync. However, this is not always guaranteed to be the case. In the finite time in which a poster instance implements the advisory locking measures necessary in order to gain exclusive execution rights over a DDL directive (say D1), P1 could have finished processing (D2 and D3), giving rise to a posting sequence of D2, D3, D1, D4.
STATUS:
Scheduled for fix in Shareplex 7.X.
This is a limitation with the manner in which DDL is replicated under SharePlex
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center