Uploaded image for project: 'Project Configurator - Development'
  1. Project Configurator - Development
  2. PCDEV-624

In a Data Center environment a message appears in the logs saying that class ImportTaskContext cannot be found

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Done
    • High
    • Resolution: Fixed
    • 2.2.3-J6, 2.2.3-J7
    • 2.2.4-J7
    • Data Center

    • 0

    Description

      The message that appears in the logs is like this:

      2017-11-02 22:46:00,465 ehcache-replicator-16 ERROR anonymous 342x63x1 - 10.6.27.2 / [c.a.j.c.cache.ehcache.BlockingParallelCacheReplicator] Exception on replication of put. RemoteException occurred in server thread; nested exception is: 
              java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
              java.lang.ClassNotFoundException: com.awnaba.projectconfigurator.longrunningtasks.ImportTaskContext (no security manager: RMI class loader disabled). Cache: com.atlassian.jira.task.TaskManagerImpl.taskMap Peer: com.atlassian.jira.task.TaskManagerImpl.taskMap
      java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
              java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
              java.lang.ClassNotFoundException: com.awnaba.projectconfigurator.longrunningtasks.ImportTaskContext (no security manager: RMI class loader disabled)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:377)
              at sun.rmi.transport.Transport$1.run(Transport.java:200)
              at sun.rmi.transport.Transport$1.run(Transport.java:197)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
              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:748)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
              at net.sf.ehcache.distribution.RMICachePeer_Stub.put(Unknown Source)
              at com.atlassian.jira.cluster.cache.ehcache.BlockingParallelCacheReplicator.lambda$replicatePutNotification$0(BlockingParallelCacheReplicator.java:153)
              at com.atlassian.jira.cluster.cache.ehcache.BlockingParallelCacheReplicator.lambda$null$3(BlockingParallelCacheReplicator.java:203)
              at com.atlassian.jira.cluster.cache.ehcache.ClassLoaderSwitchingRunnable.run(ClassLoaderSwitchingRunnable.java:18)
              at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626)
              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:748)
      Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
              java.lang.ClassNotFoundException: com.awnaba.projectconfigurator.longrunningtasks.ImportTaskContext (no security manager: RMI class loader disabled)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:337)
              at sun.rmi.transport.Transport$1.run(Transport.java:200)
              at sun.rmi.transport.Transport$1.run(Transport.java:197)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
              ... 3 more
      Caused by: java.lang.ClassNotFoundException: com.awnaba.projectconfigurator.longrunningtasks.ImportTaskContext (no security manager: RMI class loader disabled)
              at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:396)
              at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:186)
              at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
              at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
              at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:219)
              at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)
              at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2000)
              at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
              at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2245)
              at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2169)
              at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2027)
              at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
              at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2245)
              at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:552)
              at net.sf.ehcache.Element.readObject(Element.java:884)
              ... 2 filtered
              at java.lang.reflect.Method.invoke(Method.java:498)
              at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
              at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2136)
              at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2027)
              at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
              at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:326)
              at sun.rmi.server.UnicastServerRef.unmarshalParametersUnchecked(UnicastServerRef.java:631)
              at sun.rmi.server.UnicastServerRef.unmarshalParameters(UnicastServerRef.java:619)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:332)
              ... 12 more
      

      As this message shows, the error appears when the "task map" is being replicated to other nodes.
      Analysis of the problem has concluded that:

      • This error does not have a negative impact in export or import functionality
      • It would allow two simultaneously running export/import processes, as long as they were running in different nodes. As JIRA DC works with sticky sessions, this would imply both processes running from different sessions. Considering the functionality is restricted to system admins, the coincidence is quite unlikely.

      Attachments

        Issue Links

          Activity

            People

              pmaranon Pepe Maranon Mora
              pmaranon Pepe Maranon Mora
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: