[ 
https://issues.apache.org/jira/browse/SPARK-49228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17873390#comment-17873390
 ] 

Yang Jie commented on SPARK-49228:
----------------------------------

I can also reproduce this issue locally. The stack trace for the long-running 
Runnable as follows:

 
{code:java}
"main" #1 prio=5 os_prio=31 cpu=177053.75ms elapsed=179.28s 
tid=0x000000013000d200 nid=0x2803 runnable  [0x000000016db1d000]
   java.lang.Thread.State: RUNNABLE
    at 
java.util.stream.ReferencePipeline$2$1.accept([email protected]/ReferencePipeline.java:178)
    at 
java.util.HashMap$KeySpliterator.forEachRemaining([email protected]/HashMap.java:1707)
    at 
java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:509)
    at 
java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:499)
    at 
java.util.stream.ReduceOps$ReduceOp.evaluateSequential([email protected]/ReduceOps.java:921)
    at 
java.util.stream.AbstractPipeline.evaluate([email protected]/AbstractPipeline.java:234)
    at 
java.util.stream.LongPipeline.reduce([email protected]/LongPipeline.java:498)
    at 
java.util.stream.LongPipeline.sum([email protected]/LongPipeline.java:456)
    at 
org.apache.spark.memory.TaskMemoryManager.acquireExecutionMemory(TaskMemoryManager.java:219)
    - locked <0x00000007084449e8> (a org.apache.spark.memory.TaskMemoryManager)
    at 
org.apache.spark.memory.TaskMemoryManager.allocatePage(TaskMemoryManager.java:348)
    at 
org.apache.spark.memory.MemoryConsumer.allocatePage(MemoryConsumer.java:117)
    at 
org.apache.spark.util.collection.unsafe.sort.UnsafeExternalSorter.acquireNewPageIfNecessary(UnsafeExternalSorter.java:437)
    at 
org.apache.spark.util.collection.unsafe.sort.UnsafeExternalSorter.allocateMemoryForRecordIfNecessary(UnsafeExternalSorter.java:456)
    at 
org.apache.spark.util.collection.unsafe.sort.UnsafeExternalSorter.insertRecord(UnsafeExternalSorter.java:491)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArray.$anonfun$add$2(ExternalAppendOnlyUnsafeRowArray.scala:151)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArray.$anonfun$add$2$adapted(ExternalAppendOnlyUnsafeRowArray.scala:145)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArray$$Lambda$888/0x000000b0015a3918.apply(Unknown
 Source)
    at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArray.add(ExternalAppendOnlyUnsafeRowArray.scala:145)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.$anonfun$testAgainstRawArrayBuffer$6(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:112)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.$anonfun$testAgainstRawArrayBuffer$6$adapted(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:112)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$$$Lambda$879/0x000000b00159bbf8.apply(Unknown
 Source)
    at scala.collection.immutable.VectorStatics$.foreachRec(Vector.scala:2124)
    at scala.collection.immutable.Vector.foreach(Vector.scala:2130)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.$anonfun$testAgainstRawArrayBuffer$5(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:112)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$$$Lambda$878/0x000000b00159b800.apply$mcVJ$sp(Unknown
 Source)
    at scala.runtime.java8.JFunction1$mcVJ$sp.apply(JFunction1$mcVJ$sp.scala:18)
    at 
scala.collection.immutable.NumericRange.foreach$mVc$sp(NumericRange.scala:115)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.$anonfun$testAgainstRawArrayBuffer$4(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:107)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$$$Lambda$301/0x000000b00127c000.apply$mcVI$sp(Unknown
 Source)
    at 
org.apache.spark.benchmark.Benchmark.$anonfun$addCase$1(Benchmark.scala:77)
    at 
org.apache.spark.benchmark.Benchmark.$anonfun$addCase$1$adapted(Benchmark.scala:75)
    at 
org.apache.spark.benchmark.Benchmark$$Lambda$300/0x000000b0012778b0.apply(Unknown
 Source)
    at org.apache.spark.benchmark.Benchmark.measure(Benchmark.scala:140)
    at org.apache.spark.benchmark.Benchmark.$anonfun$run$1(Benchmark.scala:106)
    at 
org.apache.spark.benchmark.Benchmark$$Lambda$865/0x000000b00158c610.apply(Unknown
 Source)
    at 
scala.collection.StrictOptimizedIterableOps.map(StrictOptimizedIterableOps.scala:100)
    at 
scala.collection.StrictOptimizedIterableOps.map$(StrictOptimizedIterableOps.scala:87)
    at scala.collection.mutable.ArrayBuffer.map(ArrayBuffer.scala:42)
    at org.apache.spark.benchmark.Benchmark.run(Benchmark.scala:104)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.$anonfun$testAgainstRawArrayBuffer$7(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:123)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$$$Lambda$302/0x000000b00127c3f8.apply$mcV$sp(Unknown
 Source)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.withFakeTaskContext(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:58)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.testAgainstRawArrayBuffer(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:123)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.$anonfun$runBenchmarkSuite$1(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:193)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$$$Lambda$294/0x000000b00125bec8.apply$mcV$sp(Unknown
 Source)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at 
org.apache.spark.benchmark.BenchmarkBase.runBenchmark(BenchmarkBase.scala:42)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark$.runBenchmarkSuite(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala:190)
    at org.apache.spark.benchmark.BenchmarkBase.main(BenchmarkBase.scala:72)
    at 
org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark.main(ExternalAppendOnlyUnsafeRowArrayBenchmark.scala)
 {code}
 

 

It seems that no other threads are BLOCKED, only this thread is in a 
long-running RUNNABLE state, and there appears to be no change in its status. I 
tried revert SPARK-48628 or reset  the code base to a commit before 
SPARK-48628, then
ExternalAppendOnlyUnsafeRowArrayBenchmark passed.

> Investigate ExternalAppendOnlyUnsafeRowArrayBenchmark
> -----------------------------------------------------
>
>                 Key: SPARK-49228
>                 URL: https://issues.apache.org/jira/browse/SPARK-49228
>             Project: Spark
>          Issue Type: Sub-task
>          Components: Tests
>    Affects Versions: 4.0.0
>            Reporter: Dongjoon Hyun
>            Priority: Major
>
> `ExternalAppendOnlyUnsafeRowArrayBenchmark` hangs in CI and is killed. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to