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-3051) Replication: Modify logging subsystem to append log records to the replication buffer when in replication master mode
Date Mon, 24 Sep 2007 11:23:51 GMT

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

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

V.Narayanan (JIRA) wrote:
> I however do not want to do this in the first version of the patch
> for this issue.  I will submit the first version assuming a static
> time interval, keep this issue open and change it in the next
> version if this is OK with the community.

Sounds good to me.  A static, but configurable, timeout interval
should probably be good-enough for most cases.

> The DaemonFactory would call performWork (i.e.) ship log records at its own
> convinience. As i understand it we cannot configure DaemonFactory to transmit
> at our mentioned time interval.
> 
> So, When performWork is called entirely depends on how good
> DaemonFactory is feeling :-)
> 
> We do not want this to happen, because what if this is too soon for
> us or what if it is too late.
> 
> Hence we introduce a transmit interval variable that calculates the
> difference between the last call and the current call of performWork
> or rather shipALogChunk(forceFlush also)

My concern is that if the Daemon Service have very little else to do,
it will continously call LogShipper#performWork and use a lot of
unecessary CPU for checking the time.

> Sorry about being ambiguous here. ShippingDaemon is Derby's
> DaemonService that is booted up and is not a thread I introduce.
> 

Using a separate thread would probably give you more flexibility with
respect to how log shipping is scheduled.


> Replication: Modify logging subsystem to append log records to the replication buffer
when in replication master mode
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3051
>                 URL: https://issues.apache.org/jira/browse/DERBY-3051
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Services, Store
>    Affects Versions: 10.4.0.0
>            Reporter: Jørgen Løland
>            Assignee: Jørgen Løland
>         Attachments: derby_3051_1.diff, derby_3051_1.stat, derby_3051_1b.diff, derby_3051_1b.stat
>
>
> 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. 

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