qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Rudyy (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5801) BDB store: remove facade initialisation tasks
Date Mon, 09 Jun 2014 13:25:02 GMT

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

Alex Rudyy commented on QPID-5801:
----------------------------------

Keith,

here are my review comments:

Is there any reason why openSequence code is not called in the try/catch block in order to
handle the environment restart exceptions like InsufficientReplicasException? I am guessing
that this operation could be replicated?

I see that openSequence is duplicated in both SEF and REF. It looks like we can move the identical
code into the abstract parent class.

Also, I am not sure why sequence is called MESSAGE_METADATA_SEQ_KEY instead of MESSAGE_ID_SEQUENCE
as the primary purpose of the sequence is to generate message id for the message instance?

> 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