$(function () { pageContext.i18n.modTalk = 'moderation talk'; pageContext.i18n.replyToComment = 'Reply'; pageContext.i18n.modTalkEmpty = 'moderation talk is empty'; pageContext.url.getModTalk = "/comments/%25ID%25/listModTalk.json"; pageContext.url.possibleCommentRecipients = "/comments/%ID%/possibleRecipients.json"; pageContext.url.commentEdit = '/comments/%25ID%25/edit.html'; pageContext.url.commentView = '/comments/%ID%/view.html'; pageContext.i18n.commentVisibility = { 'full': 'Viewable by all users', 'op': 'Viewable by the original poster', 'mod': 'Viewable by moderators', 'opAndMod': 'Viewable by moderators and the original poster', 'other': 'Advanced visibility', 'dialogTitle': 'Comment visibility', 'selectGroups': 'Visible to groups', 'selectOther': 'Other recipients', 'selectOriginalPoster': 'Original poster', 'selectModerators': 'Moderators', 'selectAssignees': 'Asked to answer users' }; pageContext.i18n.commentMenuLabels = { 'comment-edit': 'comments.menu.edit', 'comment-delete': 'comments.menu.delete', 'comment-convert': 'comments.menu.convert' };pageContext.i18n.answer= { bestAnswer: 'Best Answer', controlBar : { accept: 'Accept', unaccept: 'Unaccept', acceptCommand: 'Accept this answer as correct', cancelAcceptedCommand: 'Remove this answers accepted status' } }; window.croles = { u: false, op: false, m: false, og: false, as: false, ag: false, dc: false, doc: false, eo: false, ea: false }; tools.init({ q: { e: false, ew: false, eo: false, r: false, ro: false, d: false, dow: false, fv: false, c: false, co: false, p: false, tm: false , ms: false, mos: false }, n: { f: false, vf: false, vfo: false, vr: false, vro: false, c: false, co: false, vu: false, vd: false, w: false, wo: false, l: false }, c: { e: false, eo: false, d: false, dow: false, ta: false, tao: false, l: false }, a: { e: false, ew: false, eo: false, d: false, dow: false, a: false, aoq: false, ao: false, tc: false, tco: false, p: false, tm: false }, pc: croles }, { tc: true, nsc: true }); commandUtils.initializeLabels(); }); Skip to Content
0

des_putdlevel0cnt() wait by waitutil for L0 completion

May 03, 2017 at 08:37 AM

48

avatar image
Former Member

Good afternoon!

We found that on the test server some of the processes work with the wait type "des_putdlevel0cnt () wait by waitutil for L0 completion". But I could not find the description of this wait type.

Except this link https://wiki.scn.sap.com/wiki/display/SYBASE/ASE+Wait+Events+650+to+699 , but no helpfull information here.

Help me understand what this wait type means is and how to deal with it.

Thanks.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Best Answer
Bret Halford
May 03, 2017 at 02:27 PM
1

"des_putdlevel0cnt () wait by waitutil for L0 completion"

"L0" refers to scans being done at isolation level zero."DES" is an object descriptor that stores, among other things, the number of isolation level 0 scans currently in progress on the table, or whether a utility command is currently active on the table..

"waitutils" are a subset of the utility commands (CREATE, ALTER, DROP, REORG) that can be run in "online" mode, such as REORG DEFRAG and the ALTER DATABASE OFF (aka "shrink database) commands.

Isolation level 0 scans and utility commands generally cannot run concurrently on the same object and will abort if the other type of command active on the object. However these new online utilities ("waitutils") work in small quick chunks to allow concurrent activities. The waitutils and L0 scans wait for each other to complete rather than abort. There is also a complimentary "des_putdlevel0cnt() wait by L0 for waitutil completion" wait event.

There isn't really anything you can do about these, aside from not using the new "online" utility commands or not using isolation level 0 reads.

-bret

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member May 04, 2017 at 07:55 AM
0

Thanks Bret!

With a small research we found that if disable the "enable utility lvl 0 scan wait" option, then the type of L0 wait does not appear.

However, when "enable utility lvl 0 scan wait" option is enabled. Some operations stop work with ERROR: "Cannot truncate table 'Sync' because the are one or more isolation level 0 scans, or reorg Command, active on the table". Is it possible to make the operation get into some kind of lock, rather than stop working with an error?

Share
10 |10000 characters needed characters left characters exceeded
Bret Halford
May 04, 2017 at 09:34 PM
0

Traceflag might help, it causes processes that would normally abort with an 8233 error to wait instead when run on a table undergoing REORG REBUILD.

Share
10 |10000 characters needed characters left characters exceeded