Hi Guido, I've changed the openjpa.RemoteCommitProvider config in the persistenceContextEMFactory.xml. That is all that is needed. Port 5636 (default) needs to be open for incoming requests from the other node(s).
<entry key="openjpa.RemoteCommitProvider"
value="tcp(Addresses=x.x.x.x;x.x.x.x)"/>
With database replication and now OpenJPA sorted, I should be fine. We don't
need session replication. I do have an issue with that too by the way. Has to
do with serialization. There's another thread for that one.
kind regards,
J.
On 26 mrt. 2014, at 08:38, Guido Wimmel <[email protected]> wrote:
Hi,
yes, if I understand the OpenJPA documentation correctly, the Remote Commit
Provider Configuration is the way to replicate the cache.
I have no experience with such a configuration. It would also be interesting
for me to know if such a setup works with Syncope.
However, I'd recommend doing some tests to see what the actual performance
effect of the respective cache setup is
and if the performance effect justifies the additional complexity introduced by
the cache replication.
Regards,
Guido
Gesendet: Dienstag, 25. März 2014 um 14:01 Uhr
Von: "Jordi Clement" <[email protected]>
An: [email protected]
Betreff: Re: Question wrt syncope active / active HA setup
Hi!
thanks for the reply. I guess disabling the cache comes with a performance
penalty. So that would not necessarily be the way to go. I've found the TCP
Remote Commit Provider Configuration in the OpenJPA documentation [1]. Is that
the way to go? On that page it says "OpenJPA's data cache, for example, uses
remote events to remain synchronized when deployed in multiple JVMs.". Anyone
familiar with this solution?
kind regards,
Jordi
[1]
http://openjpa.apache.org/builds/2.2.1/apache-openjpa/docs/ref_guide_event.html
On 24 mrt. 2014, at 16:28, Guido Wimmel <[email protected]> wrote:
Hi Jordi,
Syncope uses OpenJPA and enables OpenJPA Caching by default. Probably this is
the reason for the described behaviour.
If so, you'd have to change the configuration in
core/src/main/resources/persistenceContextEMFactory.xml by either
disabling caching or possibly replicating the cache (see [1]).
(If I'm right, maybe this could be worth a warning in [2]).
Best regards,
Guido
[1]
http://openjpa.apache.org/builds/1.0.3/apache-openjpa-1.0.3/docs/manual/ref_guide_caching.html
[2] https://cwiki.apache.org/confluence/display/SYNCOPE/Setup+a+Syncope+cluster
Gesendet: Donnerstag, 20. März 2014 um 22:55 Uhr
Von: "Jordi Clement" <[email protected]>
An: [email protected]
Betreff: Question wrt syncope active / active HA setup
Hi,
I've setup a MySQL database cluster with master master replication. I've
deployed syncope in Tomcat 7 on 2 nodes. Each node points to the locally
installed database. I've not yet setup Tomcat clustering but instead rely on
the database synchronization for failover. I've configured the MySQL driver per
suggestion on page [1].
Now I notice the following behavior:
1. Create a role using the console on node 1
2. The role is removed from the database on both servers
3. The role shows up in the console on node 2 after a page refresh
4. Remove the role from the console on node 2
5. The role is removed from the database on both servers
6. Go to the console on node 1. The role is still there, even after a page
reload.
7. Create a new role on node 1. The first role is removed.
I'm sure this has to do with caching. Now my question is: how can I configure
syncope to show the correct behavior? Do I need to setup a Tomcat cluster,
change the JDBC driver settings or maybe disable or configure caching in some
way? I' like to setup loadbalancing and I'm not sure whether I won't run into
problems with the setup as is.
kind regards,
J.
[1]
https://cwiki.apache.org/confluence/display/SYNCOPE/Run+Syncope+in+real+environments
signature.asc
Description: Message signed with OpenPGP using GPGMail
