[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
>>