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]

Reply via email to