Hello,
I have extensive set of inserts - over 130 thousands. It is split into 4 files - three with 32500 inserts, fourth wit the rest, all running in paralel.
Execution runs just fine until completion. After counter hits 32500 of 32500 in the file I wached (the first which started running) the result sub-window tries to show and whole ADS freezes solid. After some time Execution monitor tries to pop up (I have monitor for long running querries - 5 minutes I think), but i think that it tried to show noticeably later (5 minutes after freeze of ADS?).
Internally it seems that all 4 scripts finished running since all data are present.
Execution time reported by ADS is 3m 31s.
I am connecting to SAP ASE 16.0 SP04 PL01 HF01: 'Adaptive Server Enterprise/16.0 SP04 PL01/EBF 29702 SMP/P/AMD64/Windows 2012 R2/ase160sp04pl01x/0/64-bit/FBO/Wed Jul 21 17:41:43 2021'
Performance monitor keeps varying, like it is trying to do work...
If I can provide more info I will be glad to do so.
Sincerelly yours,
Michal
|
32 KB
|
241 KB
|
41 KB
|
64 KB
|
28 KB
Hi Michal,
Since you are dumping a large number of inserts through the query windows, it is possible that the database can't keep up. Remember that every insert is committed. Commits are expensive transactions. So, in other words, ADS finished the inserts but is waiting for the database transactions to complete. It would be better, if the input data is available, to use import using batch.
Have you tried shutting off the Execution monitor to see if it is causing the freeze. I don't think it will but it is monitoring a lot of transactions with your scenario.
Thanks,
Tom.
Hello Tom,
I has a full access to the database and I checked (from another SQL client from another server) that data are there, so transactios were clearly commited.
Also during the freeze I quickly checked if there are open transactions and there were none.
Moreover please note that after each INSERT there is a GO, so I assume each insert is done separatelly and sequentionally.
I didn´t try to close the Execution monitor - it poped up several minutes after actual freeze occured (I killed whole ADS process tree), but I can try to reproduce the issue and a) thoroughtly check whether there are open transactions in DB and b) if closing Execution monitor unfreezes ADS.
Until then,
Michal
Hello Tom,
I has a full access to the database and I checked (from another SQL client from another server) that data are there, so transactios were clearly commited.
Also during the freeze I quickly checked if there are open transactions and there were none.
Moreover please note that after each INSERT there is a GO, so I assume each insert is done separatelly and sequentionally.
I didn´t try to close the Execution monitor - it poped up several minutes after actual freeze occured (I killed whole ADS process tree), but I can try to reproduce the issue and a) thoroughtly check whether there are open transactions in DB and b) if closing Execution monitor unfreezes ADS.
Until then,
Michal
So concerning the transaction state:
This was normal state during inserts - $audit_xact is system transaction, $ins is my transaction with insert (N.B. - one is shown and three are not, moreover duration is zero - transactions are poping in and out as needed and lasta for fractions of seconds).
When the ADS froze the transactions remained clear - nothing except the system transaction.
Moreover - this time I run aganist DEV system and the Execution moniutor showed up before freeze:
Note the incorrect same spids - they actually were 421 to 424.
Closing the Execution monitor did nothing - didnt even close the monitor window. Attemp at killing just the monitor through Task manager killed whole ADS.
Data were in database and remained even after death of ADS.
Also afrer kill of ADS by Windows the connections in DB did not remain (see spid column; how it was before kill I do not know):
So concerning the transaction state:
This was normal state during inserts - $audit_xact is system transaction, $ins is my transaction with insert (N.B. - one is shown and three are not, moreover duration is zero - transactions are poping in and out as needed and lasta for fractions of seconds).
When the ADS froze the transactions remained clear - nothing except the system transaction.
Moreover - this time I run aganist DEV system and the Execution moniutor showed up before freeze:
Note the incorrect same spids - they actually were 421 to 424.
Closing the Execution monitor did nothing - didnt even close the monitor window. Attemp at killing just the monitor through Task manager killed whole ADS.
Data were in database and remained even after death of ADS.
Also afrer kill of ADS by Windows the connections in DB did not remain (see spid column; how it was before kill I do not know):
Dammn, the pictures went missing... Will try recreate them and add them as attachments...
Dammn, the pictures went missing... Will try recreate them and add them as attachments...
Issue #15916 |
New |
Completion |
No due date |
No fixed build |
No time estimate |
Hi Michal,
Since you are dumping a large number of inserts through the query windows, it is possible that the database can't keep up. Remember that every insert is committed. Commits are expensive transactions. So, in other words, ADS finished the inserts but is waiting for the database transactions to complete. It would be better, if the input data is available, to use import using batch.
Have you tried shutting off the Execution monitor to see if it is causing the freeze. I don't think it will but it is monitoring a lot of transactions with your scenario.
Thanks,
Tom.