Indeed, 2.6.8 it is. I'll try to upgrade, thanks! (Is there some trick to upgrade in a smart way, so as I will not have to manually re-check the current version when I am next time upgrading the complete WOnder? At the moment I can't see one, but that might just mean I'm blind.)
Thanks a lot, OC On 19. 1. 2015, at 19:02, Theodore Petrosky <[email protected]> wrote: > are you using the default version of ERJGroupsSynchronizer? that was jgroups > 2.6.8 they are up to version 3.6.1. > > I seem to recall that in a project I had to update jgroups. > > Just a thought. I had a similar problem with JasperReports and updating to > the newest (almost) version fixed the issue. > > Ted > > On 1/19/15 12:48 PM, OC wrote: >> Hello there, >> >> to sync changes betwixt instances, I am using Remote Synchronizer with the >> following setup: >> >> === >> er.extensions.ERXObjectStoreCoordinatorPool.maxCoordinators=3 >> er.extensions.remoteSynchronizer.enabled=true >> er.extensions.remoteSynchronizer=er.jgroups.ERJGroupsSynchronizer >> er.extensions.jgroupsSynchronizer.multicastAddress=230.0.0.1 >> er.extensions.jgroupsSynchronizer.multicastPort=9753 >> er.extensions.jgroupsSynchronizer.localBindAddress=127.0.0.1 >> er.extensions.jgroupsSynchronizer.groupName=REBOIS_SYNC >> === >> >> Most time, it works excellently. >> >> Occassionally though, I'm getting exceptions like this >> >> === >> 15:15:02.574 INFO Received 97 changes from 127.0.0.1:60979 >> //log:er.extensions.remoteSynchronizer.ERXRemoteSynchronizer >> [Incoming-1,REBOIS_SYNC,127.0.0.1:62546] >> 15:15:02.985 ERROR Exception condition 379. Optimistic locking: multiple >> transaction conflict detected.at >> com.frontbase.jdbc.FBJErrorMetaData.errorMessageAtIndex(Unknown Source) >> === >> >> (full stack below). It does make sense: while my own save code is written to >> handle optimistic exceptions properly, the Remote Synchronizer >> self-evidently is not. But the outcome is rather grave, namely, instances >> which contain different values in their EO stacks, and which either present >> the different values to users, or even report weird errors. >> >> (The last case, which lead me to this, was one instance removing an object >> from a relationship and deleting it from the database. Another instance >> alas, most probably due to the aforementioned exception, has not been >> informed that the object was removed from a relationship, and fell to >> databaseContextFailedToFetchObject. Ick.) >> >> How do you solve this problem? To be frank, I can't see a solution, but for >> writing my own Remote Synchronizer, which I would rather do without for time >> reasons... >> >> Thanks for any advice, >> OC >> >> === full stack trace of the exception in case it helps any === >> 15:15:02.574 INFO Received 97 changes from 127.0.0.1:60979 >> //log:er.extensions.remoteSynchronizer.ERXRemoteSynchronizer >> [Incoming-1,REBOIS_SYNC,127.0.0.1:62546] >> 15:15:02.985 ERROR Exception condition 379. Optimistic locking: multiple >> transaction conflict detected.at >> com.frontbase.jdbc.FBJErrorMetaData.errorMessageAtIndex(Unknown Source) >> at com.frontbase.jdbc.FBJErrorMetaData.getExceptionChain(Unknown Source) >> at com.frontbase.jdbc.FBJConnection.checkMetaData(Unknown Source) >> at com.frontbase.jdbc.FBJConnection.commit(Unknown Source) >> at >> com.webobjects.jdbcadaptor.JDBCContext.commitTransaction(JDBCContext.java:452) >> at com.webobjects.jdbcadaptor.JDBCChannel._endFetch(JDBCChannel.java:417) >> at com.webobjects.jdbcadaptor.JDBCChannel.fetchRow(JDBCChannel.java:1458) >> at >> com.webobjects.eoaccess.EODatabaseChannel._fetchObject(EODatabaseChannel.java:321) >> at >> com.webobjects.eoaccess.EODatabaseContext._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:3071) >> at >> er.extensions.eof.ERXDatabaseContext._objectsWithFetchSpecificationEditingContext(ERXDatabaseContext.java:68) >> at >> com.webobjects.eoaccess.EODatabaseContext.objectsWithFetchSpecification(EODatabaseContext.java:3195) >> at >> com.webobjects.eocontrol.EOObjectStoreCoordinator.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:488) >> at >> com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4069) >> at er.extensions.eof.ERXEC.objectsWithFetchSpecification(ERXEC.java:1308) >> at >> com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4444) >> at >> er.extensions.eof.ERXEOGlobalIDUtilities.fetchObjectsWithGlobalIDs(ERXEOGlobalIDUtilities.java:290) >> at >> er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue$UpdateCacheChangeProcessor.processCacheChange(ERXObjectStoreCoordinatorSynchronizer.java:393) >> at >> er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue.processRemoteChange(ERXObjectStoreCoordinatorSynchronizer.java:560) >> at >> er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue.run(ERXObjectStoreCoordinatorSynchronizer.java:622) >> at java.lang.Thread.run(Thread.java:695) >> >> Exception condition 363. Transaction rollback. >> //log:er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer >> [ERXOSCProcessChanges] >> JDBCAdaptorException: Exception condition 379. Optimistic locking: multiple >> transaction conflict detected. >> at >> com.webobjects.jdbcadaptor.JDBCContext.commitTransaction(JDBCContext.java:455) >> ... skipped 4 stack elements >> at >> er.extensions.eof.ERXDatabaseContext._objectsWithFetchSpecificationEditingContext(ERXDatabaseContext.java:68) >> ... skipped 1 stack elements >> at >> com.webobjects.eocontrol.EOObjectStoreCoordinator.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:488) >> at >> com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4069) >> at er.extensions.eof.ERXEC.objectsWithFetchSpecification(ERXEC.java:1308) >> at >> com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4444) >> at >> er.extensions.eof.ERXEOGlobalIDUtilities.fetchObjectsWithGlobalIDs(ERXEOGlobalIDUtilities.java:290) >> at >> er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue$UpdateCacheChangeProcessor.processCacheChange(ERXObjectStoreCoordinatorSynchronizer.java:393) >> at >> er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue.processRemoteChange(ERXObjectStoreCoordinatorSynchronizer.java:560) >> at >> er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue.run(ERXObjectStoreCoordinatorSynchronizer.java:622) >> ... skipped 1 stack elements >> >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list ([email protected]) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/webobjects-dev/tedpet5%40yahoo.com >> >> This email sent to [email protected] > _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
