panbingkun commented on PR #46288:
URL: https://github.com/apache/spark/pull/46288#issuecomment-2095480361

   @dongjoon-hyun @LuciferYang 
   Based on the detailed explanation of 
https://github.com/scala/bug/issues/12994, 
   <img width="923" alt="image" 
src="https://github.com/apache/spark/assets/15246973/a82ecc14-a736-4895-8d40-706d14dfd9c5";>
   
   and `double-check` by `debug jline` on local env. The verification process 
is as follows:
   1.Based on this pr upgrade (the version of `scala` is `2.13.14` , the 
version of `jline` is `3.25.1`)
   compile spark by commands:
   ```
   ./build/mvn -Pyarn -Pkubernetes -Pvolcano -Phive -Phive-thriftserver 
-Phadoop-cloud -Pspark-ganglia-lgpl -Pkinesis-asl clean package -DskipTests
   ```
   <img width="664" alt="image" 
src="https://github.com/apache/spark/assets/15246973/fa7275c3-818e-4665-ad6a-4bcd263d8fe6";>
   
   2.When open `spark-shell` with `the debug mode` on local , and we will see 
the following run `thread stack`
   ```
   export 
SPARK_SUBMIT_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8888
   ```
   
   3.The code logic of `org.jline:jline:3.25.1` is as follows:
   
https://github.com/jline/jline3/blob/jline-parent-3.25.1/terminal/src/main/java/org/jline/terminal/TerminalBuilder.java#L654-L675
   <img width="721" alt="image" 
src="https://github.com/apache/spark/assets/15246973/f1be4fb5-1541-478d-bb92-b4b2ce7e20e1";>
   
   When loading `org.jline.terminal.ffm`, it will automatically `skip` because 
of the exception 
   ```
   java.lang.UnsupportedClassVersionError: 
org/jline/terminal/impl/ffm/FfmTerminalProvider has been compiled by a more 
recent version of the Java Runtime (class file version 65.65535), this version 
of the Java Runtime only recognizes class file versions up to 61.0
   ``` 
   so we can `completely ignore` it in the maven plugin 
`maven-enforcer-plugin#enforceBytecodeVersion`, because it will automatically 
`skip` because of `loading failure` in the lower version of JDK (JDK < 21).
   
   
   
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to