I was going over failure recovery scenarios, trying to understand logic
behind lost partitions functionality.  In the case of native persistence,
Ignite fully manages data persistence and availability.  If enough nodes in
the cluster become unavailable resulting in partitions marked lost, Ignite
keeps track of those partitions.  When nodes rejoin the cluster partitions
are automatically discovered and loaded from disk.  This can be shown by
the fact that data actually becomes available and can be retrieved using
normal get/query api's.  However, lostPartitions() lists still contain some
partitions that were previously lost and Ignite expects user to manually
mark partitions available by calling Ignite.resetLostPartitions() api.

I found some discussion about issues with topology version handling in
resetLostPartitions() in this ticket:
https://issues.apache.org/jira/browse/IGNITE-7832, but it does not address
the question, why user involvement is required at all.

Thanks,
Roman

Reply via email to