-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New schema and migration for 5.0.0 #318
Comments
I must say I really like the the forwards/backwards compatibiliy, since it allowed the application to read old events, and write them in the new way. The migration could be executed while the application was running. I definitely agree that having all the extra code and complexity for the compatibility is undesirable. However on the other hand an intermediate release might make the migration process a lot more bearable for our users... |
True, it will be much nicer to be forward/backward compatible, but the cost is also high for us. Maybe, an alternative approach would be to maintain a branch 3.5.x for a while so users don't need to immediately migrate to 4.0.0. They can decide to do the move on their own pace. Concerning the issue related to unwrap the BLOB, this is not a major one and I don't think we need to fix in 3.5.x. Users can keep using it until they are ready for 4.0.0. The major issue is the Another possible quick fix: select whatever the user requested using So, here is the alternative path:
The drawback is that it requires an offline migration, but the advantage is that we simplify the code a lot and we can move faster with the fixes. WDYT? |
Sounds good. Since the idea is to rename the table anyway, it would be possible to have both at the same time. Therefore it could be possible to run the migration tooling as part of 3.x.x to prepare for the 4.0.0 upgrade |
Correct. It will also require to run the migration once again offline but will run much faster. |
We just realised that we can't filter out events based on tags because the event envelop doesn't contain the tags. On the other hand, this is something that we can fix in Lagom instead. |
Actually I guess it could be possible to filter them out in the |
#467 introduces the new database schema. |
Events and Snapshots are wrapped in some Akka classe. The goal is to unwrap because those classes were never intended to serialized and saved to DB.
There is a branch in which this was fixed by James (original PR: #180).
However, we may not integrate it into master and start over again. The main reason is that the PR is done as such that allows users to keep the old column and have mixed mode in which old data is kept around using the wrappers and new data is saved unwrapped.
This strategy amounts to the complexity of the code, plus the functionality is enabled/disabled by flags.
Instead, our current goal is to provide a new schema and a migration tool to allow previous journals to be migrated. That means that users moving to 4.0.0 will have to shutdown the system, run the migration and restarting using the new version.
This is broken down in a three main tasks:
The text was updated successfully, but these errors were encountered: