1 Reply Latest reply on Mar 28, 2009 3:51 AM by g9yuayon

    Failed sending message with IOException: Invalid argument

      I'm setting up a JBoss Cache cluster with two servers. Each server runs a cache instance. Each instance asynchronously replicates to the other using UDP mcast. When both servers were running, they kept logging the errors below. I've tried the Probe test and the LargeState. Both worked well. I also checked to make sure mcast was configured on both servers. Anything else should I look into? Thanks!

      (TP.java:1197) 2009-03-27 23:34:34,976 ERROR failed sending message to 10.210.102.100:51799 (89 bytes)
      java.lang.Exception: dest=/10.210.102.100:51799 (92 bytes)
       at org.jgroups.protocols.UDP._send(UDP.java:353)
       at org.jgroups.protocols.UDP.sendToSingleMember(UDP.java:308)
       at org.jgroups.protocols.TP.doSend(TP.java:1481)
       at org.jgroups.protocols.TP.send(TP.java:1468)
       at org.jgroups.protocols.TP.down(TP.java:1189)
       at org.jgroups.protocols.Discovery.down(Discovery.java:373)
       at org.jgroups.protocols.MERGE2.down(MERGE2.java:175)
       at org.jgroups.protocols.FD_SOCK.down(FD_SOCK.java:367)
       at org.jgroups.protocols.FD.down(FD.java:315)
       at org.jgroups.protocols.VERIFY_SUSPECT.down(VERIFY_SUSPECT.java:95)
       at org.jgroups.protocols.pbcast.NAKACK.down(NAKACK.java:672)
       at org.jgroups.protocols.UNICAST.retransmit(UNICAST.java:523)
       at org.jgroups.stack.AckSenderWindow.retransmit(AckSenderWindow.java:144)
       at org.jgroups.stack.Retransmitter$Task.run(Retransmitter.java:241)
       at org.jgroups.util.TimeScheduler$TaskWrapper.run(TimeScheduler.java:219)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
       at java.lang.Thread.run(Thread.java:619)
      Caused by: java.io.IOException: Invalid argument
       at java.net.PlainDatagramSocketImpl.send(Native Method)
       at java.net.DatagramSocket.send(DatagramSocket.java:612)
       at org.jgroups.protocols.UDP._send(UDP.java:349)
      
      


      Here is my clustering configuration:
      <clustering mode="replication" clusterName="JBossCache-cluster">
       <!--
       Defines whether to retrieve state on startup
       -->
       <stateRetrieval timeout="180000" fetchInMemoryState="false"/>
      
       <async useReplQueue="true" replQueueInterval="10000" replQueueMaxElements="500" serializationExecutorPoolSize="20" serializationExecutorQueueSize="5000000"/>
      
       <!--
       Configures the JGroups channel. Looks up a JGroups config file on the classpath or filesystem. udp.xml
       ships with jgroups.jar and will be picked up by the class loader.
       -->
       <jgroupsConfig>
       <UDP discard_incompatible_packets="true" enable_bundling="true" enable_diagnostics="true" ip_ttl="32" ip_mcast="true"
       loopback="false" max_bundle_size="64000" max_bundle_timeout="30" mcast_addr="228.10.10.10" bind_addr="10.210.102.100"
       mcast_port="45588" mcast_recv_buf_size="25000000" mcast_send_buf_size="640000"
       oob_thread_pool.enabled="true" oob_thread_pool.keep_alive_time="10000" oob_thread_pool.max_threads="4"
       oob_thread_pool.min_threads="1" oob_thread_pool.queue_enabled="true"
       oob_thread_pool.queue_max_size="10"
       oob_thread_pool.rejection_policy="Run" thread_naming_pattern="pl" thread_pool.enabled="true"
       thread_pool.keep_alive_time="30000" thread_pool.max_threads="25" thread_pool.min_threads="1"
       thread_pool.queue_enabled="true" thread_pool.queue_max_size="10" thread_pool.rejection_policy="Run"
       tos="8" ucast_recv_buf_size="20000000" ucast_send_buf_size="640000" use_concurrent_stack="true"
       use_incoming_packet_handler="true"/>
       <PING num_initial_members="3" timeout="2000"/>
       <MERGE2 max_interval="30000" min_interval="10000"/>
       <FD_SOCK/>
       <FD max_tries="5" shun="true" timeout="10000"/>
       <VERIFY_SUSPECT timeout="1500"/>
       <pbcast.NAKACK discard_delivered_msgs="true" gc_lag="0" retransmit_timeout="300,600,1200,2400,4800"
       use_mcast_xmit="false"/>
       <UNICAST timeout="300,600,1200,2400,3600"/>
       <pbcast.STABLE desired_avg_gossip="50000" max_bytes="400000" stability_delay="1000"/>
       <pbcast.GMS join_timeout="5000" print_local_addr="true" shun="false" view_ack_collection_timeout="5000"
       view_bundling="true"/>
       <FRAG2 frag_size="60000"/>
       <pbcast.STREAMING_STATE_TRANSFER/>
       <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
       <pbcast.FLUSH timeout="0"/>
       </jgroupsConfig>
       </clustering>