Attempting to get settled with Flink under Scala 2.11, but running into some 
odd issues with macro expansion in a project that depends on flink-scala_2.11 
and flink-runtime_211. 

I’ve instrumented the SocketStreamWordCount quick start 
<https://github.com/OCExercise/wordcount-processing> to test this issue. It 
depends on Flink 1.0-SNAPSHOT, so you can test against a local build of Flink 
for 2.11.

Steps taken

Cloned source and checked out release-0.1
Ran tools/change-scala-version.sh 2.11
Ran mvn clean install -Dscala.version=2.11.4 -Dscala.binary.version=2.11 
-Dakka.version=2.4.1 -DskipTests=true at Flink root; build succeeds
Ran my spring-booted downstream project’s build and boot run.
Expected result

Success

Actual result

During compilation, I get the following error:

[ERROR] 
/Users/revprez/dev/exercise/systems/jvm/flink/wordcount-processing/src/main/scala/org/opencorrelate/jvm/scala/SocketTextStreamWordCount.scala:73:
 error: could not find implicit value for evidence parameter of type 
org.apache.flink.api.common.typeinfo.TypeInformation[String]
[ERROR]         val counts = text.flatMap { _.toLowerCase.split("\\W+") filter 
{ _.nonEmpty } }
[ERROR]                                   ^
[ERROR] 
/Users/revprez/dev/exercise/systems/jvm/flink/wordcount-processing/src/main/scala/org/opencorrelate/jvm/scala/WordCount.scala:40:
 error: can't expand macros compiled by previous versions of Scala
[ERROR]     val text = env.fromElements("To be, or not to be,--that is the 
question:--",


Discussion

I’m not sure how the Maven build actually succeeded, as there doesn’t seem to 
be any quasiquotes_2.11 under org.scalamacros 
<http://central.maven.org/maven2/org/scalamacros/> of any version in the public 
repos, nor in the four vendor repos configured in flink-parent’s pom.xml. 
Unless I’m missing something, 

            <dependencies>
                <dependency>
                    <groupId>org.scalamacros</groupId>
                    <artifactId>quasiquotes_${scala.binary.version}</artifactId>
                    <version>${scala.macros.version}</version>
                </dependency>
            </dependencies>


I recall an earlier discussion about issues with 2.10 stuff polluting the 2.11 
build. Not sure if this is related–I’m able to get through everything I’ve 
identified up to this point by simply overriding properties in flunk-parent 
with command line arguments. 

Also not sure what next steps to take. Don’t know enough about Scala Macros to 
know if substituting, say, org.scalameta:quasiquotes_2.11:0.0.4 is a viable 
option (actually tried it, seems to be more trouble than it’s worth). 

If anyone has any ideas, I’m more than willing to try thing—Flink’s on our 
critical path and if we can get it operational under 2.11 then we’er golden.



Prez Cannady  
p: 617 500 3378  
e: revp...@opencorrelate.org <mailto:revp...@opencorrelate.org>  
GH: https://github.com/opencorrelate <https://github.com/opencorrelate>  
LI: https://www.linkedin.com/in/revprez <https://www.linkedin.com/in/revprez>  









Reply via email to