[jboss-jira] [JBoss JIRA] (JGRP-1827) Forked channel requires udp.xml file
Jim Thomas (JIRA)
issues at jboss.org
Wed Apr 16 11:38:33 EDT 2014
[ https://issues.jboss.org/browse/JGRP-1827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12962312#comment-12962312 ]
Jim Thomas commented on JGRP-1827:
----------------------------------
Interesting, I actually started out with that approach but I kept getting file not found errors so I switched to inline. I had the impression that the file path for the fork config file was starting in a different place than for my main stack. On android the stack files (which are packaged into the apk) are found in the current local directory -- when starting a channel I specify "udp.xml".
The inline fork channels worked (as long as my stack was called udp.xml), although I did not verify the protocols I added to them were working. I didn't make any changes in my port other than remove stuff that is incompatible with Android. I got the syntax for the inline stacks from https://github.com/belaban/JGroups/blob/master/doc/design/FORK.txt which is referenced in the manual so maybe the docs should be updated.
> Forked channel requires udp.xml file
> ------------------------------------
>
> Key: JGRP-1827
> URL: https://issues.jboss.org/browse/JGRP-1827
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 3.4.1
> Environment: Android
> Reporter: Jim Thomas
> Assignee: Bela Ban
> Priority: Minor
> Fix For: 3.4.4, 3.5
>
> Attachments: bla2.java, fork-stacks.xml, main.xml
>
>
> An exception is thrown when creating a fork channel if the stack file name is something other than udp.xml (in my case main.xml):
> final JChannel mainChannel = new JChannel("main.xml");
> final ForkChannel mbChannel = new ForkChannel(mainChannel,
> "main", "fork-mb");
> 4-09 17:33:38.270: W/System.err(5478): java.io.FileNotFoundException: JGRP000003: file "udp.xml" not found
> 04-09 17:33:38.270: W/System.err(5478): at org.jgroups.conf.ConfiguratorFactory.getXmlConfigurator(ConfiguratorFactory.java:211)
> 04-09 17:33:38.270: W/System.err(5478): at org.jgroups.conf.ConfiguratorFactory.getStackConfigurator(ConfiguratorFactory.java:102)
> 04-09 17:33:38.270: W/System.err(5478): at org.jgroups.JChannel.<init>(JChannel.java:172)
> 04-09 17:33:38.270: W/System.err(5478): at org.jgroups.JChannel.<init>(JChannel.java:123)
> 04-09 17:33:38.270: W/System.err(5478): at org.jgroups.fork.ForkChannel.<init>(ForkChannel.java:75)
> 04-09 17:33:38.270: W/System.err(5478): at org.jgroups.fork.ForkChannel.<init>(ForkChannel.java:118)
> 04-09 17:33:38.270: W/System.err(5478): at com.novawurks.jgroupstest.JGroupsTestActivity$JGroupsSetupThread.run(JGroupsTestActivity.java:119)
> If I have the stack named udp.xml then the exception is not thrown and everything works as expected. If I make a copy of main.xml named udp.xml (so both files are present) the exception is not thrown and everything works as expected.
> Contents of main.xml / udp.xml :
> {code:xml}
> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="urn:org:jgroups"
> xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/JGroups-3.3.xsd" >
> <UDP
> enable_diagnostics="true"
> ip_mcast="true"
> ip_ttl="${jgroups.udp.ip_ttl:8}"
> loopback="true"
> max_bundle_size="1400"
> max_bundle_timeout="5"
> mcast_port="${jgroups.udp.mcast_port:45588}"
> mcast_recv_buf_size="200K"
> mcast_send_buf_size="200K"
> oob_thread_pool.enabled="true"
> oob_thread_pool.keep_alive_time="5000"
> oob_thread_pool.max_threads="8"
> oob_thread_pool.min_threads="1"
> oob_thread_pool.queue_enabled="false"
> oob_thread_pool.queue_max_size="100"
> oob_thread_pool.rejection_policy="discard"
> thread_naming_pattern="cl"
> thread_pool.enabled="true"
> thread_pool.keep_alive_time="5000"
> thread_pool.max_threads="8"
> thread_pool.min_threads="2"
> thread_pool.queue_enabled="true"
> thread_pool.queue_max_size="10000"
> thread_pool.rejection_policy="discard"
> timer.keep_alive_time="3000"
> timer.max_threads="10"
> timer.min_threads="4"
> timer.queue_max_size="500"
> timer_type="new3"
> tos="8"
> ucast_recv_buf_size="200K"
> ucast_send_buf_size="200K" />
> <PING />
> <MERGE2
> max_interval="30000"
> min_interval="10000" />
> <FD_SOCK />
> <FD_ALL />
> <VERIFY_SUSPECT timeout="1500" />
> <BARRIER />
> <pbcast.NAKACK2
> discard_delivered_msgs="true"
> max_msg_batch_size="500"
> use_mcast_xmit="false"
> xmit_interval="500"
> xmit_table_max_compaction_time="30000"
> xmit_table_msgs_per_row="2000"
> xmit_table_num_rows="100" />
> <UNICAST3
> conn_expiry_timeout="0"
> max_msg_batch_size="500"
> xmit_interval="500"
> xmit_table_max_compaction_time="60000"
> xmit_table_msgs_per_row="2000"
> xmit_table_num_rows="100" />
> <pbcast.STABLE
> desired_avg_gossip="50000"
> max_bytes="4M"
> stability_delay="1000" />
> <pbcast.GMS
> join_timeout="3000"
> print_local_addr="true"
> view_bundling="true" />
> <UFC
> max_credits="2M"
> min_threshold="0.4" />
> <MFC
> max_credits="2M"
> min_threshold="0.4" />
> <FRAG frag_size="1000" />
> <pbcast.STATE_TRANSFER />
> <FORK>
> <fork-stack id="main" >
> <config>
> <CENTRAL_LOCK num_backups="2" />
> </config>
> </fork-stack>
> <fork-stack id="lock" >
> <config>
> <CENTRAL_LOCK num_backups="2" />
> <STATS />
> </config>
> </fork-stack>
> </FORK>
> </config>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list