Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-2922 Replication: Add master replication mode
  3. DERBY-3051

Replication: Modify logging subsystem to append log records to the replication buffer when in replication master mode

    Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.4.1.3
    • Fix Version/s: 10.4.1.3
    • Component/s: Services, Store
    • Labels:
      None

      Description

      When Derby has the replication master role for a database 'x', it should ship all log records generated for this database to the Derby with the slave role. A replication buffer was added to Derby in DERBY-2926. This issue is for modifying the logging subsystem to append log records to this buffer every time a log records is appended to the disk buffer (LogAccessFile). This will, of course, only be done if it has the master role.

      Currently, I have identified two modifications that will be required in LogToFile:

      • LogToFile#appendLogRecord needs to append to the replication buffer after appending to the disk buffer
      • LogToFile#flush (i.e., the method used to force buffered log records to disk) must notify the Master Controller (DERBY-2977) that a flush has taken place. The MasterController will decide if any action is required because of this.

        Attachments

        1. derby_3051_1.diff
          10 kB
          Jørgen Løland
        2. derby_3051_1.stat
          0.4 kB
          Jørgen Løland
        3. derby_3051_1b.stat
          0.4 kB
          Jørgen Løland
        4. derby_3051_1b.diff
          14 kB
          Jørgen Løland

          Issue Links

            Activity

              People

              • Assignee:
                jorgenlo Jørgen Løland
                Reporter:
                jorgenlo Jørgen Løland
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: