$(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: true, vro: true, 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
avatar image
Former Member

des_putdlevel0cnt() wait by waitutil for L0 completion

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.


Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    May 03, 2017 at 02:27 PM

    "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.


    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 04, 2017 at 07:55 AM

    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?

    Add comment
    10|10000 characters needed characters exceeded

  • May 04, 2017 at 09:34 PM

    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.

    Add comment
    10|10000 characters needed characters exceeded