db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jørgen Løland (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 Tue, 30 Oct 2007 08:52:50 GMT

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

Jørgen Løland commented on DERBY-3064:
--------------------------------------

> (snip) And exceptions are automatically logged in accordance with derby.stream.error.logSeverityLevel
anyway, aren't they? If the user has requested no error logging, I'm not sure if we should
ignore that request. (If the user is never going to see the exception, I think it's a good
idea to log it, but in startMaster() the exception will propagate out to the user, if I understand
correctly.)

Knut,
You are right about startMaster - exceptions thrown from this method would propagate back
to the user. Apart from that single method, however, the methods in MasterController are called
by either

1. a user transaction thread executing normal transactions, or
2. the checkpoint daemon, or
3. the log shipper thread

Thus, we need a plan for what to do with exceptions from these methods. Even though it would
be possible to propagate a (wrapped) ReplicationLogBufferFull exception back to a random user
who is executing a transaction (scenario 1.), I'm not sure that's the right address for these
messages. That's why exceptions are currently not thrown to the callers of the MasterFactory
(interface of MC) methods.

Would it suffice to use MC#printErrorStack for exceptions in all methods except startMaster,
and let MC#printErrorStack print error messages based on the value of a property, e.g. "derby.replication.verbose"?
The property could, e.g., correspond to the same logSeverityLevel used for other exceptions.
That way, the amount of information written to derby.log can be controlled.

If this sounds like a good idea, I will add the aforementioned property in a SlaveController
patch that will make use of the functionality added in Derby-3071.

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


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