1. Derby
  2. DERBY-2852

Derby: Replication and Availability


    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s:
    • Fix Version/s: None
    • Component/s: Network Server, Services, SQL, Store
    • Labels:


      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

      The SQL Layer

      The Communications Service

      The Hot Standby Service

      The Network Server

      See the added paper for more thorough documentation on design choices and implementation along with some benchmarking results

      1. repl_trunk_ignored.diff
        8 kB
        Jørgen Løland
      2. repl_trunk.stat
        3 kB
        Jørgen Løland
      3. repl_trunk.diff
        124 kB
        Jørgen Løland
      4. svn.diff
        32 kB
        Egil Sørensen
        91 kB
        Egil Sørensen
      6. soereeg07
        1.33 MB
        Egil Sørensen

        Issue Links


          Gavin made changes -
          Workflow jira [ 12406758 ] Default workflow, editable Closed status [ 12801758 ]
          Kristian Waagan made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Duplicate [ 3 ]
          Dag H. Wanvik made changes -
          Issue Type New Feature [ 2 ] Improvement [ 4 ]
          Jørgen Løland made changes -
          Derby Info [Patch Available]
          Jørgen Løland made changes -
          Link This issue relates to DERBY-2872 [ DERBY-2872 ]
          Jørgen Løland made changes -
          Attachment repl_trunk.stat [ 12360473 ]
          Attachment repl_trunk_ignored.diff [ 12360474 ]
          Attachment repl_trunk.diff [ 12360472 ]
          Egil Sørensen made changes -
          Attachment svn.diff [ 12360262 ]
          Egil Sørensen made changes -
          Attachment [ 12360261 ]
          Egil Sørensen made changes -
          Field Original Value New Value
          Attachment soereeg07 [ 12360259 ]
          Egil Sørensen created issue -


            • Assignee:
              Egil Sørensen
            • Votes:
              1 Vote for this issue
              5 Start watching this issue


              • Created: