Re: Pessimistic Mode and Transactions and 2PC

2018-08-08 Thread John Wilson
No they are not. I just want to understand. On Wednesday, August 8, 2018, Dmitriy Pavlov wrote: > Hi John, > > Are these questions related to some contribution? > > Sincerely, > Dmitriy Pavlov > > ср, 8 авг. 2018 г. в 3:18, John Wilson : > > >

Pessimistic Mode and Transactions and 2PC

2018-08-07 Thread John Wilson
Hi, Assume the following: - I have a transaction coordinator and two primary nodes with 0 backup nodes. - Persistence store is enabled. - I'm running a transaction in pessimistic mode with serializable isolation. I have these questions: 1. What exactly happens during the

Folks, how do I generate tar.gz release for Ignite?

2018-08-07 Thread John Wilson
Hi, How do I generate tar.gz for Ignite from source? Thanks,

Quick question on data and index pages

2018-07-25 Thread John Wilson
Hi, 1. What are direct and indirect count in data page header used for? What is the difference? [ https://cwiki-test.apache.org/confluence/display/IGNITE/Ignite+Durable+Memory+-+under+the+hood#IgniteDurableMemory-underthehood-Freelists ] 2. Are data pages organized in a B+ tree structure or

Quick questions on B+ Trees and Partitions

2018-07-25 Thread John Wilson
Hi, 1. B+ tree initialization, BPlusTree.initTree, seems to be called for every partition. Why? https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java 2. The documentation here,

Re: Dirty Reads and READ_COMMITTED

2018-07-25 Thread John Wilson
And no. I'm not describing REPEATABLE_READ. I'm describing https://en.wikipedia.org/wiki/Isolation_(database_systems)#Dirty_reads and how READ_COMMITTED isolation can avoid dirty reads. On Wed, Jul 25, 2018 at 11:20 AM, John Wilson wrote: > I agree with your description. But the documentat

Re: Dirty Reads and READ_COMMITTED

2018-07-25 Thread John Wilson
by > acquiring lock on read and releasing it only on commit/rollback. > > -Val > > On Wed, Jul 25, 2018 at 10:12 AM John Wilson > wrote: > > > Hi, > > > > Consider the following transaction where we read key 1 twice. > > > > try (Transaction

Dirty Reads and READ_COMMITTED

2018-07-25 Thread John Wilson
Hi, Consider the following transaction where we read key 1 twice. try (Transaction tx = Ignition.ignite().transactions().txStart(PESSIMISTIC, READ_COMMITTED)) { cache.get(1); //... cache.get(1); tx.commit(); } According to the documentation here,

Re: Does Ignite Txs Protect against Phantom Reads?

2018-07-25 Thread John Wilson
nce you're talking about ranges, my guess would be that you're > using SQL which is currently NOT transactional. This support currently in > development though, probably other members of the community can provide > more details on the progress. > > -Val > > On Tue, Jul 24, 2

Does Ignite Txs Protect against Phantom Reads?

2018-07-24 Thread John Wilson
Hi, Do Ignite transactions with serializable isolation level protect against phantom reads? For example, in the below example, does Ignite, in pessimistic mode, lock all entries in the range 10 to 30? Thanks.

Re: Quick questions on segments and page map buckets

2018-07-23 Thread John Wilson
22:15, Eduard Shangareev < > > > > eduard.shangar...@gmail.com>: > > > > > > > >> Hi, > > > >> > > > >> 1. It looks weird, yeah. Need to ask Sergey, who has changed it last > > > time. > > > >> > > &

Optimistic mode with serializable vs read_committed

2018-07-03 Thread John Wilson
Hi, I was reading this documentation, https://www.gridgain.com/resources/blog/apache-ignite-transactions-architecture-concurrency-modes-and-isolation-levels, to understand the difference between Optimistic mode with Serializable vs read_committed. The only difference I see from the explanation

Re: A quick question on cluster topology and partitions?

2018-07-02 Thread John Wilson
luster topology is always considered to be valid.*" Thanks, On Mon, Jul 2, 2018 at 4:21 PM, Dmitriy Setrakyan wrote: > On Mon, Jul 2, 2018 at 4:03 PM, John Wilson > wrote: > > > Hi, > > > > > >1. What exactly is a cluster topology? What makes a cluster

A quick question on cluster topology and partitions?

2018-07-02 Thread John Wilson
Hi, 1. What exactly is a cluster topology? What makes a cluster topology invalid for further cache operations? 2. Why do we have the concept of partitions in Ignite? Why don't we have a key-to-node mapping rather than a key-to-partition and a partition-to-node mapping? Thanks,

Two quick questions on index page and data page

2018-06-19 Thread John Wilson
Hi, 1. An index page contains the hash value of key and a link; where a link is page_id + offset. Question: what is this offset? Is it the offset to the item in the data page? In other words, Ignite locates the page and the item within the page and finally gets the key-value pair by

Quick questions on segments and page map buckets

2018-06-19 Thread John Wilson
Hi, Two quick questions: 1. The design documentation here, https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Durable+Memory+-+under+the+hood, states that the default segment count is equal to the number of logical cores available in the underlying machine. However, the

Re: How does Ignite garbage collect unused pages?

2018-06-16 Thread John Wilson
round and when a > > threshold is met: > > https://apacheignite.readme.io/docs/memory-defragmentation > > > > Hope Ignite persistence experts can shine more light on this. > > > > -- > > Denis > > > > On Tue, Jun 12, 2018 at 3:12 PM John Wilson > &g

Re: How does Ignite garbage collect unused pages?

2018-06-12 Thread John Wilson
gt; https://apacheignite.readme.io/docs/memory-architecture#section-free-lists > > -- > Denis > > > On Tue, Jun 12, 2018 at 12:35 PM John Wilson > wrote: > > > Hi, > > > > How does Ignite free unused pages? Is there some kind of background > thread > > process that scans unused pages? > > > > Thanks, > > >

How does Ignite garbage collect unused pages?

2018-06-12 Thread John Wilson
Hi, How does Ignite free unused pages? Is there some kind of background thread process that scans unused pages? Thanks,

Re: Optimistic Locking and the Prepare Phase

2018-02-13 Thread John Wilson
. In OPTIMISTIC > mode locks are obtained only after you call IgniteTransaction.commit(). > 2) It means that transaction will fail if enlisted entries have been > changed after they were accessed by current transaction, but before this > transaction is committed. > > On Tue, F

Re: Page Locking vs Entry-level Locking

2018-02-13 Thread John Wilson
to tests. > > Only one contention is observed sometimes in high load test, it is > contention of threads to lock to durable memory region segment. But this > situation can be handled by setting concurrenclyLevel in > DataStorageConfiguration. > > Sincerely, > Dmitriy Pavlov &

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?

Optimistic Locking and the Prepare Phase

2018-02-12 Thread John Wilson
Hi, The design doc below states: *" In optimistic transactions, locks are acquired on primary nodes during the "prepare" phase, then promoted to backup nodes and released once the transaction is committed. Depending on an isolation level, if Ignite detects that a version of an entry has been

Re: What happens if Primary Node fails during the Commit Phase

2018-02-12 Thread John Wilson
I got the answer for #3 here https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Durable+Memory+-+under+the+hood#IgniteDurableMemory-underthehood-Pages. 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>

Re: What happens if Primary Node fails during the Commit Phase

2018-02-12 Thread John Wilson
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, states that locks, for optimistic locking, are acquired during the "prepare"

What happens if Primary Node fails during the Commit Phase

2018-02-12 Thread John Wilson
Hi, Assume the Prepare phase has completed and that the primary node has received a commit message from the coordinator. Two questions: 1. A primary node commits a transaction before it forwards a commit message to the backup nodes. True? 2. What happens if a Primary Node fails while

What is the purpose of a binary schema and schema registry?

2018-02-05 Thread John Wilson
Hi, When objects are marshaled, Ignites adds a schema (BinarySchema) to the BinarySchemaRegistry. Moreover, the documentation says that an object can have a few different schemas. My question: 1. What does it mean for an object to have multiple schemas? (e.g. for a simple person object

Ignite Marshalling & Serialization

2018-01-12 Thread John Wilson
Hi, Ignite marshals data before it writes it to the off-heap data regions. Can someone please explain to me the difference between marshaling and serialization, in the context of Ignite? Thanks,