db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Matrigali <mikem_...@sbcglobal.net>
Subject Re: [jira] Updated: (DERBY-239) Need a online backup feature that does not block update operations when online backup is in progress.
Date Thu, 17 Nov 2005 17:55:33 GMT
I am looking at reviewing/committing this patch.

Suresh Thalamati (JIRA) wrote:
>      [ http://issues.apache.org/jira/browse/DERBY-239?page=all ]
> Suresh Thalamati updated DERBY-239:
> -----------------------------------
>     Attachment: onlinebackup_3.diff
> This patch adds code to support real-time online backup with unlogged
> operations. A consistent backup can not be made if there are pending
> transactions with unlogged operations or if unlogged operations 
> occur when backup is in progress. Because container files can  be copied 
> to the backup before the transaction is committed and the data pages are 
> flushed as part of the commit. As there is no transaction log for unlogged
> operations, while restoring from the backup database can not be restored to 
> a consistent state. To make a consistent online backup in this scenario, this patch:
> 1)  blocks  online backup until all the transactions with unlogged operation are
>     committed/aborted. 
> 2)  implicitly converts all unlogged operations to logged mode for the duration
>     of the online backup, if they are started when backup is in progress. 
> This patch also adds a test to test the online backup in parallel with some DML,
> DDL and unlogged operations. 
> TESTS : derbyall test suite passed on Windows XP/JDK142
> It would be great if some can review and commit this patch. 
> svn stat:
> M      java\engine\org\apache\derby\impl\store\raw\xact\Xact.java
> M      java\engine\org\apache\derby\impl\store\raw\xact\XactFactory.java
> M      java\engine\org\apache\derby\impl\store\raw\RawStore.java
> M      java\engine\org\apache\derby\impl\store\raw\data\BaseDataFileFactory.java
> M      java\engine\org\apache\derby\iapi\store\raw\xact\RawTransaction.java
> M      java\engine\org\apache\derby\iapi\store\raw\xact\TransactionFactory.java
> M      java\testing\org\apache\derbyTesting\functionTests\tests\storetests\st_1.sql
> A      java\testing\org\apache\derbyTesting\functionTests\tests\store\OnlineBackupTest1_app.properties
> A      java\testing\org\apache\derbyTesting\functionTests\tests\store\OnlineBackup.java
> M      java\testing\org\apache\derbyTesting\functionTests\tests\store\copyfiles.ant
> A      java\testing\org\apache\derbyTesting\functionTests\tests\store\OnlineBackupTest1.java
> M      java\testing\org\apache\derbyTesting\functionTests\master\st_1.out
> A      java\testing\org\apache\derbyTesting\functionTests\master\OnlineBackupTest1.out
> M      java\testing\org\apache\derbyTesting\functionTests\suites\storemore.runall
>>Need a online backup feature  that does not block update operations   when online
backup is in progress.
>>         Key: DERBY-239
>>         URL: http://issues.apache.org/jira/browse/DERBY-239
>>     Project: Derby
>>        Type: New Feature
>>  Components: Store
>>    Versions:
>>    Reporter: Suresh Thalamati
>>    Assignee: Suresh Thalamati
>> Attachments: onlinebackup.html, onlinebackup_1.diff, onlinebackup_2.diff, onlinebackup_3.diff
>>Currently Derby allows users to perfoms  online backups using SYSCS_UTIL.SYSCS_BACKUP_DATABASE()
procedure,  but while the backup is in progress, update operations are temporarily blocked,
but read operations can still proceed.
>>Blocking update operations can be real issue specifically in client server environments,
because user requests will be blocked for a long time if a 
>>backup is in the progress on the server.

View raw message