Uploaded image for project: 'Kylin'
  1. Kylin
  2. KYLIN-4099

Using no blocking RDD unpersist in spark cubing job

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • v3.0.0-beta, v2.6.4
    • None
    • None

    Description

      By default, the unpersist operation of RDD in spark is blocking which may cost a lot time and

      some times it may failed for some spark executors lost. 

      We can set blocking false to improve it.

      sun.misc.Unsafe.park(Native Method)
      java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037)
      java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1328)
      scala.concurrent.impl.Promise$DefaultPromise.tryAwait(Promise.scala:208)
      scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:218)
      scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)
      scala.concurrent.Await$$anonfun$result$1.apply(package.scala:190)
      scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
      scala.concurrent.Await$.result(package.scala:190)
      org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:81)
      org.apache.spark.storage.BlockManagerMaster.removeRdd(BlockManagerMaster.scala:127)
      org.apache.spark.SparkContext.unpersistRDD(SparkContext.scala:1709)
      org.apache.spark.rdd.RDD.unpersist(RDD.scala:216)
      org.apache.spark.api.java.JavaPairRDD.unpersist(JavaPairRDD.scala:73)
      org.apache.kylin.engine.spark.SparkCubingByLayer.execute(SparkCubingByLayer.java:204)
      org.apache.kylin.common.util.AbstractApplication.execute(AbstractApplication.java:37)
      org.apache.kylin.common.util.SparkEntry.main(SparkEntry.java:44)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      java.lang.reflect.Method.invoke(Method.java:498)
      org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:653)

      Attachments

        Issue Links

          Activity

            People

              liushaohui Shaohui Liu
              liushaohui Shaohui Liu
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: