[
https://issues.apache.org/jira/browse/FINCN-187?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Juhan Aasaru updated FINCN-187:
-------------------------------
Description:
In current design there exists a problem that doesn't allow replay commands
stored in Cassandra when restoring Postgres from a backup.
Postgres can be replicated but at one point the database (and replica) could
become corrupt. So you restore it from the recent backup but you face the
problem that the backup is probably at least several hours old. To solve the
issue you could replay the commands in Cassandra to bring the database restored
fromt the backup to the lasest state.
The current problem however is that there are some commands that when they get
executed,
they create other commands as a result (when you replay such a command you
will create a command again - although it exists already). So there should be a
mechanism in place in Fineract-CN to identify such commands so one could skip
executing them during replay
(or some other stattegy to deal with this).
was:
In current design there exists a problem that doesn't allow replay cassandra
commands on Postgres disaster recovery.
Postgres can be replicated but at one point the database (and replica) could
become corrupt.
So you restore it from the recent backup but you face the problem that the
backup is probably at least several hours old. To solve the issue you could
replay the commands in Cassandra to bring the database restored fromt the
backup to the lasest state.
The current problem however is that there are some commands that when they get
executed,
they create other commands as a result (when you replay such a command you will
create a command again - although it exists already). So there should be a
mechanism in place in Fineract-CN to identify such commands so one could skip
executing them during replay
(or some other stattegy to deal with this).
> Postgres disaster recovery problem when replaying Cassandra commands
> --------------------------------------------------------------------
>
> Key: FINCN-187
> URL: https://issues.apache.org/jira/browse/FINCN-187
> Project: Fineract Cloud Native
> Issue Type: Improvement
> Reporter: Juhan Aasaru
> Priority: Major
>
> In current design there exists a problem that doesn't allow replay commands
> stored in Cassandra when restoring Postgres from a backup.
> Postgres can be replicated but at one point the database (and replica) could
> become corrupt. So you restore it from the recent backup but you face the
> problem that the backup is probably at least several hours old. To solve the
> issue you could replay the commands in Cassandra to bring the database
> restored fromt the backup to the lasest state.
>
> The current problem however is that there are some commands that when they
> get executed,
> they create other commands as a result (when you replay such a command you
> will create a command again - although it exists already). So there should be
> a mechanism in place in Fineract-CN to identify such commands so one could
> skip executing them during replay
> (or some other stattegy to deal with this).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)