[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