Re: ActiveMQ database persistance with MariaDB
I spent a little time this evening going through the JDBC persistence code,
and I see no code that is specific to MariaDB and no code that appears to
handle database connection failures by seamlessly failing over to a slave
node. So if your question is simply "is there a feature to allow seamless
failover when the master node of a MariaDB cluster dies?" then the answer
is "No, but you can submit an enhancement request in JIRA if that's
something you'd find useful." If that's not your question, please clarify
what you're asking by answering the questions from my last email.
On Fri, Dec 29, 2017 at 4:02 PM, Tim Bain <tbain@xxxxxxxxxxxxxxx> wrote:
> Can you please give more details about your setup? Are you using one
> broker and one MariaDB cluster with three nodes? Or do you have three
> ActiveMQ brokers that each have a standalone MariaDB instance? Or something
> I think you're describing a clustered MariaDB setup where the broker stays
> up and you're expecting it to failover to another database node when the
> master database node goes down. If so, I'd have to check the
> MariaDB-specific code when I get back to connectivity (I'm currently on a
> plane), but another user recently asked about seamless failover in a MSSQL
> Server cluster and I couldn't find any code that would allow it, so it's
> possible that it's not been implemented for MariaDB either.
> But if that's really what you're asking about, then I don't understand
> what you mean by "the 2 slaves will error out and go out of sync". Why
> would the slave database nodes error out (or if they are, how is that
> related to ActiveMQ, and why aren't you asking on a MariaDB mailing list?),
> and what exactly do you mean by the slave nodes "go out of sync" (and
> again, doesn't that mean that your MariaDB cluster isn't working properly
> rather than that ActiveMQ isn't working properly)? So maybe my
> interpretation of your question as relating to a single ActiveMQ broker
> against a multi-node MariaDB cluster is wrong.
> Either way, you need to give more details about exactly what you're seeing
> if we're going to be able to help. A better description of your exact
> configuration would be a good start, as would a better description of
> exactly what the failure behavior is (exact error messages rather than
> generic phrases like "error out", for example). Unless you aren't looking
> for support on the errors you're seeing and your only question is "can I
> configure ActiveMQ to seamlessly failover to a slave MariaDB node when the
> master dies?", in which case I think the answer is "no" but I'll confirm
> that once I get some time at a computer this weekend.
> On Dec 27, 2017 4:32 PM, "mccartneyc" <mccartneyc@xxxxxxxxxxxxx> wrote:
>> Good morning,
>> We have ActiveMQ setup and connected to 3 databases, 1 Master and 2 slaves
>> and running MariaDB. If the Master goes down for any reason, the 2 slaves
>> will error out and go out of sync instead of one of them becoming the new
>> Master. To work around this during updates, we update the two slaves,
>> them, change the DNS records pointing to the master so that they point to
>> one of the other DBs, then make sure they are all sync'd. Then update the
>> master, reboot, and undo the DNS changes and make sure they are all sync'd
>> This isn't horrible to do, but it's not ideal. Looking through
>> I see there is persistance configuration settings that can be made, but
>> seeing anything for MariaDB and how that would need to be setup.
>> The persistance adapter in the config xml is below.
>> <jdbcPersistenceAdapter dataDirectory="activemq-data"
>> Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805