qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5410) Refactor BDBMessageStore and HAMessageStore to encapsulate environment specific operations into facades
Date Wed, 26 Mar 2014 12:05:16 GMT

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

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

Commit 1581797 from [~k-wall] in branch 'qpid/trunk'
[ https://svn.apache.org/r1581797 ]

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:

* BDBMessageStore reverts to a single implementation without knowledge of HA.
* BDBMessageStore now interacts with JE via the facade.
* BDBHAVirtualHost is now responsible for the creation of ReplicatedEnvironmentFacade
* 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


Mime
View raw message