[ 
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 [--path path_to_file] [--all|--nodes 
nodeId1,nodeId2,..|--nodes consistentId1,consistentId2,..]
--diagnostic pageLocks dump_log [--all|--nodes nodeId1,nodeId2,..|--nodes 
consistentId1,consistentId2,..]
{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 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  or --all //  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}



> 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 [--path path_to_file] [--all|--nodes 
> nodeId1,nodeId2,..|--nodes consistentId1,consistentId2,..]
> --diagnostic pageLocks dump_log [--all|--nodes nodeId1,nodeId2,..|--nodes 
> consistentId1,consistentId2,..]
> {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)

Reply via email to