qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Wall (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5801) BDB store: remove facade initialisation tasks
Date Fri, 13 Jun 2014 17:03:03 GMT

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

Keith Wall commented on QPID-5801:
----------------------------------

Hi Alex

I addressed the functional aspect of your comments, that is, the fact that a failure to generate
a sequence would not have caused environment restart.  This is fixed by r1602441.

I agree with your comments re duplication in SEF/REF, but I would address via composition,
rather than inheritance. I don't think this is a priority at the moment.

Finally, I called the constant _KEY as JE uses the name key in their formal parameter in the
signature of Database#openSequence().  I see no need for change.

{code:java}
public Sequence openSequence(final Transaction txn,
                                 final DatabaseEntry key,
                                 final SequenceConfig config)
{code}


> BDB store: remove facade initialisation tasks
> ---------------------------------------------
>
>                 Key: QPID-5801
>                 URL: https://issues.apache.org/jira/browse/QPID-5801
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Keith Wall
>            Assignee: Alex Rudyy
>             Fix For: 0.29
>
>
> Currently the BDB Store's EnvironmentFacade uses four initialisation tasks that are executed
once the store becomes writable.  For non-HA, these take place once as the store is opened,
for HA, these take place each time the node becomes master.
> It has been identified that this design is problematic as it requires the facade to know
at construction time to what purpose it will be put.  This is contrary to the ideas for VirtualHostNodes/VirtualHosts:
VirtualHostsNodes (which in the BDB case cause the creation of the facade) have no way to
predict what VirtualHost type will be put within it so cannot predict the list of tasks.
> This refactoring will eliminate the initialisation tasks in the following manner:
> * MaxIdTask - eliminated in favour of an JE sequence
> * DiskSpaceTask - quota algorithm will no longer require that to know the current diskspace
on open (or becoming master)
> * OpenDatabaseTask - database will be opened (and cached) by side-effect
> * UpgradeTask - structure upgrade will be caused explicitly by the VirtualHostNode or
VirtualHost.



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