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: 10.1.1.0
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.