[ 
https://issues.apache.org/jira/browse/DERBY-3607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604808#action_12604808
 ] 

Shahbaz commented on DERBY-3607:
--------------------------------

1. Yes DB_10.4logs.zip is complete 10.4 (DB and application)
2. We actualy have 3 dbs, and in this case we were able to repro this problem 
quickly, so we made the 2 dbs and the above case happened with that only, 
although not as frequently. As of now we cant have 1 db.
3. This problem comes only when we do shutdown and startups, so while testing 
we have to do the same multiple times. We are running our servers as services, 
so we just start and stop the service to repro the same.
4. For shut down, we have added this on jvm hook, in that we do following things
     a. get all DBs
     b. close all current sessions, and seesion factories (hibernate level) for 
each db
     c. finally Derby shutdown using following method, for all dbs


        public boolean shutdownDB(){
                try {
                        Bundle b = 
Platform.getBundle("ae.sphere.arena.database.common");
                        
b.loadClass("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
                        
DriverManager.getConnection("jdbc:derby:;shutdown=true", "xxx", "xxxx");
                        return false;
                } catch (ClassNotFoundException e) {
                        LOG.error(e);
                } catch (SQLException e) {
                          if (e.getSQLState()!= null && 
(e.getSQLState().equals("08006") || (e.getSQLState().equals("XJ015")))) {
                                  LOG.error("it is not error, shutdown 
successfully ;"+e.getMessage());
                                  return true;
                          }else{
                                  LOG.error(e);
                          }
                } catch (InstantiationException e) {
                        LOG.error(e);
                } catch (IllegalAccessException e) {
                        LOG.error(e);
                }
                return false;
        }




5. Databases are not encrypted but encrypted data we push.

6. We have "online" backup and its always on, depends on the schedule set by 
user.

7. We tried to prepare the sample for you to reproduce, but while testing we 
couldnt get the corruption, so no point of senditng it to you, however with 
full application it is easier to repro the same. Will corrupted DB help you, if 
yes where and how we can send you, as the db size is big.



> Invalid checksum error in Derby 10.3.2.1
> ----------------------------------------
>
>                 Key: DERBY-3607
>                 URL: https://issues.apache.org/jira/browse/DERBY-3607
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.3.2.1, 10.4.1.3
>         Environment: OS-WIN XP SP2, 1.86GHz, 2GB, JVM 1.5, disk caching 
> disabled, Hibernate 3.1.1.RC3,c3p0
>            Reporter: Shahbaz
>            Priority: Critical
>         Attachments: DB_10.4logs.zip, derby.log, derby.log, 
> hibernate.cfg.xml, hibernate.cfg.xml, hibernate.cfg.xml
>
>
> I am getting this execption when ever I try to restart my application
> java.sql.SQLException: Invalid checksum on Page Page(0,Container(0, 2033)), 
> expected=2,731,401,932, on-disk version=2,375,776,513, page dump follows: Hex 
> dump:
> 00000000: 0076 0000 0001 0000 0000 0000 0002 0000  .v..............
> 00000010: 0000 0006 0000 0000 0000 0000 0000 0000  ................
> 00000020: 0000 0000 0001 0000 0000 0000 0000 0000  ................
> 00000030: 0000 0000 0000 0000 0000 0000 ffff ffff  ................
> 00000040: ffff ffff 0000 0000 0000 0000 0000 0000  ................
> 00000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000060: 0000 0000 0000 0000 0000 0000 5000 0000  ............P...
> at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown 
> Source)
>       at 
> com.mchange.v2.c3p0.impl.NewProxyCallableStatement.execute(NewProxyCallableStatement.java:3044)
>       at 
> ae.sphere.arena.database.management.backup.BackupStategy.createBackup(BackupStategy.java:56)
>       at 
> ae.sphere.arena.database.management.backup.BackupStategy.doSchedulerJob(BackupStategy.java:41)
>       at 
> ae.sphere.arena.common.jobscheduler.Scheduler$1.run(Scheduler.java:49)
>       at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
> 00000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000080: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000090: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000000a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000000b0: 0000 0

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to