db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "V.Narayanan (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3064) Implement the LogShipper that will enable the shipping of Log records from the master to the slave
Date Wed, 05 Dec 2007 00:26:43 GMT

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

V.Narayanan updated DERBY-3064:

    Attachment: LogShipperIntegration_v4.stat

Thank you for the detailed comments Oystein.

>9. MasterController:

>   a) I think startMaster() needs to have a timeout for how long it
>      should wait before it tells the caller that it was not able to
>      connect to the slave.

I have addressed this issue by using a timeout of 5 seconds for now (This
will be changed to be configurable in a later patch). I have left the
sleep period unchanged for now. One issue that remains is what happens if
the timeout is lesser than the sleep period. 

Would this mean that we should derive the sleep period from the timeout?

For example we could assume that we will always have 5 re-connect attempts and
divide the timeout set by the user by 5 and use that as the sleep intervals.

>   b) setupConnection(): I am not sure, but will it always be OK to
>      not to propagate the content of IOExcpetion? Will there never
>      be any interesting info that could help a user diagnose why a
>      connection is not established?

since we attempt a re-connect when this method returns false is doing this

logError(MessageId.REPLICATION_MASTER_RECONN, ioe, dbname);

before returning false OK ?

>   c) Unused imports: PrivilegedActionException, ErrorStringBuilder


>   d) Class declaration: Non-intuitive breakage of lines for
>      implements/extends.

moved the implements keyword to the next line along with the the interfaces
being implemented.

>   e) Unnecessary white-space diff after declaration of


>   f) I agree that setUpConnection should be moved, but it is still in
>      the wrong place (under methods from ModuleSupportable interface)

moved it to the end of the class along with handleException method.

>   g) I think the JavaDoc for handleExceptions should say that it only
>      handles IOException and StandardException.

changed the javadoc to

     " Used to handle the exceptions (IOException and StandardException) from 
       the log shipper."

>10. AsynchronousLogShipper

>   a) I do not understand why you let the LogShipper continue after it
>      is has been interrupted. It seems like interrupt is only used
>      when the thread is to be terminated. Maybe you should just
>      terminate the thread here.

The method returns upon an interrupted exception now.

>   b) What is the purpose of stopLogShipment()? It does not seem to
>      stop the LogShipper from sending log anymore. I do not
>      understand why you have changed run() to 'while(true)' instead
>      of 'while(!stopShipping)'.

changed while(true) to while(!stopShipping). stopShipping was being used
by forceFlush earlier.

>11. messages.xml

>   a) I think messages needs to have a parameter for database name
>      (slave messages does). If the master is replication several
>      databases, the users needs to be told which one has terminated.


>   b) Last message name should be R010, not R008. 


Thanks once again for the comments. I really appreciate your detailed review.

> 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
>          Components: Miscellaneous
>            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, LogShipperIntegration_v2.diff, LogShipperIntegration_v2.stat,
LogShipperIntegration_v3.diff, LogShipperIntegration_v3.stat, LogShipperIntegration_v4.diff,

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

View raw message