You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Tellier Benoit (JIRA)" <se...@james.apache.org> on 2018/01/29 03:52:00 UTC
[jira] [Resolved] (JAMES-2083) Write a Cassandra migration task for
MessageDao changes
[ https://issues.apache.org/jira/browse/JAMES-2083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tellier Benoit resolved JAMES-2083.
-----------------------------------
Resolution: Fixed
> Write a Cassandra migration task for MessageDao changes
> -------------------------------------------------------
>
> Key: JAMES-2083
> URL: https://issues.apache.org/jira/browse/JAMES-2083
> Project: James Server
> Issue Type: Improvement
> Components: cassandra
> Reporter: Luc DUZAN
> Priority: Major
>
> We have two version of the MessageDAO, and we want to ensure we always read the latest one. Thus we need to implement migration logic.
> Implement Database version tracking in Cassandra-backends. You will store the current state of the database in a table (an int). (And the associated DAO)
> You will implement a static version in the code with expected minimal database version, and current maximal available version. Upon James start, you will:
> - Throw an error if the database schema version is too low
> - Log a warning if the database version can be upgraded
> - Do nothing when DB version is the latest the code can handle.
> (Note: we can assume the version of the DB is current version when entry is missing. Special care would be taken when deploying on OP.LNG.COM)
> You will write a migration (in mailbox/cassandra/):
> - Requires DB in V1
> - When fully run, will write DB state as V2
> - Read from CassandraMessageDaoV1 and write in CassandraDaoV2, then delete entry in CassandraMessageDaoV1
> - Track progress by logs on each message (easy task monitoring through Kibana
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org