-
Notifications
You must be signed in to change notification settings - Fork 306
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
Unsupported database file version, jbtimer.mv.db #6407
Comments
Hi @oxdrove, Can you share more details on how to reproduce this issue? |
How much detail do you need? I can repeat myself with more words - which might reveal something. I have just repeated and have the same problem. Install 6.2023.8 Update to 6.2023.9, failure as above. I have saved the timer db files and can check the version is someone tells me how. Workaround: remove all files, create domain from zero, deploy. ie do a fresh install. |
Greetings, |
I gave more details the same day. Which of the three steps to reproduce this that I put in the original report do you not understand? At which step are you stuck? Please help me know what help you need. |
Hi @oxdrove, Apologies for the bot, I will try and reproduce this issue with the details you provided and will let you know the result. |
Understood, no problem. I did very little special, hence little detail. If it works for you we can work to find out what might be different. I tried the fresh install .8, update to .9 several times. Unless I have missed something like an upgrade procedure that is supposed to run between versions. |
Greetings @oxdrove, Following from what @kalinchan explained, it seems that the steps for your reproducer lack the configuration of the EJB timer service to use the new JDBC resource (that points to the PostgreSQL) database, like in this command:
Once you have configured the timer service to use the correct data source, you should be able to move the domain from a previous version. |
kalinchan has explained nothing [here] but let us move on. You are saying that if I configure an alternative timer service that the bug in the default timer database does not matter? I can avoid this bug more easily by recreating the domain (as above) which is quicker than trying to do my bit in reporting a bug. |
@oxdrove, my apologies but it seems that this reproducer is not clear. In the steps you provided for your reproducer, you mentioned a step to configure a JDBC datasource for a PostgreSQL database so we assumed that this database was the one used to store EJB Timer data. Coming back to your reproducer, this issue has been identified as a side effect of the upgraded version of H2 (2.2.0) introduced in release
Sadly, this is unfortunately by design, as the database files from an older version of H2 aren't compatible with newer versions. This is intended as the correct practice is not to depend on the internal H2 database for persistent EJB timers but instead rely on a robust SQL database (like PostgreSQL) to move data around from older releases to new ones. I'm afraid that to fully migrate from a previous release to 6.2023.9, a domain backup-and-restore is going to fail so it is better to re-create the domain as you mentioned it in your workaround. |
Thank you for explaining. I will just recreate the domains for now, it is very easy to do as everything important is in the ears/wars or database and set on deployment. A line in the release notes would have helped! It does say the DB was updated but not that it is incompatible, I will look at moving the timers to postgresql, from what you suggest this is simple enough and better. |
Hello, just to confirm what you already know. Putting the timers in the postgresql database works and the data survived the .9 to .10 update. I had to create the table manually; I don't know if there is some setting to auto create if not existing. Thank you for your interest and support in this matter. |
Brief Summary
Update from 6.2023.8 to 6.2023.9, error reported:
File jbtimer.mv.db was created by the .8 version. I tried deleting the files inl ib/databases and let it remake but it gives another error, so that didn't help:
Expected Outcome
Server starts with deployments.
Current Outcome
Payara starts but fails to deploy.
Reproducer
Install 6.2023.8
Deploy with a timer
Update to 6.2023.9
Operating System
OmniOS
JDK Version
openjdk version "17.0.8" 2023-07-18
Payara Distribution
Payara Server Full Profile
The text was updated successfully, but these errors were encountered: