ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Magda <dma...@apache.org>
Subject Re: Persistent store and eviction policy.
Date Thu, 10 Aug 2017 19:00:41 GMT
Folks,

I’ve updated the documentation avoiding any misunderstanding - " If Ignite Persistence is
enabled then the page-based evictions have no effect because the oldest pages will be evicted
from RAM automatically if there is not enough space available.”

https://apacheignite.readme.io/v2.1/docs/evictions <https://apacheignite.readme.io/v2.1/docs/evictions>

BTW, why can’t we make the eviction customizable when the store is used? Don’t see any
issue with that from the user perspective.

—
Denis

> On Aug 10, 2017, at 2:18 AM, Ivan Rakov <ivan.glukos@gmail.com> wrote:
> 
> 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 <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
<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