[ https://issues.apache.org/jira/browse/DERBY-3016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jørgen Løland updated DERBY-3016: --------------------------------- Attachment: slave_logscan_2.diff slave_logscan_2.stat Thanks for reviewing the patch, Dag. Attaching a new patch, slave_logscan_2, addressing your comments. I have fixed all your suggestions except the code change in retrieveLong. I tried to change it, but found the code harder to read afterwards. Ideally, I would use 0xffL on the first byte as well, but that one has to be cast. Since the log format description in ReplicationLogScan was changed to point to the log buffer package (with a @see tag), I also added a log format description to the LogBufferElement.java javadoc. >It provides an abstraction for accessing the incoming log records. The >'data' and 'optional data' fields are copied once more before they can be >accessed by the slave redo. >This seems unncessary since the lifetime of the objects created is >shorter than the underlying buffer source (logToScan), but may be >convenient given the usage intended: One needs to get at a byte[] >array for the data to be present in the shape and form as expected >for the for the reDo step, perhaps? Guessing.. I was not explicit about this, but you are absolutely right; the data and optionalData byte[] are needed in their original form. They will be used as parameters in calls to org.apache.derby.impl.store.raw.log.LogToFile#appendLogRecord > Replication: Add code that parses a chunk of log records (byte[]) into > individual log records > ---------------------------------------------------------------------------------------------- > > Key: DERBY-3016 > URL: https://issues.apache.org/jira/browse/DERBY-3016 > Project: Derby > Issue Type: Sub-task > Components: Services > Affects Versions: 10.4.0.0 > Reporter: Jørgen Løland > Assignee: Jørgen Løland > Attachments: slave_logscan_1.diff, slave_logscan_1.stat, > slave_logscan_2.diff, slave_logscan_2.stat > > > The derby instance that has the slave role for a database 'x' has to redo log > records sent from the master. These log records are sent in chunks as a > byte[]. To be useful to the slave, these chunks of log records must be parsed > into individual log records. > The actual format of the received log record chunks is defined by the > replication log buffer (see DERBY-2926). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.