[midPoint] [midpoint] Active/Active Configuration

Pavol Mederly mederly at evolveum.com
Mon Aug 15 20:44:34 CEST 2016


Hello Florin,

this is really interesting. Please, could you also share your midPoint 
config.xml, as well as your data source configuration? (except 
credentials, of course)

Best regards,

Pavol Mederly
Software developer
evolveum.com

On 15.08.2016 19:39, Florin. Stingaciu wrote:
> 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 
> <mailto: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
>     <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
>     <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 <http://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/JFjqrLnT> http://pastebin.com/1vy4iYPY
>>     <http://pastebin.com/1vy4iYPY>
>>
>>     Also here's the relevant portion of my config.xml file:
>>     http://pastebin.com/WbydcCC8 <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 <mailto:midPoint at lists.evolveum.com>
>>     http://lists.evolveum.com/mailman/listinfo/midpoint
>>     <http://lists.evolveum.com/mailman/listinfo/midpoint>
>     _______________________________________________ midPoint mailing
>     list midPoint at lists.evolveum.com
>     <mailto:midPoint at lists.evolveum.com>
>     http://lists.evolveum.com/mailman/listinfo/midpoint
>     <http://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/78a222bf/attachment.htm>


More information about the midPoint mailing list