You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Dmitriy Govorukhin (JIRA)" <ji...@apache.org> on 2019/06/03 10:39:00 UTC

[jira] [Updated] (IGNITE-11835) Support JMX/control.sh API for page lock dump

     [ https://issues.apache.org/jira/browse/IGNITE-11835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dmitriy Govorukhin updated IGNITE-11835:
----------------------------------------
    Description: 
Support JMX/control.sh API for page lock dump

JMX
{code}
public interface PageLockMXBean  {
    String dumpLocks();

    void dumpLocksToLog();

    String dumpLocksToFile();

    String dumpLocksToFile(String path);
}
{code}

control.sh
{code}
--diagnostic pageLocks dump // Save dump to file generated in IGNITE_HOME/work dir.
--diagnostic pageLocks dump log // Print dump to console on node.
--diagnostic pageLocks dump {path} // Save dump to specific path.
--diagnostic pageLocks dump -a  // Dump on all nodes.
--diagnostic pageLocks dump {UUID} {UUID}.... or {constId} {constId} // Dump on subset nodes.
{code}

HeapArrayLockStack and HeapArrayLockStack output:
org.apache.ignite.internal.processors.cache.persistence.diagnostic.PageLockStackTest#testThreeReadPageLock_3
{code}
Locked pages = []
Locked pages stack: main time=(1559050284306, 2019-05-28 16:31:24.306)
	-> Try Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284393, 2019-05-28 16:31:24.393)
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	-> Try Read lock structureId=123 pageId=11 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [11(r=1|w=0),1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	Read lock structureId=123 pageId=11 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	-> Try Read lock structureId=123 pageId=111 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [111(r=1|w=0),1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	Read lock structureId=123 pageId=111 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = []
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
{code}

HeapArrayLockLog and OffHeapLockLog
org.apache.ignite.internal.processors.cache.persistence.diagnostic.PageLockLogTest#testThreeReadPageLock_3
{code}
Locked pages = []
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
-> Try Read lock nextOpPageId=1, nextOpStructureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
-> Try Read lock nextOpPageId=11, nextOpStructureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]


Locked pages = [1(r=1|w=0),11(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
-> Try Read lock nextOpPageId=111, nextOpStructureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]


Locked pages = [1(r=1|w=0),111(r=1|w=0)]
Locked pages log: main time=(1559049634783, 2019-05-28 16:20:34.783)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=2 -> Read lock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634783, 2019-05-28 16:20:34.783)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=2 -> Read lock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
L=1 <- Read unlock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]

{code}


  was:
Support JMX/control.sh API for page lock dump

JMX
{code}
public interface PageLockMXBean  {
    String dumpLocks();

    void dumpLocksToLog();

    String dumpLocksToFile();

    String dumpLocksToFile(String path);
}
{code}

control.sh
{code}
--diagnostic pageLocksTracker dump // Save dump to file generated in IGNITE_HOME/work dir.
--diagnostic pageLocksTracker dump log // Print dump to console on node.
--diagnostic pageLocksTracker dump {path} // Save dump to specific path.
--diagnostic pageLocksTracker dump -a  // Dump on all nodes.
--diagnostic pageLocksTracker dump {UUID} {UUID}.... or {constId} {constId} // Dump on subset nodes.
{code}

HeapArrayLockStack and HeapArrayLockStack output:
org.apache.ignite.internal.processors.cache.persistence.diagnostic.PageLockStackTest#testThreeReadPageLock_3
{code}
Locked pages = []
Locked pages stack: main time=(1559050284306, 2019-05-28 16:31:24.306)
	-> Try Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284393, 2019-05-28 16:31:24.393)
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	-> Try Read lock structureId=123 pageId=11 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [11(r=1|w=0),1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	Read lock structureId=123 pageId=11 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	-> Try Read lock structureId=123 pageId=111 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [111(r=1|w=0),1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	Read lock structureId=123 pageId=111 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = []
Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
{code}

HeapArrayLockLog and OffHeapLockLog
org.apache.ignite.internal.processors.cache.persistence.diagnostic.PageLockLogTest#testThreeReadPageLock_3
{code}
Locked pages = []
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
-> Try Read lock nextOpPageId=1, nextOpStructureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
-> Try Read lock nextOpPageId=11, nextOpStructureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]


Locked pages = [1(r=1|w=0),11(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
-> Try Read lock nextOpPageId=111, nextOpStructureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]


Locked pages = [1(r=1|w=0),111(r=1|w=0)]
Locked pages log: main time=(1559049634783, 2019-05-28 16:20:34.783)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=2 -> Read lock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]


Locked pages = [1(r=1|w=0)]
Locked pages log: main time=(1559049634783, 2019-05-28 16:20:34.783)
L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
L=2 -> Read lock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
L=1 <- Read unlock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]

