ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitriy Govorukhin (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-11786) Implement thread-local stack for trucking page locks
Date Tue, 23 Apr 2019 12:25:00 GMT

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

Dmitriy Govorukhin updated IGNITE-11786:
----------------------------------------
    Description: 
The new structure should work as a stack. 
When thread obtains lock we push pageId (+meta) on the top of the stack when thread release
lock we pop pageId from the stack. Their cases when thread may unlock page not from current
thread frame (some split pages in B-tree), from previous, in this case, we should go down
to stack and find this page and update meta.

The stack should implement PageLockListener, and provide functionality for tracking page locks.

  was:
The new structure should work as a stack. 
When thread obtains lock we push pageId (+meta) on the top of the stack when thread release
lock we pop pageId from the stack. Their cases when thread may unlock page not from current
thread frame (some split pages in B-tree), from previous, in this case, we should go down
to stack and find this page and update meta.

{code}
public interface LockStack {
    void push(int cacheId, long pageId, int flags);

    void pop(int cacheId, long pageId, int flags);

    int R = 1;
    int W = 2;
}
{code}


> Implement thread-local stack for trucking page locks
> ----------------------------------------------------
>
>                 Key: IGNITE-11786
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11786
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Dmitriy Govorukhin
>            Assignee: Dmitriy Govorukhin
>            Priority: Major
>             Fix For: 2.8
>
>
> The new structure should work as a stack. 
> When thread obtains lock we push pageId (+meta) on the top of the stack when thread release
lock we pop pageId from the stack. Their cases when thread may unlock page not from current
thread frame (some split pages in B-tree), from previous, in this case, we should go down
to stack and find this page and update meta.
> The stack should implement PageLockListener, and provide functionality for tracking page
locks.



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

Mime
View raw message