You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Jørgen Løland (JIRA)" <ji...@apache.org> on 2007/07/03 16:07:04 UTC

[jira] Updated: (DERBY-2852) Derby: Replication and Availability

     [ https://issues.apache.org/jira/browse/DERBY-2852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jørgen Løland updated DERBY-2852:
---------------------------------

    Derby Info:   (was: [Patch Available])

Unchecking Patch Available.

The code is an excellent proof of concept for the functionality (after all, it works :) ), but after studying it I do think there is more work that needs to be done for it to be considered for inclusion in Derby.

Egil: feel free to change to "patch available" again if you do not agree but think the patch should be considered for inclusion as it is.

> Derby: Replication and Availability
> -----------------------------------
>
>                 Key: DERBY-2852
>                 URL: https://issues.apache.org/jira/browse/DERBY-2852
>             Project: Derby
>          Issue Type: New Feature
>          Components: Network Server, Services, SQL, Store
>    Affects Versions: 10.2.2.0
>            Reporter: Egil Sørensen
>         Attachments: derby-rep.zip, repl_trunk.diff, repl_trunk.stat, repl_trunk_ignored.diff, soereeg07, svn.diff
>
>
> This paper and attached source code describes the work done to add hot standby replication functionality to the Apache Derby Database Management System.
> By implementing a hot standby scheme in Apache Derby several features are added. The contents of the database is replicated at run time to another site providing online runtime backup. As the hot standby takes over on faults availability is added in that a client can connect to the hot standby after a crash. Thus the crash is masked from the clients. In addition to this, online upgrades of software and hardware can be done by taking down one database at the time. Then when
> the upgrade is completed the upgraded server is synchronized and back online with no downtime.
> A fully functional prototype of the Apache Derby hot standby scheme has been created in this project using logical logs, fail-fast takeovers and logical catchups after an internal up-to-crash recovery and reconnection. This project builds on the ideas that are presented in my earlier project: Derby: Write to Neighbor Mode.
> To enable the features described above some changes have been made to the Derby base system. The following classes have been changed or added:
> The Logical Log System
> org.apache.derby.iapi.store.logical.log.LogicalImage
> org.apache.derby.iapi.store.logical.log.LogicalLoggable
> org.apache.derby.impl.store.logical.log.LogicalLog
> org.apache.derby.impl.store.logical.log.LogicalLogger
> org.apache.derby.impl.store.logical.log.LogicalLogRecord
> org.apache.derby.impl.store.logical.opearations.LogicalAbortOperation
> org.apache.derby.impl.store.logical.opearations.LogicalCommitOperation
> org.apache.derby.impl.store.logical.opearations.LogicalDeleteOperation
> org.apache.derby.impl.store.logical.opearations.LogicalImage
> org.apache.derby.impl.store.logical.opearations.LogicalInsertOperation
> org.apache.derby.impl.store.logical.opearations.LogicalOperation
> org.apache.derby.impl.store.logical.opearations.LogicalOperationFactory
> org.apache.derby.impl.store.logical.opearations.LogicalUpdateOperation
> The SQL Layer
> org.apache.impl.sql.execute.RowChangerImpl
> org.apache.impl.sql.conn.GenericLanguageConnectionContext
> The Communications Service
> org.apache.derby.impl.services.net.LogicalServer
> org.apache.derby.impl.services.net.LogicalClient
> org.apache.derby.impl.services.net.NetworkPayload
> org.apache.derby.impl.services.net.receiver.LogReceiver
> org.apache.derby.impl.services.net.shipper.LogShipper
> org.apache.derby.impl.services.net.shipper.LogicalCatchUp
> The Hot Standby Service
> org.apache.derby.impl.services.hotstandby.HotStandbyController
> org.apache.derby.impl.services.hotstandby.Database
> The Network Server
> org.apache.derby.impl.drda.NetworkServerControlImpl
> org.apache.derby.impl.drda.HotStandbyPoller
> org.apache.derby.impl.drda.net.LogicalClient
> org.apache.derby.imp.drda.net.LogicalServer
> See the added paper for more thorough documentation on design choices and implementation along with some benchmarking results

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.