Skip to Content
0

parallel_dsi

Nov 09, 2016 at 09:35 PM

88

avatar image
Former Member

A parallel transaction has failed in database

10 |10000 characters needed characters left characters exceeded
Former Member

We have enabled parallel_dsi with dsi_serialization_method is no_wait ..

DSI getting suspened with below error ..

I. 2016/11/09 14:55:37. A parallel transaction has failed in database 'DS_STANDBY.ops'. The transaction will be executed individually.

Any solution ..

0
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Mark A Parsons Nov 10, 2016 at 03:04 AM
0

By default Repserver requires that transactions submitted to the RDB are committed in the same order as in the PDB.

While no_wait may provide better performance/throughput, it has the highest chance of transactions being committed out of order in the RDB; if transactions are committed out of order in the RDB then Repserver will behave as you're seeing (ie, transactions were (likely) committed out of order).

Possible 'solutions' to your issue ...

1 - resume your DSI connection after it goes down, but be prepared to take this action quite often, especially during periods of high transaction volumes

2 - consider implementing a dsi_partition_rule setting that may help ensure transactions are committed in the correct order [this is going to require a very detailed understanding of your transaction profiles and in most environments won't be of much use if the PDB transaction profiles weren't designed with Repserver in mind, eg, use of different logins, use of transaction names, possibly some schema changes]

3 - replace no_wait with a serialization method (eg, wait_for_commit, wait_after_commit) that has a better chance of ensuring transactions are committed in the correct order in the RDB; you'll need to run tests of the different serialization methods to see which, if any, method can provide a performance benefit in your environment

4 - don't use parallel_dsi [yes, parallel_dsi can provide some performance benefits but, again, will require a very detailed understanding of your transaction profiles]

Share
10 |10000 characters needed characters left characters exceeded