[midPoint] [midpoint] Active/Active Configuration

Florin. Stingaciu fstingaciu at mirantis.com
Mon Aug 15 19:39:53 CEST 2016


Hello Pavol,

Thanks for your detailed response. I tried setting up the datasource with
validationQuery set up properly for the mySQL backed I have. However, upon
service restart I get the following errors: http://pastebin.com/8dpGN0JC

To save you a click, it seems as though the connection is set up in
readonly mode or some other strange things happen. I've tried setting
readonly="false" in the resource definition in server.xml but that didn't
help. I will continue researching this, however any guidance would be quite
appreciated.

Thanks!
-F

On Mon, Aug 15, 2016 at 2:29 AM, Pavol Mederly <mederly at evolveum.com> wrote:

> Hello Florin,
>
> having looked at your logs, it seems that maybe explicit setting of
> validationQuery in Quartz data source setup would help. (See
> http://www.quartz-scheduler.org/documentation/quartz-2.x/configuration/
> ConfigDataSources.html.)
>
> Unfortunately, current midPoint implementation does not allow to configure
> Quartz data source parameters. So, there are the following three
> possibilities:
>
>    1. Take an alternative route, and use application server-defined data
>    source (with validationQuery set up).
>    2. Patch Task Manager implementation by adding appropriate lines to
>    Quartz configuration (see LocalNodeManager.java:87-90).
>    3. Wait until we implement it - I've created an issue MID-3347
>    <https://jira.evolveum.com/browse/MID-3347> for this.
>
> As for the first one (externally defined data source): Please see
> https://wiki.evolveum.com/display/midPoint/Repository+Configuration#
> RepositoryConfiguration-Datasourceconfiguration on how to configure
> midPoint repository with the data source. This data source will be used
> also by Quartz, if not overriden in <taskManager> section. It should work
> but I don't remember if someone actually tested this.
>
> Concerning autoReconnect: I have no experiences with this setting. I agree
> with you that about the hesitation of using it in production environment.
> If really needed, I'd recommend to separate midPoint repository
> configuration from Quartz configuration by using different JDBC URLs for
> the two: the standard one for the repository and the one with
> "autoReconnect=true" for Quartz. In this way, potential negative effects
> should be restricted to task management functionality only. But, overall,
> I'd suggest trying to eliminate the problem by setting validationQuery
> first.
>
> Best regards,
>
> Pavol Mederly
> Software developerevolveum.com
>
> On 14.08.2016 22:40, Florin. Stingaciu wrote:
>
> Hello,
>
> I'm trying to configure an active/active configuration, and experiencing
> some issues with the Quartz scheduler. The SQL connection seems to timeout
> quite often and result in many warning messages. I'm also experiencing some
> errors -- as the timeout closes the connection, some processes are still
> trying to commit using that stale handler.
>
> Here are some relevant logs from both midPoint instances in this cluster:
> http://pastebin.com/JFjqrLnT http://pastebin.com/1vy4iYPY
>
> Also here's the relevant portion of my config.xml file:
> http://pastebin.com/WbydcCC8
>
> Following the suggestions in the warnings, I've started to look at
> autoReconnect propriety of the JDBC connector and applied it to my configs
> like so:
>
> <jdbcUrl>jdbc:mysql://SERVER:3306/midpoint_dev?
>> autoReconnect=true</jdbcUrl>
>
>
> Since implementing this change, the errors and warnings seem to have
> disappeared. I will continue to monitor the logs and ensure this actually
> the case.
>
> Reading the mysql docs, I found that this is not recommended as this may
> cause data inconsistency issues and that stale connection exceptions should
> be properly caught within the application. Namely:
>
> The use of this feature is not recommended, because it has side effects
>> related to session state and data consistency when applications don't
>> handle SQLExceptions properly, and is only designed to be used when you are
>> unable to configure your application to handle SQLExceptions resulting from
>> dead and stale connections properly.
>
>
> Do you have any recommended configuration for this scenario? I'd like to
> move my current production environment in an active active configuration,
> however as of right now I'm hesitant to do so in order to avoid any data
> corruption. Especially since it's quite difficult to test for data
> consistency issues that may arise from using autoReconnect in my dev
> environment.
>
> Thanks,
> -F
>
>
>
> _______________________________________________
> midPoint mailing listmidPoint at lists.evolveum.comhttp://lists.evolveum.com/mailman/listinfo/midpoint
>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20160815/0415e86a/attachment.htm>


More information about the midPoint mailing list