[
https://issues.jboss.org/browse/JGRP-1827?page=com.atlassian.jira.plugin....
]
Jim Thomas commented on JGRP-1827:
----------------------------------
That didn't fix it for me (or at least not entirely) -- I still get the same udp.xml
not found exception from the original comment. If you look at the call stack for the
exception you can see that we are in the JChannel (super) default constructor and have not
yet gotten to the point where we make an instance of FORK using getFork in the ForkChannel
constructor. If I have a valid udp.xml, but one that does not contain a FORK protocol in
it, then the fork channel is created and works. A bit scary though.
From my look at the code it seems to me that ForkChannel should not be
using the default constructor for the parent JChannel. Not sure if one of the other
JChannel constructors is appropriate or if a new one must be added.
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