Re: MVCC and IgniteDataStreamer

2019-02-15 Thread Павлухин Иван
Hi, It is time to continue DataStreamer for MVCC caches discussion. Main focus is on allowOverwrite=false mode. Currently there is a problem related to partition update counters. BACKGROUND As you might know MVCC transactions update partition counters on transaction finish phase and on backups

Re: MVCC and IgniteDataStreamer

2018-08-14 Thread Dmitriy Setrakyan
On Tue, Aug 14, 2018 at 4:30 AM, Vladimir Ozerov wrote: > Bypassing WAL will make the whole cache data vulnerable to complete loss in > case of node failure. I would not do this automatically. > Well, in this case I would expect a log message suggesting that there is an option to turn off WAL

Re: MVCC and IgniteDataStreamer

2018-08-14 Thread Vladimir Ozerov
Bypassing WAL will make the whole cache data vulnerable to complete loss in case of node failure. I would not do this automatically. On Mon, Jul 16, 2018 at 12:28 PM Ilya Kasnacheev wrote: > Hello! > > Can we also bypass WAL for such mode automatically? > > However, we will definitely need a

Re: MVCC and IgniteDataStreamer

2018-07-16 Thread Ilya Kasnacheev
Hello! Can we also bypass WAL for such mode automatically? However, we will definitely need a 'normal' mode of DataStreamer operation, for people who use dataStreamer with custom stream transformers on existing data in use. Regards, -- Ilya Kasnacheev 2018-07-14 12:33 GMT+03:00 Vladimir

Re: MVCC and IgniteDataStreamer

2018-07-14 Thread Vladimir Ozerov
Igniters, Denis is right - please pay attention to IEP-22, as this is how we are going to load data into the grid in future. Note that current data streamer internals are not efficient enough, primarily because it has to interact with page memory, free lists and various BTree's in regular manner.

Re: MVCC and IgniteDataStreamer

2018-07-13 Thread Denis Magda
Agree that initial loading and real-time streaming should be seen as different use cases. For the loading part, I would borrow ideas from direct data load IEP [1]. Ignite should assume that no app works with the cluster until it's preloaded. So, no global locks or things like that. Just fasten a

Re: MVCC and IgniteDataStreamer

2018-07-13 Thread Seliverstov Igor
Ivan, Anyway DataStreamer is the fastest way to deliver data to a data node, the question is how to apply it correctly. I don’t thing we need one more tool, which 90% is the same as DataStreamer. All we need is just to implement a couple of new stream receivers. Regards, Igor > 13 июля 2018

Re: MVCC and IgniteDataStreamer

2018-07-13 Thread Павлухин Иван
Hi Igniters, I had a look into IgniteDataStreamer. As far as I understand, currently it just works incorrectly for MVCC tables. It appears as a blocker for releasing MVCC. The simplest thing is to refuse creating streamer for MVCC tables. Next step could be hair splitting of related use cases.

Re: MVCC and IgniteDataStreamer

2018-07-09 Thread Seliverstov Igor
Yakov, We can introduce several modes: 1) initial loading which replaces data (allowOverwrite=true) with initial version or leaves it as is (allowOverwrite=false) and requires exclusive table lock (fastest one) 2) continuous loading which has its own version and links the data as regular

Re: MVCC and IgniteDataStreamer

2018-07-09 Thread Yakov Zhdanov
Igor, I can't say if I agree with any of the suggestions. I would like us to start from answering the question - what is data streamer used for? First of all, for initial data loading. This should be super fast mode probably ignoring all transactional semantics, but providing certain guarantees

MVCC and IgniteDataStreamer

2018-07-09 Thread Seliverstov Igor
Hi Igniters, You know, we're currently developing fair MVCC for transactional caches ( https://issues-test.apache.org/jira/plugins/servlet/mobile#issue/IGNITE-4191 ). At now we're trying to make work IgniteDataStreamer with MVCC. The problem is that MVCC requires linking between versions