[
https://issues.apache.org/jira/browse/TOREE-503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16913444#comment-16913444
]
Kevin Bates edited comment on TOREE-503 at 8/22/19 5:00 PM:
Hi Alexander - thank you for opening the issue.
I can reproduce this on Spark 2.3 systems. However, running Toree against
Spark 2.4 does *not* reproduce the issue. I see that emr-5.10 uses Spark 2.2.
Are you in a position to try against
[emr-5.20+|https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-5x.html]
(which uses Spark 2.4)?
Interestingly enough, the issue doesn't reproduce in any version of the
spark-shell, but I suspect there could be some subtlety where the Spark 2.4
REPL happens to address this.
was (Author: kbates):
Hi Alexander - thank you opening the issue.
I can reproduce this on Spark 2.3 systems. However, running Toree against
Spark 2.4 does *not* reproduce the issue. I see that emr-5.10 uses Spark 2.2.
Are you in a position to try against
[emr-5.20+|https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-5x.html]
(which uses Spark 2.4)?
Interestingly enough, the issue doesn't reproduce in any version of the
spark-shell, but I suspect there could be some subtlety where the Spark 2.4
REPL happens to address this.
> Cannot Use Scala Enumerations as Method Arguments
> -
>
> Key: TOREE-503
> URL: https://issues.apache.org/jira/browse/TOREE-503
> Project: TOREE
> Issue Type: Bug
> Components: Kernel
>Affects Versions: 0.3.0
> Environment: Amazon EMR Release emr-5.10.0, JupyterLab 0.35.4
>Reporter: Alexander Gunter
>Priority: Major
>
> Under common circumstances, cells containing method calls where an argument
> is an Enumeration will fail to compile when using the Toree kernel in
> JupyterLab. The circumstances relate to the scoping between notebook cells.
> The arrangement below will fail to compile, producing the shown output.
>
> _CELL 1:_
> {code:java}
> object ExampleEnum extends Enumeration {
> type ExampleEnum = Value
> val A, B, C = Value
> }{code}
> {code:java}
> defined object ExampleEnum
> {code}
>
> _CELL 2:_
> {code:java}
> def exampleMethod(enum: ExampleEnum.Value): Unit = {
> println(enum.toString)
> }
> exampleMethod(ExampleEnum.A){code}
> {code:java}
> exampleMethod: (enum: ExampleEnum.Value)Unit
> A
> {code}
>
> _CELL 3:_
> {code:java}
> exampleMethod(ExampleEnum.A){code}
> {code:java}
> Name: Compile Error
> Message: :30: error: type mismatch;
> found : ExampleEnum.Value
> required: ExampleEnum.Value
>exampleMethod(ExampleEnum.A)
> ^
> StackTrace:
> {code}
>
> Note that exampleMethod() works as expected when called inside the same cell
> as its definition (demo'd in Cell 2). It also works as expected in all cells
> if it is instead defined in Cell 1 alongside ExampleEnum (i.e. if you merge
> Cell1 and Cell 2).
--
This message was sent by Atlassian Jira
(v8.3.2#803003)