[ 
https://issues.apache.org/jira/browse/TOREE-503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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: <console>: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)

Reply via email to