db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Øystein Grøvlen (JIRA) <j...@apache.org>
Subject [jira] Commented: (DERBY-3064) Implement the LogShipper that will enable the shipping of Log records from the master to the slave
Date Wed, 26 Sep 2007 10:19:50 GMT

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

Øystein Grøvlen commented on DERBY-3064:
----------------------------------------

Thanks for the patch, Narayanan.  It looks good and is very well
documented.  Except for my first three issues, my comments are minor:

1. I do not see the need for recording lastShippingTime. When a
   forceFlush is made, I do not think you would want to delay the next
   regular sending of log records since there will still be more log
   to send after the forceFlush has sent one chunk.  Rather, I think
   you would want to notify the log shipping thread that it is time
   for another send.  Hence, I suggest that you drop testing for time,
   and use wait() instead of sleep() so that it is possible to wake up
   the thread while it is waiting.

2. It seems like shipALogChunk will send a message even if there is no
   log records to send.  Should not the sending also be part of the
   body of the if statement?

3. I would think you need some way for the master controller to stop
   log shipping (e.g., when replication is stopped).  In other words,
   the LogShipper interface need a stop method, and the loop needs to
   test for whether it should stop.

4. Why are exceptions from shipALogChunk handled differently by run()
   and forceFlush()?  Maybe you could let shipALogChunk handle the
   exceptions instead so you do not have to do it in two places?

5. I suggest dropping 'Replication' from the name of
   'ReplicationAsynchronousLogShipper'.  Would make it a bit shorter,
   and I think it is evident that we are talking about replication
   here.

6. The constructor is declared to throw a StandardException and the
   javadoc says it may happen when you 'register to the shipping
   daemon".  Is this preparing for something that will be added later?

7. In both files there is a typo in the javadoc for flushedInstance
   ('latestInstanceFlishedToDisk').

8. For ReplicationAsynchronousLogShipper#flushedInstance, I think you
   should include in the javadoc that calling it will have no effect.


> 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
>
>


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


Mime
View raw message