[midPoint] [midpoint] Active/Active Configuration

Pavol Mederly mederly at evolveum.com
Mon Aug 15 11:29:20 CEST 2016


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 developer
evolveum.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 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/d11b2abf/attachment.htm>


More information about the midPoint mailing list