I am looking at reviewing/committing this.
Suresh Thalamati (JIRA) wrote:
[ http://issues.apache.org/jira/browse/DERBY-239?page=all ]
Suresh Thalamati updated DERBY-239:
-----------------------------------
Attachment: onlinebackup_6.diff
This patch adds code to support online backup when jar operations
are running parallel to the backup. Jar files are not logged, but the
system catalogs updates are logged when a jar file is added/replaced.
If the jar file operations are allowed during the backup, system catalog
(sys.sysfiles) table in the backup database can have a reference to a jar file
that does not exist in the backup database. And also backup can contain
partial written jar files. To make a consistent online backup, this patch:
1) Makes Backup operation wait/fail for all the jar operations activity in
progress to complete.
2) Blocks jar file operations when a backup is in progress.
This patch also adds a new test to test the online backup
with jar 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\data\BaseDataFileFactory.java
M java\engine\org\apache\derby\impl\store\raw\data\RFResource.java
M java\engine\org\apache\derby\iapi\store\raw\xact\RawTransaction.java
A
java\testing\org\apache\derbyTesting\functionTests\tests\store\obtest_customer.jar
M
java\testing\org\apache\derbyTesting\functionTests\tests\store\copyfiles.ant
A
java\testing\org\apache\derbyTesting\functionTests\tests\store\OnlineBackupTest3.java
A
java\testing\org\apache\derbyTesting\functionTests\tests\store\OnlineBackupTest3_app.properties
A
java\testing\org\apache\derbyTesting\functionTests\master\OnlineBackupTest3.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, onlinebackup1.html, onlinebackup_1.diff,
onlinebackup_2.diff, onlinebackup_3.diff, onlinebackup_4.diff,
onlinebackup_5.diff, onlinebackup_6.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.