I have committed this patch as svn 354898 and 354901.
Suresh Thalamati (JIRA) wrote:
[ http://issues.apache.org/jira/browse/DERBY-239?page=all ]
Suresh Thalamati updated DERBY-239:
-----------------------------------
Attachment: onlinebackup_4.diff
This patch makes online backup call to wait/fail when unlogged operations like
create index are pending. It also fixes derby-523 bug my making the existing
log archive backup procedure to wait for the unlogged operation to complete.
-- Two new procedures are added to allow the users to make backup wait/fail
when unlogged operations are pending.
-- prevents users starting backup in an non-idle transactions to avoid backup
blocking forever if users starts backup in the same transaction as an
unlogged operation.
-- backup is not really transactional , to avoid any locking issues in the
futures; backup procedures ends the transaction by implicitly doing commit
when it is successful or rollback on any errors.
A new backup test is added to store suite to test the above scenarios.
TESTS : derbyall test suite passed on Windows XP/JDK142
It would be great if some can review and commit this patch.
$ svn status
M java\engine\org\apache\derby\impl\sql\catalog\DataDictionaryImpl.java
M java\engine\org\apache\derby\impl\sql\catalog\DD_Version.java
M java\engine\org\apache\derby\impl\db\BasicDatabase.java
M java\engine\org\apache\derby\impl\store\access\RAMAccessManager.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\iapi\store\access\AccessFactory.java
M java\engine\org\apache\derby\iapi\store\raw\RawStoreFactory.java
M java\engine\org\apache\derby\iapi\reference\SQLState.java
M java\engine\org\apache\derby\database\Database.java
M java\engine\org\apache\derby\catalog\SystemProcedures.java
M java\engine\org\apache\derby\loc\messages_en.properties
M
java\testing\org\apache\derbyTesting\functionTests\tests\storetests\st_1.sql
A
java\testing\org\apache\derbyTesting\functionTests\tests\store\onlineBackupTest2_app.properties
M
java\testing\org\apache\derbyTesting\functionTests\tests\store\copyfiles.ant
A
java\testing\org\apache\derbyTesting\functionTests\tests\store\onlineBackupTest2.sql
M java\testing\org\apache\derbyTesting\functionTests\master\st_1.out
A
java\testing\org\apache\derbyTesting\functionTests\master\onlineBackupTest2.out
M
java\testing\org\apache\derbyTesting\functionTests\suites\storemore.runall
M java\testing\org\apache\derbyTesting\functionTests\util\FTFileUtil.java
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
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.