{code}



> Support JMX/control.sh API for page lock dump
> ---------------------------------------------
>
>                 Key: IGNITE-11835
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11835
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Dmitriy Govorukhin
>            Assignee: Dmitriy Govorukhin
>            Priority: Major
>             Fix For: 2.8
>
>
> Support JMX/control.sh API for page lock dump
> JMX
> {code}
> public interface PageLockMXBean  {
>     String dumpLocks();
>     void dumpLocksToLog();
>     String dumpLocksToFile();
>     String dumpLocksToFile(String path);
> }
> {code}
> control.sh
> {code}
> --diagnostic pageLocks dump // Save dump to file generated in IGNITE_HOME/work dir.
> --diagnostic pageLocks dump log // Print dump to console on node.
> --diagnostic pageLocks dump {path} // Save dump to specific path.
> --diagnostic pageLocks dump -a  // Dump on all nodes.
> --diagnostic pageLocks dump {UUID} {UUID}.... or {constId} {constId} // Dump on subset nodes.
> {code}
> HeapArrayLockStack and HeapArrayLockStack output:
> org.apache.ignite.internal.processors.cache.persistence.diagnostic.PageLockStackTest#testThreeReadPageLock_3
> {code}
> Locked pages = []
> Locked pages stack: main time=(1559050284306, 2019-05-28 16:31:24.306)
> 	-> Try Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages stack: main time=(1559050284393, 2019-05-28 16:31:24.393)
> 	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
> 	-> Try Read lock structureId=123 pageId=11 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> 	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [11(r=1|w=0),1(r=1|w=0)]
> Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
> 	Read lock structureId=123 pageId=11 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> 	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
> 	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
> 	-> Try Read lock structureId=123 pageId=111 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
> 	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [111(r=1|w=0),1(r=1|w=0)]
> Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
> 	Read lock structureId=123 pageId=111 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
> 	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
> 	Read lock structureId=123 pageId=1 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = []
> Locked pages stack: main time=(1559050284394, 2019-05-28 16:31:24.394)
> {code}
> HeapArrayLockLog and OffHeapLockLog
> org.apache.ignite.internal.processors.cache.persistence.diagnostic.PageLockLogTest#testThreeReadPageLock_3
> {code}
> Locked pages = []
> Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
> -> Try Read lock nextOpPageId=1, nextOpStructureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
> L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
> L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> -> Try Read lock nextOpPageId=11, nextOpStructureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> Locked pages = [1(r=1|w=0),11(r=1|w=0)]
> Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
> L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
> L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages log: main time=(1559049634782, 2019-05-28 16:20:34.782)
> L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> -> Try Read lock nextOpPageId=111, nextOpStructureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
> Locked pages = [1(r=1|w=0),111(r=1|w=0)]
> Locked pages log: main time=(1559049634783, 2019-05-28 16:20:34.783)
> L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> L=2 -> Read lock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
> Locked pages = [1(r=1|w=0)]
> Locked pages log: main time=(1559049634783, 2019-05-28 16:20:34.783)
> L=1 -> Read lock pageId=1, structureId=123 [pageIdHex=0000000000000001, partId=1, pageIdx=1, flags=00000000]
> L=2 -> Read lock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> L=1 <- Read unlock pageId=11, structureId=123 [pageIdHex=000000000000000b, partId=11, pageIdx=11, flags=00000000]
> L=2 -> Read lock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
> L=1 <- Read unlock pageId=111, structureId=123 [pageIdHex=000000000000006f, partId=111, pageIdx=111, flags=00000000]
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)