Uploaded image for project: 'Apache Hop (Retired)'
  1. Apache Hop (Retired)
  2. HOP-3300

JSON Serialization of Result leads to Jackson errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.0.0
    • 1.1.0
    • Hop Server
    • None

    Description

      For example:

      com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Direct self-reference leading to cycle (through reference chain: org.apache.hop.www.HopServerWorkflowStatus["result"]->org.apache.hop.core.Result["resultFiles"]->java.util.concurrent.ConcurrentHashMap["file:///home/hop-projects/ds-workbench-main-new/bigquery-neo4j-incremental/cypher-workbench.json"]->org.apache.hop.core.ResultFile["file"]->org.apache.commons.vfs2.provider.local.LocalFile["fileSystem"]->org.apache.commons.vfs2.provider.local.LocalFileSystem["rootName"]->org.apache.commons.vfs2.provider.local.LocalFileName["root"])
      SERVLET:    org.apache.hop.www.GetWorkflowStatusServlet-40dee07b
      CAUSED BY:  com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Direct self-reference leading to cycle (through reference chain: org.apache.hop.www.HopServerWorkflowStatus["result"]->org.apache.hop.core.Result["resultFiles"]->java.util.concurrent.ConcurrentHashMap["file:///home/hop-projects/ds-workbench-main-new/bigquery-neo4j-incremental/cypher-workbench.json"]->org.apache.hop.core.ResultFile["file"]->org.apache.commons.vfs2.provider.local.LocalFile["fileSystem"]->org.apache.commons.vfs2.provider.local.LocalFileSystem["rootName"]->org.apache.commons.vfs2.provider.local.LocalFileName["root"])
      Caused by:
      com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Direct self-reference leading to cycle (through reference chain: org.apache.hop.www.HopServerWorkflowStatus["result"]->org.apache.hop.core.Result["resultFiles"]->java.util.concurrent.ConcurrentHashMap["file:///home/hop-projects/ds-workbench-main-new/bigquery-neo4j-incremental/cypher-workbench.json"]->org.apache.hop.core.ResultFile["file"]->org.apache.commons.vfs2.provider.local.LocalFile["fileSystem"]->org.apache.commons.vfs2.provider.local.LocalFileSystem["rootName"]->org.apache.commons.vfs2.provider.local.LocalFileName["root"])
          at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
          at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191)
          at com.fasterxml.jackson.databind.ser.BeanPropertyWriter._handleSelfReference(BeanPropertyWriter.java:944)
          at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:721)
          at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
          at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
          at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
          at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
          at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
          at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
          at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
          at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
          at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
          at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
          at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
          at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:722)
          at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:643)
          at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:33)
          at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
          at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
          at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
          at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
          at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
          at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
          at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
          at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
          at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1433)
          at com.fasterxml.jackson.databind.ObjectWriter._configAndWriteValue(ObjectWriter.java:1135)
          at com.fasterxml.jackson.databind.ObjectWriter.writeValueAsString(ObjectWriter.java:1005)
          at org.apache.hop.www.GetWorkflowStatusServlet.doGet(GetWorkflowStatusServlet.java:168)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
          at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791)
          at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)
          at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
          at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
          at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
          at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
          at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
          at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
          at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
          at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
          at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
          at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
          at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
          at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
          at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:567)
          at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
          at org.eclipse.jetty.server.Server.handle(Server.java:516)
          at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
          at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
          at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
          at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
          at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
          at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
          at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
          at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
          at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
          at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
          at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
          at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
          at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
          at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
          at java.lang.Thread.run(Thread.java:748)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            mcasters Matt Casters
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: