Hello,

TLDR : To be able to build and run Zeppelin on my Debian 12 computer, I need to upgrade it to Java 17.

Some tests aren't running after doing that.
But I don't know what tests weren't working under Java 11 yet,
to compare that list with the one I have that aren't working on my computer.

May someone run something like a
mvn clean install -fn
and list me the failling tests ?

Thanks!

Marc Le Bihan

---

Long version:

Allow Apache Zeppelin to run with Java 17
on an experimental fork from a recent master 
:https://github.com/apache/zeppelin/compare/master...mlebihan:zeppelin:jdk_17

I faced few problem due to unexperience, here what I've currently done to 
advance:

1. Problem with a downloading attempt from a SNAPSHOT repository that doesn't 
exist anymore

   - temporary removed flink


2. Cassandra test content is hanging

   - temporary removed Cassandra test content that was hanging (in setup, I 
guess)


3. Completed default`conda` Python environment (currently installing itself 
with a Python`3.12.9` version) with:

   ```bash pip install grpcio
   pip install ir
   pip install pandas
   pip install pandasql
   pip install protobuf
``` 4. add-exports, add-opens added to`pom.xml` to allow running on Java 17

   - using`module-info.java` would be better (but longer to settle)
     but some code is attempting to import internal packages from GSon, 
preventing their use yet.


5. Two tests of`RemoteInterpreterTest` cannot run if your computer isn't a 
localized`en` one
   test will search for messages like`command not found` when my french OS will 
deliver:`commande introuvable`.

   - I've added a package named`org.apache.zeppelin.util.debug` that contains a 
class to help in debugging.
     Its goal is to gather error information whatever it occurred in a 
synchronous or asynchronous task, within an exception or not.

   - Replaced assertions 
in`zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterTest.java`
 - in`testFailToLaunchInterpreterProcess_ErrorInRunner` 
:`assertEquals(ProcessLauncher.ERROR_STATUS_COMMAND_NOT_FOUND, 
PostMortem.currentError().interpretedExitCode(), "Command should not be found")` - 
in`testFailToLaunchInterpreterProcess_Timeout` :`assertEquals(ProcessLauncher.ERROR_STATUS_TIMEOUT, 
PostMortem.currentError().interpretedExitCode(), "Command should had timed out");` 6. Run 
a`mvn clean install -Dzeppelin.interpreter.conda.env.name=base -fn` Failed projects are these:

   - Zeppelin: Interpreter 
(`zeppelin/zeppelin-interpreter/target/surefire-reports`)
```log Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.021 s <<< FAILURE! -- in org.apache.zeppelin.resource.ResourceTest
     
org.apache.zeppelin.resource.ResourceTest.testInvokeMethod_shouldNotAbleToInvokeMethodWithTypeInference
 -- Time elapsed: 0.002 s <<< FAILURE!
     org.opentest4j.AssertionFailedError: Expected 
java.lang.ClassNotFoundException to be thrown, but nothing was thrown.
     at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:71)
     at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:37)
     at org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3007)
     at 
org.apache.zeppelin.resource.ResourceTest.testInvokeMethod_shouldNotAbleToInvokeMethodWithTypeInference(ResourceTest.java:68)
``` - Zeppelin: Jupyter Interpreter 
(`zeppelin/zeppelin-jupyter-interpreter/target/surefire-reports`)

    ```log 
-------------------------------------------------------------------------------
    Test set: org.apache.zeppelin.jupyter.IRKernelTest
    
-------------------------------------------------------------------------------
    Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.650 s <<< 
FAILURE! -- in org.apache.zeppelin.jupyter.IRKernelTest
    org.apache.zeppelin.jupyter.IRKernelTest.testIRInterpreter -- Time elapsed: 0.645 s 
<<< ERROR!
    org.apache.zeppelin.interpreter.InterpreterException:
    Fail to open JupyterKernelInterpreter:
    java.io.IOException: Fail to launch Jupyter Kernel as the python process is 
failed.
    starting...
    Traceback (most recent call last):
    File "/tmp/zeppelin_jupyter_kernel_ir8216581272354189736/kernel_server.py", line 
187, in <module>
    [...]
    jupyter_client.kernelspec.NoSuchKernel: No such kernel named ir
``` - Zeppelin: R (`zeppelin/rlang/target/surefire-reports`)

    ```log jupyter_client.kernelspec.NoSuchKernel: No such kernel named ir
    Error in library("knitr"): aucun package nommé ‘knitr’ n'est trouvé
``` - Zeppelin: Python interpreter (`zeppelin/python/target/surefire-reports`)

    I was able to run that test by 
adding`properties.setProperty("zeppelin.interpreter.conda.env.name", 
"/home/lebihan/miniforge3");` in its setUp

    `en` test vs`fr` language OS (same problem as point 5, but I haven't 
corrected it, yet)

```java assertTrue(stacktrace.contains("No such file or directory"), stacktrace);
``` vs:
```log error=2, Aucun fichier ou dossier de ce type
``` - Zeppelin: Spark Interpreter 
(`zeppelin/spark/interpreter/target/surefire-reports`)

    ```log Plenty of :
    java.lang.NullPointerException: Cannot read the array length because 
"<local7>" is null
``` and few other tests problems.

Reply via email to