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

ProtocolStack.printProtocolSpecAsXML doesn't handle non-String property values properly

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Minor
    • 3.0.13, 3.2
    • 3.0.12
    • None

    Description

      For certain protocol properties, namely those represented by non-primitive data structures, ProtocolStack.printProtocolSpecAsXML() doesn't print out the correct values.

      For example, the following was output from a call to the AS7 CLI operation:

      [standalone@localhost:9999 /] /subsystem=jgroups/stack=tcp:export-native-configuration
      {
          "outcome" => "success",
          "result" => "<config>
        <TCP bind_addr=\"/127.0.0.1\" 
             oob_thread_pool_keep_alive_time=\"1000\" 
             timer_keep_alive_time=\"5000\" 
             external_port=\"0\" 
             oob_thread_pool_enabled=\"true\" 
             max_bundle_size=\"64000\" 
             diagnostics_ttl=\"8\" 
             receive_on_all_interfaces=\"false\" 
             thread_pool_min_threads=\"20\" 
             thread_pool_keep_alive_time=\"5000\" 
             thread_pool_max_threads=\"200\" 
             enable_diagnostics=\"true\" 
             send_buf_size=\"640000\" 
             conn_expire_time=\"0\" 
             oob_thread_pool_queue_max_size=\"500\" 
             enable_bundling=\"false\" 
             thread_pool_queue_enabled=\"true\" 
             timer_rejection_policy=\"run\" 
             diagnostics_port=\"7500\" 
             oob_thread_pool_max_threads=\"200\" 
             wheel_size=\"200\" 
             logical_addr_cache_max_size=\"500\" 
             reaper_interval=\"0\" 
             sock_conn_timeout=\"300\" 
             send_queue_size=\"10000\" 
             tick_time=\"50\" 
             logical_addr_cache_expiration=\"120000\" 
             thread_pool_rejection_policy=\"discard\" 
             oob_thread_pool_min_threads=\"20\" 
             port_range=\"50\" 
             stats=\"true\" 
             peer_addr_read_timeout=\"1000\" 
             tcp_nodelay=\"true\" 
             id=\"22\" 
             diagnostics_addr=\"/ff0e:0:0:0:0:0:e000:4b4b\" 
             oob_thread_pool_rejection_policy=\"discard\" 
             bind_port=\"7600\" 
             loopback=\"true\" 
             linger=\"-1\" 
             oob_thread_pool_queue_enabled=\"false\" 
             name=\"TCP\" 
             enable_unicast_bundling=\"false\" 
             thread_pool_enabled=\"true\" 
             thread_naming_pattern=\"cl\" 
             timer_max_threads=\"10\" 
             timer_queue_max_size=\"500\" 
             use_send_queues=\"false\" 
             discard_incompatible_packets=\"true\" 
             ergonomics=\"true\" 
             singleton_name=\"tcp\" 
             bundler_capacity=\"200000\" 
             max_bundle_timeout=\"30\" 
             bind_interface_str=\"\" 
             timer_min_threads=\"4\" 
             log_discard_msgs=\"true\" 
             thread_pool_queue_max_size=\"1000\" 
             bundler_type=\"new\" 
             timer_type=\"new\" 
             recv_buf_size=\"20000000\" />
        <TCPPING 
             num_initial_members=\"10\" 
             port_range=\"1\" 
             stats=\"true\" 
             ergonomics=\"true\" 
             num_initial_srv_members=\"0\" 
             id=\"10\" 
             max_dynamic_hosts=\"100\" 
             initial_hosts=\"java.util.Collections$UnmodifiableList\" 
             return_entire_cache=\"false\" 
             break_on_coord_rsp=\"true\" 
             stagger_timeout=\"0\" 
             name=\"TCPPING\" 
             timeout=\"3000\" />
        <MERGE2 id=\"0\" stats=\"true\" 
             merge_fast=\"true\" 
             name=\"MERGE2\" 
             inconsistent_view_threshold=\"1\" 
             min_interval=\"20000\" 
             ergonomics=\"true\" 
             merge_fast_delay=\"1000\" 
             max_interval=\"100000\" />
        <FD_SOCK bind_addr=\"/127.0.0.1\" 
             external_port=\"0\" 
             port_range=\"50\" 
             stats=\"true\" 
             suspect_msg_interval=\"5000\" 
             client_bind_port=\"0\" 
             ergonomics=\"true\" 
             num_tries=\"3\" id=\"3\" 
             get_cache_timeout=\"1000\" 
             sock_conn_timeout=\"1000\" 
             bind_interface_str=\"\" 
             name=\"FD_SOCK\" 
             keep_alive=\"true\" 
             start_port=\"57600\" />
        <FD id=\"2\" max_tries=\"5\" 
             stats=\"true\" 
             name=\"FD\" 
             ergonomics=\"true\" 
             timeout=\"6000\" />
        <VERIFY_SUSPECT id=\"13\" 
             bind_addr=\"/127.0.0.1\" 
             bind_interface_str=\"\" 
             stats=\"true\" 
             name=\"VERIFY_SUSPECT\" 
             num_msgs=\"1\" 
             ergonomics=\"true\" 
             use_icmp=\"false\" 
             timeout=\"1500\" />
        <BARRIER id=\"0\" 
             max_close_time=\"60000\" 
             stats=\"true\" 
             name=\"BARRIER\" 
             ergonomics=\"true\" />
        <NAKACK 
             use_mcast_xmit_req=\"false\" 
             use_mcast_xmit=\"false\" 
             max_msg_batch_size=\"100\" 
             xmit_from_random_member=\"false\" 
             stats=\"true\" 
             xmit_table_max_compaction_time=\"600000\" 
             retransmit_timeouts=\"300,600,1200,2400,4800\" 
             xmit_stagger_timeout=\"200\" 
             exponential_backoff=\"300\" 
             log_not_found_msgs=\"true\" 
             ergonomics=\"true\" 
             discard_delivered_msgs=\"true\" 
             print_stability_history_on_failed_xmit=\"false\" 
             id=\"15\" 
             max_rebroadcast_timeout=\"2000\" 
             xmit_table_msgs_per_row=\"10000\" 
             xmit_table_num_rows=\"5\" 
             name=\"NAKACK\" 
             log_discard_msgs=\"true\" 
             xmit_table_resize_factor=\"1.2\" 
             use_range_based_retransmitter=\"true\" />
        <UNICAST2 
             max_retransmit_time=\"60000\" 
             max_bytes=\"1000000\" 
             max_msg_batch_size=\"50000\" 
             stats=\"true\" 
             xmit_table_max_compaction_time=\"600000\" 
             exponential_backoff=\"300\" 
             max_stable_msgs=\"5\" 
             ergonomics=\"true\" 
             stable_interval=\"5000\" 
             id=\"40\" 
             conn_expiry_timeout=\"60000\" 
             xmit_table_msgs_per_row=\"10000\" 
             xmit_table_automatic_purging=\"true\" 
             xmit_table_num_rows=\"5\" 
             name=\"UNICAST2\" 
             timeout=\"300,600,1200,2400,3600\" 
             xmit_table_resize_factor=\"1.2\" 
             use_range_based_retransmitter=\"true\" />
        <STABLE id=\"16\" 
             desired_avg_gossip=\"50000\" 
             max_bytes=\"400000\" 
             stats=\"true\" 
             cap=\"0.1\" 
             name=\"STABLE\" 
             ergonomics=\"true\" 
             stability_delay=\"1000\" />
        <GMS print_local_addr=\"true\" 
             stats=\"true\" 
             max_bundling_time=\"50\" 
             log_collect_msgs=\"true\" 
             resume_task_timeout=\"7500\" 
             log_view_warnings=\"true\" 
             num_prev_views=\"20\" 
             ergonomics=\"true\" 
             print_physical_addrs=\"true\" 
             use_flush_if_present=\"true\" 
             merge_timeout=\"5000\" 
             id=\"14\" 
             num_prev_mbrs=\"50\" 
             leave_timeout=\"5000\" 
             view_bundling=\"true\" 
             name=\"GMS\" 
             join_timeout=\"3000\" 
             handle_concurrent_startup=\"true\" 
             view_ack_collection_timeout=\"5000\" />
        <UFC id=\"45\" 
             max_block_time=\"5000\" 
             max_credits=\"2000000\" 
             stats=\"true\" 
             ignore_synchronous_response=\"true\" 
             min_credits=\"800000\" 
             name=\"UFC\" 
             min_threshold=\"0.4\" 
             ergonomics=\"true\" />
        <MFC id=\"44\" 
             max_block_time=\"5000\" 
             max_credits=\"2000000\" 
             stats=\"true\" 
             ignore_synchronous_response=\"true\" 
             min_credits=\"800000\" 
             name=\"MFC\" 
             min_threshold=\"0.4\" 
             ergonomics=\"true\" />
        <FRAG2 id=\"5\" frag_size=\"60000\" 
             stats=\"true\" 
             name=\"FRAG2\" 
             ergonomics=\"true\" />
        <RSVP id=\"55\" stats=\"true\" 
             name=\"RSVP\" 
             resend_interval=\"500\" 
             throw_exception_on_timeout=\"true\" 
             ergonomics=\"true\" 
             ack_on_delivery=\"false\" 
             timeout=\"60000\" />
      </config>"
      }
      

      Note that the values of TCPPING.initial_hosts are not printed out correctly.

      Attachments

        Activity

          People

            rhn-engineering-bban Bela Ban
            rachmato@redhat.com Richard Achmatowicz
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: