Re: [jgroups-users] upgrading to 3.6.8
Questions/problems related to using JGroups <[email protected]>
| Newsgroups | gmane.comp.java.javagroups.general |
|---|---|
| Message-ID | <[email protected]> |
On 30/03/16 19:43, Questions/problems related to using JGroups wrote:
> Hi Bela et al,
>
> Am finally moving up to 3.6.8 from 3.4.7.
Great!
> We programmatically create our stack using the code below. Am going to make the following changes, and
> just wondered if there are any others that are recommended.
>
> - Use new JChannel(Protocol ... protocols) constructor.
> - Replace FD with FD_ALL.
> - Change TCPPING's port range to 0 so we only use what's set by user.
> - Remove num_initial_members from TCPPING.
> - MERGE2 to MERGE3.
OK
> - Add try/catch where I set member list on DynamicMembershipToken when
> creating auth protocol.
>
> Any others that I've missed that are recommended? I'll look through the
> values more closely to look for deprecated things like
> num_initial_members above.
>
> stack.addProtocol(new TCP()
> .setValue("oob_thread_pool_keep_alive_time", 5000)
> .setValue("timer_keep_alive_time", 3000)
> .setValue("bind_addr", InetAddress.getByName(<our address>))
> .setValue("bind_port", bindingPort)
> .setValue("thread_pool_min_threads", 1)
> .setValue("thread_pool_keep_alive_time", 5000)
> .setValue("send_buf_size", 640000)
> .setValue("oob_thread_pool_queue_max_size", 100)
> .setValue("oob_thread_pool_max_threads", 8)
> .setValue("thread_pool_queue_enabled", false)
> .setValue("sock_conn_timeout", 300)
> .setValue("oob_thread_pool_min_threads", 1)
> .setValue("loopback", false)
> .setValue("oob_thread_pool_queue_enabled", false)
> .setValue("max_bundle_timeout", 30)
> .setValue("thread_pool_queue_max_size", 100)
> .setValue("recv_buf_size", 5000000))
> .addProtocol(new TCPPING()
> .setValue("initial_hosts", <get hosts>)
> .setValue("num_initial_members", 3)) // default: 10
> .addProtocol(new MERGE2()
> .setValue("min_interval", 10000)
> .setValue("max_interval", 30000))
> .addProtocol(new FD_SOCK())
> .addProtocol(new FD()
> .setValue("max_tries", <...>)
> .setValue("timeout", <...>))
> .addProtocol(new VERIFY_SUSPECT()
> .setValue("timeout", 1500))
> .addProtocol(new BARRIER())
> .addProtocol(new NAKACK2()
> .setValue("use_mcast_xmit", false))
> .addProtocol(new UNICAST3()
> .setValue("conn_close_timeout", 5000L))
> .addProtocol(new STABLE()
> .setValue("desired_avg_gossip", 50000)
> .setValue("max_bytes", 4000000)
> .setValue("stability_delay", 1000))
> .addProtocol(<create our auth protocol object>)
> .addProtocol(new GMS()
> .setValue("join_timeout", 3000)
> .setValue("print_local_addr", false)) <-- change to
> true for more info
> .addProtocol(new MFC()
> .setValue("max_credits", 2000000)
> .setValue("min_credits", 800000))
> .addProtocol(new FRAG2())
> .addProtocol(new STATE_TRANSFER());
> stack.init();
It looks as if this is more or less the same config as tcp.xml shipped
with 3.6.8, so you should be fine. Note that if you don't use state
transfer, you could removed STATE_TRANSFER and BARRIER.
> Thanks for all your continuing help,
> Bobby
>
> p.s. The FD->FD_ALL change is to make it less likely for an isolated
> coordinator to receive separate view changes for the other nodes
> disappearing. Bela, you helped me a bunch with this earlier so that I
> could properly detect isolation cases.
--
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=278785471&iu=/4140