Uploaded image for project: 'CDAP'
  1. CDAP
  2. CDAP-10311

Script transform fails on Java 8

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.3.0
    • Fix Version/s: 3.4.0
    • Component/s: Pipelines
    • Labels:
    • Release Notes:
      Fixed an issue that made Java extensions unavailable to programs. This fixes the javascript based Hydrator transforms in Java 8.
    • Rank:
      1|hzz5nj:

      Description

      Publishing a pipeline with Script transform fails with the following error on Java 8:
      01/21/16 11:39:02 am: java.util.concurrent.ExecutionException: ECMAScript Exception: TypeError: Can not find a common class loader for ScriptObject and co.cask.hydrator.plugin.transform.JavaTypeConverters.

      Stack Trace:

      2016-01-21 11:39:02,691 - ERROR [netty-executor-14:c.c.c.g.h.AppLifecycleHttpHandler$1@339] - Deploy failure
      java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: ECMAScript Exception: TypeError: Can not find a common class loader for ScriptObject and co.cask.hydrator.plugin.transform.JavaTypeConverters.
      	at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:294) ~[com.google.guava.guava-13.0.1.jar:na]
      	at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:281) ~[com.google.guava.guava-13.0.1.jar:na]
      	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) ~[com.google.guava.guava-13.0.1.jar:na]
      	at co.cask.cdap.internal.app.services.ApplicationLifecycleService.deployApp(ApplicationLifecycleService.java:538) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.internal.app.services.ApplicationLifecycleService.deployApp(ApplicationLifecycleService.java:332) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.gateway.handlers.AppLifecycleHttpHandler$1.onFinish(AppLifecycleHttpHandler.java:327) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.common.http.AbstractBodyConsumer.finished(AbstractBodyConsumer.java:65) [co.cask.cdap.cdap-common-3.3.0.jar:na]
      	at co.cask.http.HttpMethodInfo.bodyConsumerFinish(HttpMethodInfo.java:149) [co.cask.http.netty-http-0.14.0.jar:na]
      	at co.cask.http.HttpMethodInfo.chunk(HttpMethodInfo.java:108) [co.cask.http.netty-http-0.14.0.jar:na]
      	at co.cask.http.HttpDispatcher.messageReceived(HttpDispatcher.java:40) [co.cask.http.netty-http-0.14.0.jar:na]
      	at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) [io.netty.netty-3.6.6.Final.jar:na]
      	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) [io.netty.netty-3.6.6.Final.jar:na]
      	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) [io.netty.netty-3.6.6.Final.jar:na]
      	at org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43) [io.netty.netty-3.6.6.Final.jar:na]
      	at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67) [io.netty.netty-3.6.6.Final.jar:na]
      	at org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:314) [io.netty.netty-3.6.6.Final.jar:na]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_72]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_72]
      	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]
      Caused by: java.util.concurrent.ExecutionException: ECMAScript Exception: TypeError: Can not find a common class loader for ScriptObject and co.cask.hydrator.plugin.transform.JavaTypeConverters.
      	at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:294) ~[com.google.guava.guava-13.0.1.jar:na]
      	at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:267) ~[com.google.guava.guava-13.0.1.jar:na]
      	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:96) ~[com.google.guava.guava-13.0.1.jar:na]
      	at co.cask.cdap.internal.app.deploy.pipeline.LocalArtifactLoaderStage.process(LocalArtifactLoaderStage.java:89) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.internal.app.deploy.pipeline.LocalArtifactLoaderStage.process(LocalArtifactLoaderStage.java:47) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.pipeline.AbstractStage.process(AbstractStage.java:52) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.internal.pipeline.SynchronousPipeline.execute(SynchronousPipeline.java:56) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.internal.app.deploy.LocalApplicationManager.deploy(LocalApplicationManager.java:117) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	... 16 common frames omitted
      Caused by: jdk.nashorn.internal.runtime.ECMAException: TypeError: Can not find a common class loader for ScriptObject and co.cask.hydrator.plugin.transform.JavaTypeConverters.
      	at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57) ~[nashorn.jar:na]
      	at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213) ~[nashorn.jar:na]
      	at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185) ~[nashorn.jar:na]
      	at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172) ~[nashorn.jar:na]
      	at jdk.nashorn.internal.runtime.linker.AdaptationResult.typeError(AdaptationResult.java:70) ~[nashorn.jar:na]
      	at jdk.nashorn.internal.runtime.linker.JavaAdapterFactory$AdapterInfo.getAdapterClass(JavaAdapterFactory.java:314) ~[nashorn.jar:na]
      	at jdk.nashorn.internal.runtime.linker.JavaAdapterFactory.getAdapterClassFor(JavaAdapterFactory.java:150) ~[nashorn.jar:na]
      	at jdk.nashorn.internal.runtime.linker.JavaAdapterFactory.getAdapterClassFor(JavaAdapterFactory.java:136) ~[nashorn.jar:na]
      	at jdk.nashorn.internal.runtime.linker.JavaAdapterFactory.getConstructor(JavaAdapterFactory.java:190) ~[nashorn.jar:na]
      	at jdk.nashorn.api.scripting.NashornScriptEngine.getInterfaceInner(NashornScriptEngine.java:279) ~[nashorn.jar:na]
      	at jdk.nashorn.api.scripting.NashornScriptEngine.getInterface(NashornScriptEngine.java:212) ~[nashorn.jar:na]
      	at co.cask.hydrator.plugin.transform.ScriptTransform.init(ScriptTransform.java:287) ~[na:na]
      	at co.cask.hydrator.plugin.transform.ScriptTransform.configurePipeline(ScriptTransform.java:122) ~[na:na]
      	at co.cask.cdap.etl.common.PipelineRegisterer.registerPlugins(PipelineRegisterer.java:176) ~[na:na]
      	at co.cask.cdap.etl.batch.mapreduce.ETLMapReduce.configure(ETLMapReduce.java:125) ~[na:na]
      	at co.cask.cdap.api.mapreduce.AbstractMapReduce.configure(AbstractMapReduce.java:39) ~[co.cask.cdap.cdap-api-3.3.0.jar:na]
      	at co.cask.cdap.app.DefaultAppConfigurer.addMapReduce(DefaultAppConfigurer.java:127) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.api.app.AbstractApplication.addMapReduce(AbstractApplication.java:112) ~[co.cask.cdap.cdap-api-3.3.0.jar:na]
      	at co.cask.cdap.etl.batch.ETLBatchApplication.configure(ETLBatchApplication.java:39) ~[na:na]
      	at co.cask.cdap.api.app.AbstractApplication.configure(AbstractApplication.java:61) ~[co.cask.cdap.cdap-api-3.3.0.jar:na]
      	at co.cask.cdap.internal.app.deploy.InMemoryConfigurator.getSpecJson(InMemoryConfigurator.java:187) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.internal.app.deploy.InMemoryConfigurator.createResponse(InMemoryConfigurator.java:158) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.internal.app.deploy.InMemoryConfigurator.config(InMemoryConfigurator.java:132) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	at co.cask.cdap.internal.app.deploy.pipeline.LocalArtifactLoaderStage.process(LocalArtifactLoaderStage.java:88) ~[co.cask.cdap.cdap-app-fabric-3.3.0.jar:na]
      	... 20 common frames omitted
      

        Attachments

          Activity

            People

            • Assignee:
              ashau Albert Shau
              Reporter:
              bhooshan Bhooshan Mogal
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: