Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-24401

[GSS](7.4.z) java.lang.IllegalArgumentException: No marshaller registered for Java type org.jboss.ejb.client.UUIDSessionID in EAP 7.4

XMLWordPrintable

      Customer updating from EAP 7.3 to EAP 7.4 and has an application that is getting a SFSB EJB via the Local interface and then putting this into the Web Session.

      Hitting node1 puts the SFSB into the Web Session, hitting node2 an INFO is logged saying that it does not have a marshaller for org.jboss.ejb.client.UUIDSessionID and it looks like it cannot unmarshall the SFSB, there is not an error, it looks like it just logs a INFO message.

      http://127.0.0.1:8080/reproducer/servlet?user=redhat

      http://127.0.0.1:8180/reproducer/servlet

      14:54:58,479 INFO  [ExampleServlet] (default task-1) session contains bean
      14:54:58,612 INFO  [org.wildfly.clustering.ee.infinispan] (default task-1) WFLYCLEEINF0001: Failed to cancel UUIDSessionID [61d8562a-0d67-4e0f-b61b-29baff7ede4a] on primary owner.: java.lang.IllegalArgumentException: No marshaller registered for Java type org.jboss.ejb.client.UUIDSessionID
      	at org.infinispan.protostream@4.3.5.Final-redhat-00001//org.infinispan.protostream.impl.SerializationContextImpl.getMarshallerDelegate(SerializationContextImpl.java:298)
      	at org.infinispan.protostream@4.3.5.Final-redhat-00001//org.infinispan.protostream.impl.SerializationContextImpl.getMarshaller(SerializationContextImpl.java:278)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.AnyMarshaller.getField(AnyMarshaller.java:111)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.AnyMarshaller.writeTo(AnyMarshaller.java:73)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.AnyMarshaller.writeTo(AnyMarshaller.java:37)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.Marshallable.size(Marshallable.java:62)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.SizeComputingProtoStreamWriter.writeObjectNoTag(SizeComputingProtoStreamWriter.java:231)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.Scalar$1.writeTo(Scalar.java:44)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.Marshallable.size(Marshallable.java:62)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.ScalarMarshallerProvider.size(ScalarMarshallerProvider.java:59)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.FunctionalScalarMarshaller.size(FunctionalScalarMarshaller.java:183)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.SizeComputingProtoStreamWriter.writeObjectNoTag(SizeComputingProtoStreamWriter.java:231)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.SizeComputingProtoStreamWriter.writeObject(SizeComputingProtoStreamWriter.java:222)
      	at org.wildfly.clustering.marshalling.protostream@7.4.8.GA-redhat-00002//org.wildfly.clustering.marshalling.protostream.TypedObjectMarshaller.writeTo(TypedObjectMarshaller.java:61) 

      I did not see a way in EAP 7.4 to try to switch to JBoss Marshalling, so I did not find a workaround.

      I am also not sure if this use case is how users should use SFSB beans.

      To reproduce:

      unzip -d $JBOSS_HOME/ reproducer-overlay.zip
      ./start1.sh
      ./start2.sh
      
      http://127.0.0.1:8080/reproducer/servlet?user=redhat
      http://127.0.0.1:8180/reproducer/servlet
      
      Check node2/log/server.log

              pferraro@redhat.com Paul Ferraro
              pferraro@redhat.com Paul Ferraro
              Cheng Fang, Paul Ferraro, Tomasz Adamski
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: