You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Dy...@Sun.COM on 2008/04/26 10:52:35 UTC

[ANNOUNCE] Apache Derby 10.4.1.3 released

The Apache Derby project is pleased to announce a new feature release
of Derby, 10.4.1.3.

Apache Derby is a subproject of the Apache DB project.
Derby is a pure Java relational database engine which conforms to the
ISO/ANSI SQL and JDBC standards. Derby aims to be easy for developers
and end-users to work with.

Derby 10.4.1.3 can be obtained from the Derby download site:

http://db.apache.org/derby/derby_downloads.html.

Derby 10.4.1.3 introduces the following new capabilities:

* Asynchronous Replication 
  Allows you to maintain an up to date copy of your (master) database on
  a different host (the slave).  In the case of a crash on the master
  database you can perform failover to the copy (slave database) and
  continue serving client requests against your database.

* Security
  o Shutting down the Network Server now supports user authentication, 
    and in fact requires credentials when authentication is enabled.

* SQL
  o Table Functions. Using table functions and standard SQL, you can pose
    sophisticated queries against in-memory collections, flat files, web
    resources, non-relational databases, etc.. Table functions also let
    you efficiently import data from web feeds, sensor logs, and other
    relational databases.

  o Unique constraints on nullable columns.

  o SQL ROW_NUMBER() window function, (for an empty, inlined window 
    specification).

  o Bracketed comments (/* ... */).

* Performance and Memory Usage
  o New buffer manager with better concurrency. 

  o Statement cache in the client driver.

  o Caching of isolation level and current schema in the client
    driver.

* Administration
  o Java Management Extensions (JMX) for Derby, allowing
    local and remote monitoring and management of running Derby instances
    (embedded or Network Server).

  o Continuation prompt. ij adds a short "> " prompt to the next line 
    after a newline has been entered by the user without ending the 
    statement with a semicolon.


Derby 10.4.1.3 also has many bugfixes, including the fix for
DERBY-3347 which can cause unrecoverable database corruption.  All
10.3 users are encouraged to upgrade to avoid potential corruption
issues.


-- 

Regards,
Dyre

Re: DB gets corrupts in 10.3.1.2!!

Posted by Kristian Waagan <Kr...@Sun.COM>.
Binoy Thomas wrote:
> We have not used 10.4.x to access the corrupted DB. It was tested by
> building the application again with the latest derby jars.
> 
> -----Original Message-----
> From: Dyre.Tjeldvoll@Sun.COM [mailto:Dyre.Tjeldvoll@Sun.COM] 
> Sent: Monday, April 28, 2008 2:43 PM
> To: Derby Discussion
> Cc: 'Derby Development'
> Subject: Re: DB gets corrupts in 10.3.1.2!!
> 
> Binoy Thomas <bi...@sphere.ae> writes:
> 
>> We are a firm having multiple software products & we use the Derby DB in
> all
>> our suite of products for quite many years now. We are facing a blocker
>> situation that is halting all our release process.
>>

You say you have been using Derby for years. Has there been any other 
changes in your products with regards to database access, like adding 
connection pooling or using an ORM framework?

I notice from the stack trace that you are using c3p0. There has been 
some reports on issues using Derby and c3p0.
To confirm this, are you able to either disable c3p0 or to use the Derby 
client driver instead of the embedded driver?
The reports are about Derby threads being interrupted by c3p0 while 
writing data to disk.


regards,
-- 
Kristian

[ snip ]

Re: DB gets corrupts in 10.3.1.2!!

Posted by Kristian Waagan <Kr...@Sun.COM>.
Binoy Thomas wrote:
> We have not used 10.4.x to access the corrupted DB. It was tested by
> building the application again with the latest derby jars.
> 
> -----Original Message-----
> From: Dyre.Tjeldvoll@Sun.COM [mailto:Dyre.Tjeldvoll@Sun.COM] 
> Sent: Monday, April 28, 2008 2:43 PM
> To: Derby Discussion
> Cc: 'Derby Development'
> Subject: Re: DB gets corrupts in 10.3.1.2!!
> 
> Binoy Thomas <bi...@sphere.ae> writes:
> 
>> We are a firm having multiple software products & we use the Derby DB in
> all
>> our suite of products for quite many years now. We are facing a blocker
>> situation that is halting all our release process.
>>

You say you have been using Derby for years. Has there been any other 
changes in your products with regards to database access, like adding 
connection pooling or using an ORM framework?

I notice from the stack trace that you are using c3p0. There has been 
some reports on issues using Derby and c3p0.
To confirm this, are you able to either disable c3p0 or to use the Derby 
client driver instead of the embedded driver?
The reports are about Derby threads being interrupted by c3p0 while 
writing data to disk.


regards,
-- 
Kristian

[ snip ]

RE: DB gets corrupts in 10.3.1.2!!

Posted by Binoy Thomas <bi...@sphere.ae>.
We have not used 10.4.x to access the corrupted DB. It was tested by
building the application again with the latest derby jars.

-----Original Message-----
From: Dyre.Tjeldvoll@Sun.COM [mailto:Dyre.Tjeldvoll@Sun.COM] 
Sent: Monday, April 28, 2008 2:43 PM
To: Derby Discussion
Cc: 'Derby Development'
Subject: Re: DB gets corrupts in 10.3.1.2!!

Binoy Thomas <bi...@sphere.ae> writes:

