You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Stavros Kontopoulos (JIRA)" <ji...@apache.org> on 2018/07/31 18:35:01 UTC

[jira] [Comment Edited] (SPARK-14643) Remove overloaded methods which become ambiguous in Scala 2.12

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

Stavros Kontopoulos edited comment on SPARK-14643 at 7/31/18 6:34 PM:
----------------------------------------------------------------------

[~srowen] Right now there is no such change in the implementation. As noted in the description of the PR,

we are not going to fix this for now, and as [~lrytz] mentions in the doc:

"The proposed plan is to NOT do the `ACC_SYNTHETIC` for now. Java users would continue to use the 2.11 artifacts. If 2.11 support is ever dropped, I assume this would happen in a major release that is also allowed to break binary compatibility, so then the conflicting overload could be removed."

What is implemented is what is described in the action plan in the document.

 


was (Author: skonto):
[~srowen] Right now there is no such change in the implementation. As noted in the description of the PR,

we are not going to fix this, and as [~lrytz] mentions in the doc:

"The proposed plan is to NOT do the `ACC_SYNTHETIC` for now. Java users would continue to use the 2.11 artifacts. If 2.11 support is ever dropped, I assume this would happen in a major release that is also allowed to break binary compatibility, so then the conflicting overload could be removed."

What is implemented is what is described in the action plan in the document.

 

> Remove overloaded methods which become ambiguous in Scala 2.12
> --------------------------------------------------------------
>
>                 Key: SPARK-14643
>                 URL: https://issues.apache.org/jira/browse/SPARK-14643
>             Project: Spark
>          Issue Type: Sub-task
>          Components: Build, Project Infra
>            Reporter: Josh Rosen
>            Assignee: Josh Rosen
>            Priority: Major
>
> Spark 1.x's Dataset API runs into subtle source incompatibility problems for Java 8 and Scala 2.12 users when Spark is built against Scala 2.12. In a nutshell, the current API has overloaded methods whose signatures are ambiguous when resolving calls that use the Java 8 lambda syntax (only if Spark is build against Scala 2.12).
> This issue is somewhat subtle, so there's a full writeup at https://docs.google.com/document/d/1P_wmH3U356f079AYgSsN53HKixuNdxSEvo8nw_tgLgM/edit?usp=sharing which describes the exact circumstances under which the current APIs are problematic. The writeup also proposes a solution which involves the removal of certain overloads only in Scala 2.12 builds of Spark and the introduction of implicit conversions for retaining source compatibility.
> We don't need to implement any of these changes until we add Scala 2.12 support since the changes must only be applied when building against Scala 2.12 and will be done via traits + shims which are mixed in via per-Scala-version source directories (like how we handle the Scala-version-specific parts of the REPL). For now, this JIRA acts as a placeholder so that the parent JIRA reflects the complete set of tasks which need to be finished for 2.12 support.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org