[
https://issues.apache.org/jira/browse/DERBY-3064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537882
]
Øystein Grøvlen commented on DERBY-3064:
----------------------------------------
Narayanan, thanks for the patch. Here are my comments and questions:
1. AsynchronousLogShipper#shipALogChunk: If resending of
failedChunk fails, the current code will set failedChunk to null.
Is that intentional?
2. MasterController#setupConnection: Why are IOEXcecptions not
reported? Maybe the IOException could contain useful information
to figure out a network problem.
3. MasterController#startMaster:
a) Do you depend on the thread to be interrupted before you give up
attempting to start replication? (Same issue with
handleException)
b) InterruptedExceptions are normally trapped since they occur when
some code intentionally interrupts the thread.
4. MasterController#stopMaster:
a) The setting of the stop state is not synchronized with the log
shipper thread. Hence, you have no guarantee for when the log
shipper thread will see that the stop field has changed. If you
make AsynchronousLogShipper#shipALogChunk volatile, it will be
guaranteed that updates to the field are visible to other
threads. (An alternative is to make stopLogShipment
synchronized, but that is probably more expensive).
b) Maybe you should interrupt the log shipper thread to make sure
it stops immediately?
5. Do you plan to internationalize the derby.log messages in a later
patch?
6. I suggest you make a method that log the error message, print the
stack and stop the master, so you do not have to repeat that many
times.
> Implement the LogShipper that will enable the shipping of Log records from
> the master to the slave
> --------------------------------------------------------------------------------------------------
>
> Key: DERBY-3064
> URL: https://issues.apache.org/jira/browse/DERBY-3064
> Project: Derby
> Issue Type: Sub-task
> Reporter: V.Narayanan
> Assignee: V.Narayanan
> Attachments: LogShipperImpl_v1.diff, LogShipperImpl_v1.stat,
> LogShipperImpl_v2.diff, LogShipperImpl_v2.stat, LogShipperImpl_v3.diff,
> LogShipperImpl_v3.stat, LogShipperImpl_v4.diff, LogShipperImpl_v4.stat,
> LogShipperImpl_v5.diff, LogShipperImpl_v5.stat,
> LogShipperIntegration_v1.diff, LogShipperIntegration_v1.stat
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.