> We are a firm having multiple software products & we use the Derby DB in
all
> our suite of products for quite many years now. We are facing a blocker
> situation that is halting all our release process.
>
> Any help would be appreciated on the below DB corruption error. 
>
> Derby versions tried: Derby 10.3.1.2 & 10.4.1.3
> User scenario is:
>
> Our base application runs 2 Derby DBs. Another application (which is part
of
> the suite of products) as per deployment strategy would need to be
installed
> on top of it. 
> In this process of installation, the installer first brings down the base
> application (thereby the DBs are shutdown), installs the 2nd application &
> then brings up the base application as well as the other application.
> (Internal process while re-starting application:  DBs from the base
> application are brought up & then the DB from the 2nd application is
brought
> up.)

Have you created a new database with 10.4? If you use 10.4 to access an
already corrupt db you will still get an error, I'm afraid.

Restoring a non-corrupt image from backup and then upgrade, should also
work.

-- 
dt





RE: DB gets corrupts in 10.3.1.2!!

Posted by Binoy Thomas <bi...@sphere.ae>.
We have not used 10.4.x to access the corrupted DB. It was tested by
building the application again with the latest derby jars.

-----Original Message-----
From: Dyre.Tjeldvoll@Sun.COM [mailto:Dyre.Tjeldvoll@Sun.COM] 
Sent: Monday, April 28, 2008 2:43 PM
To: Derby Discussion
Cc: 'Derby Development'
Subject: Re: DB gets corrupts in 10.3.1.2!!

Binoy Thomas <bi...@sphere.ae> writes:

> We are a firm having multiple software products & we use the Derby DB in
all
> our suite of products for quite many years now. We are facing a blocker
> situation that is halting all our release process.
>
> Any help would be appreciated on the below DB corruption error. 
>
> Derby versions tried: Derby 10.3.1.2 & 10.4.1.3
> User scenario is:
>
> Our base application runs 2 Derby DBs. Another application (which is part
of
> the suite of products) as per deployment strategy would need to be
installed
> on top of it. 
> In this process of installation, the installer first brings down the base
> application (thereby the DBs are shutdown), installs the 2nd application &
> then brings up the base application as well as the other application.
> (Internal process while re-starting application:  DBs from the base
> application are brought up & then the DB from the 2nd application is
brought
> up.)

Have you created a new database with 10.4? If you use 10.4 to access an
already corrupt db you will still get an error, I'm afraid.

Restoring a non-corrupt image from backup and then upgrade, should also
work.

-- 
dt





Re: DB gets corrupts in 10.3.1.2!!

Posted by Dy...@Sun.COM.
Binoy Thomas <bi...@sphere.ae> writes:

> We are a firm having multiple software products & we use the Derby DB in all
> our suite of products for quite many years now. We are facing a blocker
> situation that is halting all our release process.
>
> Any help would be appreciated on the below DB corruption error. 
>
> Derby versions tried: Derby 10.3.1.2 & 10.4.1.3
> User scenario is:
>
> Our base application runs 2 Derby DBs. Another application (which is part of
> the suite of products) as per deployment strategy would need to be installed
> on top of it. 
> In this process of installation, the installer first brings down the base
> application (thereby the DBs are shutdown), installs the 2nd application &
> then brings up the base application as well as the other application.
> (Internal process while re-starting application:  DBs from the base
> application are brought up & then the DB from the 2nd application is brought
> up.)

Have you created a new database with 10.4? If you use 10.4 to access an
already corrupt db you will still get an error, I'm afraid.

Restoring a non-corrupt image from backup and then upgrade, should also
work.

-- 
dt

Re: DB gets corrupts in 10.3.1.2!!

Posted by Dy...@Sun.COM.
Binoy Thomas <bi...@sphere.ae> writes:

> We are a firm having multiple software products & we use the Derby DB in all
> our suite of products for quite many years now. We are facing a blocker
> situation that is halting all our release process.
>
> Any help would be appreciated on the below DB corruption error. 
>
> Derby versions tried: Derby 10.3.1.2 & 10.4.1.3
> User scenario is:
>
> Our base application runs 2 Derby DBs. Another application (which is part of
> the suite of products) as per deployment strategy would need to be installed
> on top of it. 
> In this process of installation, the installer first brings down the base
> application (thereby the DBs are shutdown), installs the 2nd application &
> then brings up the base application as well as the other application.
> (Internal process while re-starting application:  DBs from the base
> application are brought up & then the DB from the 2nd application is brought
> up.)

Have you created a new database with 10.4? If you use 10.4 to access an
already corrupt db you will still get an error, I'm afraid.

Restoring a non-corrupt image from backup and then upgrade, should also
work.

-- 
dt

DB gets corrupts in 10.3.1.2!!

Posted by Binoy Thomas <bi...@sphere.ae>.
We are a firm having multiple software products & we use the Derby DB in all
our suite of products for quite many years now. We are facing a blocker
situation that is halting all our release process.

Any help would be appreciated on the below DB corruption error. 

Derby versions tried: Derby 10.3.1.2 & 10.4.1.3
User scenario is:

Our base application runs 2 Derby DBs. Another application (which is part of
the suite of products) as per deployment strategy would need to be installed
on top of it. 
In this process of installation, the installer first brings down the base
application (thereby the DBs are shutdown), installs the 2nd application &
then brings up the base application as well as the other application.
(Internal process while re-starting application:  DBs from the base
application are brought up & then the DB from the 2nd application is brought
up.)

The DB gets corrupted then. Below is the error:

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(Unknow
n 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(NewProxyCallableS
tatement.java:3044) 
at
ae.sphere.arena.database.management.backup.BackupStategy.createBackup(Backup
Stategy.java:56) 
at
ae.sphere.arena.database.management.backup.BackupStategy.doSchedulerJob(Back
upStategy.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


Thanks & regards,
Binoy