[INFO] Running org.apache.wayang.spark.operators.SparkReduceByOperatorTest
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.008 s 
<<< FAILURE! - in org.apache.wayang.spark.operators.SparkReduceByOperatorTest
[ERROR] 
org.apache.wayang.spark.operators.SparkReduceByOperatorTest.testExecution  Time 
elapsed: 0.007 s  <<< ERROR!
java.lang.IllegalArgumentException: Unsupported class file major version 55
        at 
org.apache.wayang.spark.operators.SparkReduceByOperatorTest.testExecution(SparkReduceByOperatorTest.java:76)

Spark 3.0 supports jdk11 [1], switching to jdk8 [2] the build works.

Sqlite:
[INFO] wayang-api-scala-java_2.11 ......................... FAILURE [ 14.715 s]

org.apache.wayang.core.api.exception.WayangException: Could not connect to 
database 
(jdbc:sqlite:/var/folders/n6/fcn2c03j2552rwhk0y1qjq640000gn/T/wayang-sqlite38143519054959497171db)
 as null with driver org.sqlite.JDBC.

ls -la 
/var/folders/n6/fcn2c03j2552rwhk0y1qjq640000gn/T/wayang-sqlite38143519054959497171db

ls: 
/var/folders/n6/fcn2c03j2552rwhk0y1qjq640000gn/T/wayang-sqlite38143519054959497171db:
 No such file or directory

But there are other sqlite databases:
wayang-java, wayang-spark

Cheers,
 —Alex 

---

1: 
https://stackoverflow.com/questions/53583199/spark-error-unsupported-class-file-major-version
2: 
https://www.azul.com/downloads/?version=java-8-lts&os=macos&architecture=arm-64-bit&package=jdk

