[ http://issues.apache.org/jira/browse/DERBY-239?page=all ]
Suresh Thalamati updated DERBY-239:
-----------------------------------
Attachment: onlinebackup_8.diff
This patch addresses the improvements suggested by Oystein in his review of the
first online backup patch(onlinebackup_1.diff) and also resolved some more
online backup issues.
-- fixed comments and moved a duplicate code in write page and the backup of
container into a separate method.
fixes with this patch:
-- backup of container was using the same encryption buffer as container
read/writes, this requires backup of the container and read/writes are
synchronized to avoid corrupting the encryption buffer. This patch modified
the backup of container code to use it's own temporary encryption
buffer to avoid the buffer corruption.
-- added code to prevent truncation of log during checkpoint and disabling of
log archival does not delete log files that are yet to be copied
into the backup, if backup is running in parallel.
-- In-place compress is blocked during backup and vice-versa, until the
compress nested transaction commits. This change is needed because compress
does a special checkpoint to avoid redo on the truncated pages. If backup is
running in parallel, the checkpoint backup is based on can be earlier than
checkpoint done by the truncate operation. Without the blocking during
restore from backup, recovery will fail if it needs redo ant log records on
the truncated pages.
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\log\ReadOnly.java
M java\engine\org\apache\derby\impl\store\raw\log\LogToFile.java
M java\engine\org\apache\derby\impl\store\raw\RawStore.java
M java\engine\org\apache\derby\impl\store\raw\data\InputStreamContainer.jav
a
M java\engine\org\apache\derby\impl\store\raw\data\FileContainer.java
M java\engine\org\apache\derby\impl\store\raw\data\BaseContainer.java
M java\engine\org\apache\derby\impl\store\raw\data\BaseContainerHandle.java
M java\engine\org\apache\derby\impl\store\raw\data\RAFContainer.java
M java\engine\org\apache\derby\iapi\store\raw\log\LogFactory.java
M java\engine\org\apache\derby\loc\messages_en.properties
M java\shared\org\apache\derby\shared\common\reference\SQLState.java
M
java\testing\org\apache\derbyTesting\functionTests\tests\store\copyfiles.ant
A
java\testing\org\apache\derbyTesting\functionTests\tests\store\onlineBackupTest4.sql
A
java\testing\org\apache\derbyTesting\functionTests\tests\store\onlineBackupTest4_app.properties
A
java\testing\org\apache\derbyTesting\functionTests\master\onlineBackupTest4.out
M
java\testing\org\apache\derbyTesting\functionTests\suites\storemore.runall
Thanks
-suresh
> 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: obtest_customer.jar, onlinebackup.html, onlinebackup1.html,
> onlinebackup_1.diff, onlinebackup_2.diff, onlinebackup_3.diff,
> onlinebackup_4.diff, onlinebackup_5.diff, onlinebackup_6.diff,
> onlinebackup_7.diff, onlinebackup_8.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.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira