Re: Page Locking vs Entry-level Locking

2018-02-13 Thread Dmitry Pavlov
Hi John, Entry level locks still exist. I've described locks coming from page memory, page memory and its locks is lower-level abstraction than entries level. Segment is part of region consist from number of pages. 1 region - * segments, 1 segment - * pages. Segment lock is performed when set

Re: Page Locking vs Entry-level Locking

2018-02-13 Thread John Wilson
Hi Pavlov, Thanks for your explanation. However, I still have these questions: 1. If locking is per page-level and there are no entry-level locks, then why does the documentation here talk about having entry-level transaction locks? https://apacheignite.readme.io/docs/transactions

Re: Page Locking vs Entry-level Locking

2018-02-13 Thread Dmitry Pavlov
Hi John, 1. No, content modification require lock holding to page to provide consitency in multithreaded environment. 2. Page is locked for read before reading its content, and unlocked after. Same for lock for write for writting. 1 writer or N readers allowed for page. On unlock write lock,

Page Locking vs Entry-level Locking

2018-02-12 Thread John Wilson
Hi, Ignite documentation talks about entry-level locks and the page structure has a LOCK_OFFSET that I assume is used to store tag info. I have these questions. 1. Does Ignite use a lock-free implementation to lock pages and/or entries? 2. When is a page locked and when is it released?