ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan Rakov <ivan.glu...@gmail.com>
Subject Re: Persistent store and eviction policy.
Date Thu, 10 Aug 2017 09:18:02 GMT
Hi!


I'm afraid, description of page-based eviction in documentation is not 
quite correct.
Page-based eviction (RANDOM_LRU or RANDOM_2_LRU) can be activated only 
if persistent store is /disabled/. It defines algorithm for choosing 
page in RAM to remove all contents completely.

On the other hand, when persistent store is /enabled/, eviction from RAM 
to disk is enabled by default and is not customizable by user. So answer 
to first question 1 is no - you shouldn't specify anything in 
configuration to make disk eviction work.

About question 2 - You will lose partition after crash of N1. Losing of 
partition is always undesirable scenario. By default, partition will be 
reset, and you can't say for sure which version of partition (old from 
disk or new from another node) will be resolved as actual after join of N1.
Safe solution - configure backup nodes. Your data will be safe at N3.
Another safe solution - set safe partition loss policy (e.g. 
PartitionLossPolicy.READ_WRITE_SAFE). All reads/writes from lost 
partition will throw an exception until crashed node N1 returns to the 
topology. After that, "1" entry will be recovered.


Thanks for raising this topic, we'll fix the documentation soon.

Best Regards,
Ivan Rakov

On 10.08.2017 5:38, userx wrote:
> Hi team,
>
> I was going through the documentation of durable memory at
> https://apacheignite.readme.io/docs/durable-memory
>
> As per the documentation, durable memory comes into picture when
> PersistentStore configuration is enabled. Now durable memory uses both
> RAM(hot data) and disk (superset). When the RAM part reaches a threshold
> (80% by default as per the documentation), the durable data retains only hot
> data in RAM and rest on the disk.
>
> QUESTION 1
> So does that mean that there is a default eviction policy which comes into
> existence ? Or does the user explicitly has to mention the same in
> configuration ? What happens if he does not mention the eviction policy in
> configuration ?
>
> Suppose there are 2 nodes N1 (different physical box) and N2 (different
> physical box) and the data is distributed in PARTITIONED mode and persistent
> store is enabled.
>
> Here is the example of entries
>
> N1-> "1","X"
> N2-> "2","Y"
>
> QUESTION 2
> Suppose N1 crashes and goes down and does not come up at all for say 5
> hours. Is "1" retrievable at all during that time if N1 went down after an
> entry to its WAL file or we loose N1 ? If say the entry was not able to be
> made in WAL file and should we have configured a back up as N3 (different
> physical box), would it have saved "1" ?
>
>
>
>
>
>
>
> --
> View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Persistent-store-and-eviction-policy-tp16092.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Mime
View raw message