[ 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

Reply via email to