> On 12. Oct 2021, at 14:36, Bertty Contreras <[email protected]> wrote:
> 
> Hi Alex and Gabor,
> 
> answer bellow :F
> 
> "Can you please provide the download link?"
> 
>> The code is on the main branch in the repository just do
>> git clone https://github.com/apache/incubator-wayang.git
> 
> 
> "it's in the main branch, right?"
> 
>> yes the main branch
> 
> 
> "What does this setup mean for Java versions?"
> 
>> I think I need to write again that, In the case of java 8 you can use
>> both(scala 2.11 and 2.12) but in the case of java 11 is possible to use
>> just scala 2.12, because scala 2.11 its not supported by java 11
> 
> 
> "I'm a bit worried that it might also happen in the future that some of our
> backend systems won't support very new or very old Java versions."
> 
>> I made this change to try to support that case. I want to isolate the code
>> to enable different versions of scala compile in armony. In the case of
>> Java it is "easier" because after 8 almost all of the code is compatible,
>> you need to be adding some classes or you can wrap some classes in the case
>> of some functionality that is not supported.
> 
> About scala, it's more complex because most of the versions are not
>> retrocompatibles but we can do some tricks to do it, that is the idea of
>> this folder.
> 
> 
> Best regards,
> 
> 
> On Tue, Oct 12, 2021 at 2:21 PM Gábor Gévay <[email protected]> wrote:
> 
>> Hi Bertty,
>> 
>> I'm doing the build now (it's in the main branch, right?), but one
>> quick question: What does this setup mean for Java versions? I used to
>> build -Pscala-11 with Java 8, but -Pscala-12 with Java 11. Do I
>> understand correctly, that after this change we have to use the same
>> Java version for both Scala 2.11 and 2.12? Currently, Emma runs only
>> on Java 8. I might be able to make it work on Java 11, so this is not
>> a big problem hopefully. But I'm a bit worried that it might also
>> happen in the future that some of our backend systems won't support
>> very new or very old Java versions.
>> 
>> Best,
>> Gábor
>> 
>> 
>> 
>> 
>> Bertty Contreras <[email protected]> ezt írta (időpont: 2021. okt.
>> 12., K, 14:09):
>>> 
>>> Hi Folks,
>>> 
>>> 
>>> I had been working on issues release; one of them was the profile at the
>>> moment of generating the artefacts. So I did some tests, and it looks ok,
>>> but I want you to compile the code with the following commands.
>>> 
>>> 
>>> mvn clean install
>>> 
>>> 
>>> before running this command, be sure to delete the folder
>>> ~/.m2/repository/org/apache/wayang
>>> 
>>> 
>>> after the execution you will found the following folder in the path
>>> 
>>> ~/.m2/repository/org/apache/wayang
>>> 
>>> 
>>> wayang
>>> 
>>> wayang-api
>>> 
>>> wayang-api-python
>>> 
>>> wayang-api-scala-java
>>> 
>>> wayang-api-scala-java_2.11
>>> 
>>> wayang-api-scala-java_2.12
>>> 
>>> wayang-basic
>>> 
>>> wayang-benchmark
>>> 
>>> wayang-benchmark_2.11
>>> 
>>> wayang-benchmark_2.12
>>> 
>>> wayang-commons
>>> 
>>> wayang-core
>>> 
>>> wayang-flink
>>> 
>>> wayang-flink_2.11
>>> 
>>> wayang-flink_2.12
>>> 
>>> wayang-giraph
>>> 
>>> wayang-graphchi_2.11
>>> 
>>> wayang-iejoin
>>> 
>>> wayang-iejoin_2.11
>>> 
>>> wayang-iejoin_2.12
>>> 
>>> wayang-java
>>> 
>>> wayang-jdbc-template
>>> 
>>> wayang-platforms
>>> 
>>> wayang-plugins
>>> 
>>> wayang-postgres
>>> 
>>> wayang-profiler
>>> 
>>> wayang-profiler_2.11
>>> 
>>> wayang-profiler_2.12
>>> 
>>> wayang-resources
>>> 
>>> wayang-spark
>>> 
>>> wayang-spark_2.11
>>> 
>>> wayang-spark_2.12
>>> 
>>> wayang-sqlite3
>>> 
>>> wayang-tests-integration
>>> 
>>> wayang-tests-integration_2.11
>>> 
>>> wayang-tests-integration_2.12
>>> 
>>> wayang-utils-profile-db
>>> 
>>> 
>>> Currently, you do not need to set any profile because the profile depends
>>> on the folder's content. So it is possible because I create "empty"
>>> artefacts that help with the generation of code for scala 2.11 and scala
>>> 2.12 simultaneously.
>>> 
>>> 
>>> you will found some folders with the following structure
>>> 
>>> 
>>> module-name/
>>> ├─ pom.xml
>>> ├─ code/
>>> │  ├─ main/
>>> │  │  ├─ java/
>>> │  │  ├─ resources/
>>> │  │  ├─ scala/
>>> │  ├─ test/
>>> │  │  ├─ java/
>>> │  │  ├─ resources/
>>> │  │  ├─ scala/
>>> ├─ module-name_${scala_version}/
>>> │  ├─ src/
>>> │  │  ├─ main/
>>> │  │  │  ├─ java/ -> ./../../../code/main/java
>>> │  │  │  ├─ java_${scala_version}/
>>> │  │  │  ├─ scala/ -> ./../../../code/main/scala
>>> │  │  │  ├─ scala_${scala_version}/
>>> │  │  │  ├─ resources/ -> ./../../../code/main/resources
>>> │  │  │  ├─ resources_${scala_version}/
>>> │  │  ├─ test/
>>> │  │  │  ├─ java/ -> ./../../../code/test/java
>>> │  │  │  ├─ java_${scala_version}/
>>> │  │  │  ├─ scala/ -> ./../../../code/test/scala
>>> │  │  │  ├─ scala_${scala_version}/
>>> │  │  │  ├─ resources/ -> ./../../../code/test/resources
>>> │  │  │  ├─ resources_${scala_version}/
>>> │  ├─ pom.xml
>>> 
>>> 
>>> This structure allows you to have several versions of scala compiling at
>>> the same time without generating errors. Have in consideration that most
>> of
>>> the code will be shared by different versions; because of it, you have a
>>> link(->) to the folder "code" (exist a script for it). The "code" Folder
>> is
>>> the current code that is running for the versions.
>>> 
>>> 
>>> The benefit of these changes are:
>>> 
>>>   - Solve the non-compilation of Jenkins issue.
>>>   - The release issue, non-generation of artefacts for scala 2.11
>>>   - It provides better support to the different versions that we are
>>>   currently supporting and allows adding new versions with minimum
>> effort.
>>>   - Avoid maintaining several branches of the same code with minor
>> changes.
>>> 
>>> 
>>> Before I add the documentation, I want you to compile, review the code
>> and
>>> let me know your thoughts about it.
>>> 
>>> 
>>> To simulate a release in your computer, you can try the following
>> command.
>>> 
>>> 
>>> mvn clean install -Papache-release
>>> 
>>> 
>>> This command take time, please be patient :D
>>> 
>>> 
>>> By the way all this change are already in the master
>>> 
>>> 
>>> I will be waiting for your feedback.
>>> 
>>> 
>>> Best regards,
>>> 
>>> Bertty
>> 

Reply via email to