We have been running H2 database in Server mode for almost 7 months and we have seen 4 DB corruptions till now. 3 just in last week.
1- We start the H2 tcp server with tcpAllowOthers flag on default port 9092. 2- Within my application we connect to the database using jdbc:h2:tcp://<server_ip>//<path/to/db/test;AUTO_SERVER=TRUE. 3- Multiple different JVMs can connect to the database using the same string above. 4- We also have one table with CLOB/BLOBs stored inside. In some cases, the size of file stored in DB in that column could be ~100MB. (we know that is not good but currently we are stuck with this solution). After digging into the corruption problem, we found that we use tcpAllowOthers and AUTO_SERVER=TRUE at the same time. Due to this reason, we have sometimes "server" property in the .lock.db file and sometimes not. In all the corruption cases, we found a .lock.db file with missing "server" property. We will remove this property soon. The above behavior has been for almost 7 months and we never had a problem until last week. So, I am guessing that something else could be the cause of corruption. How to anaylze the problem? Note: After corruption, I was able to recover the database. All the tables were working fine except one table. Within that table, I was able to access all the rows except the last one. Within the last row, I was even able to access all the columns except one. I tried to get the content of this column to understand the problem but failed. How to analyze the cause of corruption? Any help would be appreciated. -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/d/optout.
