Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-611

MergeTask GMS ConcurrentModificationException

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.5.2, 2.6
    • None
    • None

      [Vivek Sar]

      I'm using JGroups 2.5 GA and have 3 members in the group using udp
      gossip router (stack below). Occasionally, we have seen the following
      exception if a node goes down and comes up again. This happens over
      and over, only way to recover would then be to stop all the members
      and start them again.

      2007-10-25 12:08:32,717 ERROR [MergeTask] GMS - exception while merging
      java.util.ConcurrentModificationException
      at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
      at java.util.AbstractList$Itr.next(Unknown Source)
      at org.jgroups.protocols.pbcast.CoordGmsImpl.removeRejectedMergeRequests(CoordGmsImpl.java:749)
      at org.jgroups.protocols.pbcast.CoordGmsImpl.access$500(CoordGmsImpl.java:26)
      at org.jgroups.protocols.pbcast.CoordGmsImpl$MergeTask.run(CoordGmsImpl.java:817)
      at java.lang.Thread.run(Unknown Source)
      2007-10-25 12:08:32,717 ERROR [MergeTask] GMS - coords or merge_id == null
      2007-10-25 12:08:51,443 ERROR [MergeTask] GMS - coords or merge_id == null
      2007-10-25 12:08:51,443 ERROR [MergeTask] GMS - coords or merge_id == null
      2007-10-25 13:09:27,237 ERROR [MergeTask] GMS - coords or merge_id == null
      2007-10-25 13:09:39,934 ERROR [MergeTask] GMS - coords or merge_id == null
      2007-10-25 13:09:39,934 ERROR [MergeTask] GMS - coords or merge_id == null
      2007-10-25 13:09:55,013 ERROR [MergeTask] GMS - coords or merge_id == null
      2007-10-25 13:09:55,013 ERROR [MergeTask] GMS - coords or merge_id == null
      ...
      ...

      Protocol Stack,

      <config>
      <UDP
      ip_mcast="false"
      mcast_addr="228.10.10.10"
      mcast_port="3092"
      bind_addr="${jgroups.bindaddress.ip:jgroupshost}"
      bind_port="${jgroups.bindaddress.port:3092}"
      tos="16"
      ucast_recv_buf_size="200000"
      ucast_send_buf_size="640000"
      mcast_recv_buf_size="250000"
      mcast_send_buf_size="640000"
      loopback="true"
      discard_incompatible_packets="true"
      max_bundle_size="64000"
      max_bundle_timeout="30"
      use_incoming_packet_handler="true"
      use_outgoing_packet_handler="false"
      ip_ttl="32"
      enable_bundling="true"
      use_concurrent_stack="true"
      thread_pool.enabled="true"
      thread_pool.min_threads="1"
      thread_pool.max_threads="100"
      thread_pool.keep_alive_time="20000"
      thread_pool.queue_enabled="false"
      thread_pool.queue_max_size="10"
      thread_pool.rejection_policy="Run"
      oob_thread_pool.enabled="true"
      oob_thread_pool.min_threads="1"
      oob_thread_pool.max_threads="4"
      oob_thread_pool.keep_alive_time="30000"
      oob_thread_pool.queue_enabled="true"
      oob_thread_pool.queue_max_size="10"
      oob_thread_pool.rejection_policy="Run"/>

      <PING gossip_host="${jgroups.gossiprouter.ip:jgroupshost}"
      gossip_port="${jgroups.gossiprouter.port:3091}"
      gossip_refresh="15000"
      timeout="3000"
      num_initial_members="3"/>

      <MERGE2 min_interval="5000" max_interval="10000"
      down_thread="false" up_thread="false"/>

      <FD_SOCK up_thread="false" down_thread="false"/>

      <FD timeout="10000" max_tries="5" shun="true"/>

      <VERIFY_SUSPECT timeout="1500"/>

      <pbcast.NAKACK max_xmit_size="60000"
      use_mcast_xmit="false" gc_lag="0"
      retransmit_timeout="100,200,300,600,1200,2400,4800"
      discard_delivered_msgs="true"/>

      <UNICAST timeout="300,600,1200,2400,3600"/>

      <ENCRYPT key_store_name="keystore" store_password="xxx"
      key_password="xxx" alias="xxx"/>

      <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
      max_bytes="400000"/>

      <VIEW_SYNC avg_send_interval="60000"/>

      <AUTH auth_class="org.jgroups.auth.MD5Token"
      auth_value="xxx"
      token_hash="MD5"/>

      <pbcast.GMS print_local_addr="true" join_timeout="5000"
      join_retry_timeout="2000" shun="true"/>

      <FC max_credits="2000000"
      min_threshold="0.10"/>

      <FRAG2 frag_size="60000"/>

      <pbcast.STATE_TRANSFER />
      </config>

            rhn-engineering-bban Bela Ban
            rhn-engineering-bban Bela Ban
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: