I got the answer for #3 here
https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Durable+Memory+-+under+the+hood#IgniteDurableMemory-underthehood-Pages&links.
I will post the remaining questions in a separate thread.

On Mon, Feb 12, 2018 at 8:03 PM, John Wilson <sami.hailu...@gmail.com>
wrote:

> You're always helpful Val. Thanks!
>
>
> I have a question regarding Optimistic Locking
>
>
>    1. The documentation here, https://cwiki.apache.
>    org/confluence/display/IGNITE/Ignite+Key-Value+Transactions+
>    Architecture
>    
> <https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Key-Value+Transactions+Architecture>,
>    states that locks, for optimistic locking, are acquired during the
>    "prepare" phase. But the graphic depicted there and the tutorial here,
>    https://www.gridgain.com/resources/blog/apache-ignite-transactions-
>    architecture-concurrency-modes-and-isolation-levels
>    
> <https://www.gridgain.com/resources/blog/apache-ignite-transactions-architecture-concurrency-modes-and-isolation-levels>,
>    clearly indicate that locks are acquired during the commit phase; with a
>    version information passed along with the key by the coordinator to the
>    primary nodes. Can you please explain the discrepancy?
>
> And two questions regarding pages and page locking?
>
>    1. Does Ignite use a lock-free algorithm for its B+ tree structure?
>    Looking at the source code and the use of a tag field to avoid the ABA
>    problem suggests that.
>    2. Ignite documentation talks about entry-level locks and page locks.
>    When exactly is a page locked and released? Also, when an entry is
>    inserted/modified in a page, is the page locked, forbidding other threads
>    from inserting other entries in the page, or only the entry's offset is
>    locked allowing other threads to insert other entries in the page?
>    3. What is the the difference between a directCount and indirectCount
>    for a page?
>
> Thanks
>
> On Mon, Feb 12, 2018 at 7:33 PM, vkulichenko <
> valentin.kuliche...@gmail.com> wrote:
>
>> Hi John,
>>
>> 1. True.
>>
>> 2. The blog actually provides the answer:
>>
>> When the Backup Nodes detect the failure, they will notify the Transaction
>> coordinator that they committed the transaction successfully. In this
>> scenario, there is no data loss because the data are backed up and can
>> still
>> be accessed and used by applications.
>>
>> In other words, if primary node fails, backups will not wait for a
>> message,
>> but instead will commit right away and send an ack to the coordinator.
>> Once
>> coordinator gets all required acs, transaction completes.
>>
>> -Val
>>
>>
>>
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>
>
>

Reply via email to