Re: [jgroups-users] [E] Re: Can probe be used to recover network splits?

Questions/problems related to using JGroups <[email protected]>
Newsgroups gmane.comp.java.javagroups.general
Message-ID <[email protected]>

On 21/03/16 15:25, Questions/problems related to using JGroups wrote:
> I need to confirm once again.  We are planning to upgrade jboss but
> it is a long term plan. Can I use latest jgroups with jboss-4.2.0.GA

No

> to fix the issues that we are seeing currently?.   Thanks for all
> your suggestions.
>
> Thanks, Vamshi J.
>
> -----Original Message----- From: Questions/problems related to using
> JGroups [mailto:[email protected]] Sent:
> Saturday, March 19, 2016 5:02 AM To:
> [email protected] Subject: [E] Re:
> [jgroups-users] Can probe be used to recover network splits?
>
>
>
> On 18/03/16 18:42, Questions/problems related to using JGroups
> wrote:
>
>
>>> I'm sure there's something else going on, preventing a merge.
>>> Have you checked your thread pools? Do they have queues enabled
>>> perhaps? Do you configure the internal and/or timer pools as
>>> well?
>>>
>>> Thread pool queue is enabled  for Regular thread pools but
>>> disabled for OOB. I have internal and timer threads configured
>>> too.
>>
>>
>> [Bela] OK. An idea is to check with probe.sh (next time this
>> occurs) what the size of the pools is (plus the active sizes)
>>
>> /[PoojaK] : the internal_queue_size and time_queue_size is all 0
>
> [Bela] I meant pool size not queue size.
>
>
>> everywhere but the OOB_queue_size: most of the nodes reported
>> queue size to be around 1000 and oob.thread_pool.queue_max_size is
>> 1000.
>
> [Bela] The OOB queue size is ignored as the queue is disabled, but
> the regular queue size should be always more or less 0!
>
>> Does views() go through OOB channel?
>
> [Bela] No, a new view is sent as regular message. So, if your regular
> queue size is > 0, then that could mean views are delayed.
>
>> I think I should disable the  queue on OOB thread pool for sure. so
>> that messages reach right away.
>
> [Bela] I thought you're doing that already. But I'd agree that the
> regular pool's queue could be disabled, too.
>
>
>>> What's you config?
>>>
>>>
>>> Below is my config:
>>>
>>> <TCP thread_pool.enabled="true" thread_pool.min_threads="50"
>>> thread_pool.max_threads="100" thread_pool.keep_alive_time="5000"
>>> thread_pool.queue_enabled="true"
>>> thread_pool.queue_max_size="50000"
>>> thread_pool.rejection_policy="Discard"
>>
>> [Bela] So if you have more than 50 threads active at the same time,
>> new messages will be queued up to 50000. Is 50 the max number of
>> nodes that are sending? An idea might be to disable the queue and
>> up max_size to a large number. OTOH, you won't need more than
>> (max_nodes + B) threads where B is a small buffer (say 3) as
>> messages from the same sender S will simply get added to S's table
>> is a thread is already processing a message (or batch) from S.
>>
>> /[PoojaK]: 50 was kept as higher limit since this system was going
>> to increase to 50 but currently its 32 members. But when I was
>> checking this system again I noticed min_threads are only 10 in
>> current system where issue happen whereas we have 32 nodes. This
>> might be the main culprit :(. That must be manual error (and I will
>> get this corrected right away to 35+). /
>
>
> [Bela] Yes, unless you have 50'000 messages in the queue, you'll
> never have more than 10 threads processing messages from 32 nodes.
> So, in the worst case, messages (and views) get delayed a lot.
>
>
>> /Also, most nodes are running with rejection_policy as Run for OOB
>> and regular thread pools. This might be another culprit. I need to
>> get this changed to "Discard" or "Run"/
>
>
> [Bela] Yes, +1,  definitely don't use "run"!
>
>
>> /For the queues, do you suggest disabling OOB , regular , timer
>> and internal thread pool queues? or just regular and OOB?/
>
> [Bela] Just regular and OOB. The other thread pools have tasks that
> are never supposed to block.
>
>
>
>>> initial_hosts=""
>>
>> [Bela] I assume you're setting this value at startup time?
>> /[PoojaK]: Yes and we have been very accurate with this to not see
>> "No Physical Address found" :-)/
>>
>>> <MERGE3 max_interval="200000" max_participants_in_merge="200"
>>> min_interval="20000" />
>>
>> [Bela] So on average it will take 200000 * 1.6 (check_interval,
>> computed) to start a merge
>>
>> /[PoojaK]: I checked the check_interval is 320 seconds for us
>> right now.Do you think this is adding to delay in merging? /
>
> [Bela] Not necessarily, but if you only check every ~5 minutes, then
> you can have 12 merges per hour _max_. Since merge detection is done
> with unreliable messages (not retransmitted since they're below
> NAKACK2 / UNICAST3), a merge might not happen at all, or happen
> partially (not merging the entire cluster).
>
> I don't think this is the main culprit, but it doesn't help having
> to wait for 5+ minutes for merge detection.
>
>
>>> <FD_ALL timeout="600000" interval="60000" />
>>
>>
>> [Bela] 10 minutes to detect a hung or crashed member?
>>
>> /[PoojaK]: that was done keeping in mind the nature of Application.
>> This application is data intensive and needs to store and
>> re-transmit data if the outage is within 10 minutes. I do remember
>> from your workshop that this shouldnt be very high. I will keep
>> this point in mind for a change. /
>
>
> [Bela] Yes, but I also suggested to pair FD_ALL with FD_SOCK. The
> latter would catch 90% of all crashes.
>
>
>>> <pbcast.GMS
>>>
>>> print_local_addr="true"
>>>
>>> join_timeout="6000"
>>>
>>> view_bundling="true"
>>>
>>> merge_timeout="60000"
>>>
>>> view_ack_collection_timeout="10000" />
>>
>> [Bela] Not a good idea; it might take up to 10s to install a view
>> unless VIEW-ACKs from all members are received quickly
>>
>> /[PoojaK]: If I recollect this variable is not stopping anything.
>> Its asynchronous right? /
>
>
> [Bela] Nope. The view installer (coordinator) waits for 10s until it
> has acks from all members of the new view. So this will delay view
> installation (also merge views).
>
>
>>> <FRAG2 frag_size="60000" />
>>
>> [Bela] Oh the horror, why aren't you using FRAG2?
>>
>> /[PoojaK]: I think I am using FRAG2 only. did you mean something
>> else? /
>
>
> [Bela] Sorry, my bad, I thought I read FRAG... :-)
>
>
>>> <pbcast.STATE_TRANSFER/>
>>>
>>> </config>
>>>
>>>> This is a cluster of 30 Nodes running with TCP as transport.
>>>> The nodes are geographically co-located across the globe.
>>>>
>>>>
>>>> On Thu, Mar 17, 2016 at 4:27 AM, JGroups - General mailing
>> list [via
>>>> JGroups] <[hidden email]
>>> </user/SendEmail.jtp?type=node&node=10995&i=0>>
>>>> wrote:
>>>>
>>>> Hi Pooja,
>>>>
>>>> On 16/03/16 21:25, Questions/problems related to using
>>> JGroups wrote:
>>>>> Hi ,
>>>>>
>>>>> Say if there is a split in the cluster and it is not
>> recovering
>>>>> automatically inspite of no network issues, has any one
>>> tried any probe
>>>>> commands related to merge3 to heal the cluster
>> automatically?
>>>>
>>>> There's a @ManagedOperation MERGE3.sendInfo() that can be
>>> triggered, so
>>>> everyone in a cluster sends their information,
>> allowing the
>>> coordinator
>>>> to start a merge.
>>>>
>>>> However, this doesn't automatically merge the cluster,
>> e.g.
>>> if everyone
>>>> has the same view, then nothing will happen.
>>>>
>>>> If there is no network problem, and MERGE3 does *not*
>> recover the
>>>> cluster, then that would be a bug. In such a case,
>> what would be
>>>> required for diagnosis is: - TRACE logs for all members of GMS
>>>> and MERGE3 - Views of all members. This could be used for a
>> reproducer
>>>>
>>>> I haven't yet come across a scenario with MERGE3 (*not*
>>> MERGE2!) that
>>>> doesn't heal a network partition when the network is
>>> functioning ok
>>>> again.
>>>>
>>>>> Thanks Pooja
>>>>>
>>>>>
>>>>
>>>
>>
>> -- Bela Ban, JGroups lead (http://www.jgroups.org)
>>
>>
>>
>> javagroups-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/javagroups-users
>>
>

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.