You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2014/03/12 12:30:43 UTC

[jira] [Commented] (QPID-5410) Refactor BDBMessageStore and HAMessageStore to encapsulate environment specific operations into facades

    [ https://issues.apache.org/jira/browse/QPID-5410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13931654#comment-13931654 ] 

ASF subversion and git services commented on QPID-5410:
-------------------------------------------------------

Commit 1576697 from [~k-wall] in branch 'qpid/branches/java-broker-bdb-ha2'
[ https://svn.apache.org/r1576697 ]

QPID-5410: [Java Broker/BDB]. Introduce a thin facade (EnvironmentFacade) between the BDBMessage and BDB JE's Environment/ReplicatedEnvironment. The motivation behind this facade is principally HA; there are a number of cases where JE requires the ReplicatedEnvironment is recreated. The facade layer allows for this to be done transparently from the upper tiers (the BDBMessageStore). The facade has two implementations StandardFacade used in the non-HA use case, and ReplicatedEnvironmentFacade in the HA case.

Key changes:

* BDBHAVirtualHost is now responsible for the creation of ReplicatedEnvironmentFacade
* BDBMessageStore reverts to a single implementation without knowledge of HA.
* BDBMessageStore now interacts with JE via the facade.
* BDBHAMessageStoreManagerMBean interrogates the facade
* ReplicatedEnvironmentFacade monitors the group for changes in state (nodes becoming uncontactable etc), if such a state change is detected, the DatabasePinger
fires a single transaction to determine if quorum still exists.  If quorum does not exist, the environment is restarted, thus transition the environment into
 the UNKNOWN state.

> Refactor BDBMessageStore and HAMessageStore to encapsulate environment specific operations into facades
> -------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-5410
>                 URL: https://issues.apache.org/jira/browse/QPID-5410
>             Project: Qpid
>          Issue Type: Sub-task
>          Components: Java Broker
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>         Attachments: 0001-QPID-5410-Java-Broker-BDB-.-Introduce-a-thin-facade-.patch
>
>
> Refactor BDBMessageStore and HAMessageStore.
> This will 
> # remove the need for the HAMessageStore interface
> # revert having a single BDBMessageStore
> # neatly encapsulate DatabaseException handling (perhaps using facade or exception listener approach) to deal with differences between exception behaviour between JE HA and non-HA.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org