Uploaded image for project: 'Red Hat Data Grid'
  1. Red Hat Data Grid
  2. JDG-341

Undefined server properties are causing failures starting the server

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • JDG 7.0.0 ER8
    • JDG 7.0.0 ER5
    • Server
    • None

      I have used the following command to start the JDG 6.6 server and use a specific JGroups stack and configuration:

      bin/clustered.sh -Djboss.node.name=node0 -Djboss.socket.binding.port-offset=0 -Djboss.default.jgroups.stack=s3 -Djgroups.s3.bucket=jdg-jgroups-public

      This command uses this part of the server configuration:

      <stack name="s3">

      <transport type="TCP" socket-binding="jgroups-tcp"/>

      <protocol type="S3_PING">

      <property name="location">${jgroups.s3.bucket:}</property>

      <property name="access_key">${jgroups.s3.access_key:}</property>

      <property name="secret_access_key">${jgroups.s3.secret_access_key:}</property>

      <property name="pre_signed_delete_url">${jgroups.s3.pre_signed_delete_url:}</property>

      <property name="pre_signed_put_url">${jgroups.s3.pre_signed_put_url:}</property>

      <property name="prefix">${jgroups.s3.prefix:}</property>

      </protocol>

      <protocol type="MERGE3"/>

      <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>

      <protocol type="FD_ALL"/>

      <protocol type="VERIFY_SUSPECT"/>

      <protocol type="pbcast.NAKACK2">

      <property name="use_mcast_xmit">false</property>

      </protocol>

      <protocol type="UNICAST3"/>

      <protocol type="pbcast.STABLE"/>

      <protocol type="pbcast.GMS"/>

      <protocol type="MFC"/>

      <protocol type="FRAG2"/>

      </stack>

      However, using the same command with the JDG 7.0.0 ER5 server generates an error:

      11:56:18,384 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.jgroups.channel.cluster: org.jboss.msc.service.StartException in service jboss.jgroups.channel.cluster: java.lang.IllegalArgumentException: pre-signed url is not a valid url
      at org.infinispan.server.jgroups.spi.service.ChannelBuilder.start(ChannelBuilder.java:79)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IllegalArgumentException: pre-signed url is not a valid url
      at org.jgroups.protocols.S3_PING$PreSignedUrlParser.<init>(S3_PING.java:357)
      at org.jgroups.protocols.S3_PING.validateProperties(S3_PING.java:259)
      at org.jgroups.protocols.S3_PING.init(S3_PING.java:69)
      at org.jgroups.stack.ProtocolStack.initProtocolStack(ProtocolStack.java:861)
      at org.jgroups.stack.ProtocolStack.setup(ProtocolStack.java:480)
      at org.jgroups.JChannel.init(JChannel.java:852)
      at org.jgroups.JChannel.<init>(JChannel.java:159)
      at org.infinispan.server.jgroups.JChannelFactory$1.run(JChannelFactory.java:105)
      at org.infinispan.server.jgroups.JChannelFactory$1.run(JChannelFactory.java:102)
      at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)
      at org.infinispan.server.jgroups.JChannelFactory.createChannel(JChannelFactory.java:108)
      at org.infinispan.server.jgroups.spi.service.ChannelBuilder.start(ChannelBuilder.java:77)
      ... 5 more

      11:56:18,486 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
      ("subsystem" => "datagrid-jgroups"),
      ("channel" => "cluster")
      ]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.jgroups.channel.cluster" => "org.jboss.msc.service.StartException in service jboss.jgroups.channel.cluster: java.lang.IllegalArgumentException: pre-signed url is not a valid url
      Caused by: java.lang.IllegalArgumentException: pre-signed url is not a valid url"}}

      The issue is that in JDG 6.6 undefined properties are passed with a null, and in JDG 7 they are passed as an empty string. This is causing the property validation in JGroups S3_PING code to fail.

            rhn-support-afield Alan Field
            rhn-support-afield Alan Field
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: