[ 
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-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to