Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-6200

org.dom4j.QName can't be serialized

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.1
    • 2.3
    • None
    • None

    Description

      Exception:

      class org.apache.ignite.binary.BinaryObjectException: Failed to marshal object with optimized marshaller: org.dom4j.QName@364492 [name: test namespace: "org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"]
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:186)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134)
      	at org.apache.ignite.internal.binary.GridBinaryMarshaller.marshal(GridBinaryMarshaller.java:248)
      	at org.apache.ignite.internal.binary.BinaryMarshaller.marshal0(BinaryMarshaller.java:82)
      	at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58)
      	at org.apache.ignite.internal.processors.cache.MarshallerTest.test(MarshallerTest.java:160)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2000)
      	at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:132)
      	at org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1915)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: class org.apache.ignite.IgniteCheckedException: Failed to serialize object: org.dom4j.QName@364492 [name: test namespace: "org.dom4j.Namespace@e20 [Namespace: prefix qq mapped to URI ""]"]
      	at org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:206)
      	at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:58)
      	at org.apache.ignite.internal.util.IgniteUtils.marshal(IgniteUtils.java:9836)
      	at org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:179)
      	... 15 more
      Caused by: java.io.IOException: java.io.NotActiveException: Not in writeObject() call.
      	at org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:324)
      	at org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.write(OptimizedClassDescriptor.java:827)
      	at org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObject0(OptimizedObjectOutputStream.java:224)
      	at org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeObjectOverride(OptimizedObjectOutputStream.java:152)
      	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344)
      	at org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:201)
      	... 18 more
      Caused by: java.io.NotActiveException: Not in writeObject() call.
      	at org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.defaultWriteObject(OptimizedObjectOutputStream.java:684)
      	at org.dom4j.QName.writeObject(QName.java:239)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at org.apache.ignite.internal.marshaller.optimized.OptimizedObjectOutputStream.writeSerializable(OptimizedObjectOutputStream.java:318)
      	... 23 more
      

      Reproducer:

      public void test() throws Exception {
              try {
                  IgniteEx ex = startGrid(0);
      
                  QName qName = new QName("test", new Namespace("qq", null), "q");
      
                  byte[] marshal = ex.configuration().getMarshaller().marshal(qName);
              } finally {
                  stopAllGrids();
              }
          }
      

      Attachments

        Issue Links

          Activity

            People

              ein Alexandr Kuramshin
              ascherbakov Alexey Scherbakov
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: