By the way, here’s a synchronizer subclass I wrote to  keep changes in sync 
within a single java VM.


/**
 * Keeps EOF in sync within a single java VM.
 *
 * Wonder's ProcessChangesQueue seems to takes care of keeping 
 * in sync EOF stacks used in other threads.
 */
public class LocalSynchronizer extends ERXRemoteSynchronizer {
 
    public LocalSynchronizer(IChangeListener listener) {
        super(listener);
    }
 
    @Override
    public void join() throws Throwable { }
 
    @Override
    public void leave() throws Throwable { }
 
    @Override
    public void listen() throws Throwable { }
 
    @Override
    protected void _writeCacheChanges(int transactionID, NSArray<CacheChange> 
cacheChanges) throws Throwable 
    {
        // Nothing to write to the group
    } 
}

To use it you use these properties:

# Synchronization across EOF stacks (single VM)
#
# NOTE: The maxCoordinator property is needed to trigger the of
# initialization the synchronizer.
#
er.extensions.ERXObjectStoreCoordinatorPool.maxCoordinators=1
er.extensions.remoteSynchronizer.enabled=true
er.extensions.remoteSynchronizer=com.mpv.eof.LocalSynchronizer

Notice that the properties to specify which entities to include / exclude is 
not needed as the filtering of changes by entity seems to be used only when 
deciding which changes to send to remote instances.

Thank you
Ricardo J. Parada


> On Mar 25, 2022, at 4:49 PM, Ricardo Parada via Webobjects-dev 
> <webobjects-dev@lists.apple.com> wrote:
> 
> Thank you all for the responses.
> 
> When we put the ERJGroupsSynchronizer in production we started receiving 
> reports of users not being able to access the application instances or 
> getting kicked out of the application.  I do not know if the 
> ERJGroupsSynchronizer is the one to blame.  So I think it would be unfair to 
> blame the problem on ERJGroupsSynchronizer.
> 
> We just noticed the these warnings in the console and the first thing we 
> tried was to disable the synchronizer and the problem seems like it 
> disappeared after we did that.  
> 
> Mar 11, 2022 12:14:10 AM org.jgroups.protocols.UDP setBufferSize
> WARNING: JGRP000015: the send buffer of socket MulticastSocket was set to 
> 5MB, but the OS only allocated 212.99KB. This might lead to performance 
> problems. Please set your max send buffer in the OS correctly (e.g. 
> net.core.wmem_max on Linux)
> 
> This seems like it could be fixed by increasing the max send buffer on the 
> servers.
> 
> The testers in our UAT environment noticed the following warnings:
> 
> WARNING: JGRP000012: discarded message from different cluster 
> UATClaimScrubber (our cluster is UATContractManager). Sender was 
> f677bf19-c5e7-a69e-2000-97638a06f579 (received 4 identical messages from 
> f677bf19-c5e7-a69e-2000-97638a06f579 in the last 64665 ms)
> 
> I think this just means that two different instances with a different 
> application name are using the same multicast address.  Nothing really 
> harmful.  This could probably be taken care of by setting the group name to 
> the same name on both.
> 
> If I get any additional information I will post my findings.
> 
> Thank you all,
> Ricardo J. Parada
> 
> 
> 
> 
> 
>> On Mar 21, 2022, at 11:28 AM, Steve Peery <spe...@icloud.com 
>> <mailto:spe...@icloud.com>> wrote:
>> 
>> I’ve also been using it for years to synchronize instances.
>> 
>> I’m not sure it is going to do what you want. You say you want to use it so 
>> you can update "without resorting to fetching”. I think the synchronization 
>> notifications simply pass the global IDs of the objects that have changed so 
>> they are refetched in the receiving instances.
>> 
>> Steve
>> 
>> 
>> 
>>> On Mar 20, 2022, at 6:21 PM, Paul Hoadley via Webobjects-dev 
>>> <webobjects-dev@lists.apple.com <mailto:webobjects-dev@lists.apple.com>> 
>>> wrote:
>>> 
>>> Hi Ricardo,
>>> 
>>> On 19 Mar 2022, at 14:25, Ricardo Parada via Webobjects-dev 
>>> <webobjects-dev@lists.apple.com <mailto:webobjects-dev@lists.apple.com>> 
>>> wrote:
>>> 
>>>> Does anybody use ERJGroupsSynchronizer?
>>> 
>>> We've been using it for years now, albeit with some light modifications to 
>>> allow JGroups to work on AWS (originally via the Meltmedia AWS_PING 
>>> project, but now via our own fork of that since it's essentially 
>>> abandonware).
>>> 
>>>> I’m trying to synchronize two EOF stacks within a single VM. I don’t want 
>>>> the synchronization to happen across application instances. 
>>>> 
>>>> The video from Mike Shrag from a WOWODC conference said it can be single 
>>>> VM or across VM. I’m interested in the single VM but have not yet figured 
>>>> out how to do it. 
>>>> 
>>>> Basically, I have a background task doing work on a separate EOF stack and 
>>>> I want the changes to reflect on the EOF stack used by the user interface 
>>>> without resorting to fetching. 
>>> 
>>> Intra-JVM like that is not a configuration we've used. Can you walk us 
>>> through what you've tried and why you think it's not working? There have 
>>> been a few others using it over the years, maybe they're still on the list.
>>> 
>>> 
>>> -- 
>>> Paul Hoadley
>>> https://logicsquad.net/ <https://logicsquad.net/>
>>> https://www.linkedin.com/company/logic-squad/ 
>>> <https://www.linkedin.com/company/logic-squad/>
>>> 
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com 
>>> <mailto:Webobjects-dev@lists.apple.com>)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/speery%40me.com 
>>> <https://lists.apple.com/mailman/options/webobjects-dev/speery%40me.com>
>>> 
>>> This email sent to spe...@me.com <mailto:spe...@me.com>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/rparada%40mac.com
> 
> This email sent to rpar...@mac.com

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to