avatar image
Former Member

Sybase IQ 16 SP 08.32,problems with concurrent operations

Hi, i´m facing a problen with a project that involves multiple concurrent inserts and updates on a IQ table, i have read that in sybase IQ 16 you have the "blocking" option to deal with this, so we turned it on , but we are still facing the problem, the message says this :

transaction <number> attempted to access <table name>  created by transaction <number>.

We tried with the default value (0 for indefinied) for the blocking_timeout option, as well as a very large value (100000) but still no luck,does anything else needs to be configurated for the "blocking" option to work?

Then we also tried with the RLV(row level versioning) aplied to this table, and it seemed to work well, however sometimes(and sometimes don´t)  the Insert statements returns 2 duplicate values for the primary key(identity column).

For the problem of the duplicate identity column, we found the note "2208642 - SAP IQ: duplicate insert issue with RLV table" ,this note mentions an error that is very similar to mine and says that it is fixed in IQ 16 sp 10.03, but wen we go to service.sap to downloads, we can´t find this version ,the last  one is :16.0 SP10 PL02   -> IQSERV160010P_2-20011184.ZIP EBF 25000  .

The inserts and updates have been tested  outside stored procedures, inside stored procedures, with "commits" at the end, with commits at the beggining  and we could not make it work.

Does anybody has any suggestions?

Thank you!

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Best Answer
    Oct 21, 2015 at 11:27 PM

    blocking_timeout: When the blocking option is on, any transaction attempting to obtain a lock that conflicts with an existing lock waits for the indicated number of milliseconds for the conflicting lock to be released. If the lock is not released within blocking_timeout milliseconds, an error is returned for the waiting transaction.

    Set the option to 0 to force all transactions attempting to obtain a lock to wait until all conflicting transactions release their locks.

    Identity column support for RLV tables have been added in IQ 16 sp10.04  1-off (linuxamd64)  and sp11 due in Dec.

    You can also get around duplicate insert value insert by creating unique HG index on identity column or setting identity_enforce_uniqueness database option, 

    You will need to upgrade to IQ 16 sp10.03 full release and then applying sp10.04 patch

    https://service.support.com/sap/support/notes/2217529

    https://service.support.com/sap/support/notes/2208642

    IQSERV160010P_3-20011180.TGZEBF 25175: 16.0 SP10 PL03 3Info   119614402.09.2015
    Add comment
    10|10000 characters needed characters exceeded

    • IQ  allows one writer per table,  blocking/blocking_timeout only gives time for other transaction to wait for that amount of time, if lock is released in that time, transaction will proceed , else will raise error.  If application can handle it can submit failed transaction.

      For concurrent writers to same table, but not same page, you will need to use  RLV,  and for identity column support, upgrade server to IQ 10.04. you will need to open incident and request fix for windows platform.

Skip to Content