I am getting the same problem when trying to do FlatMap operation on my POJO class. Exception in thread "main" java.lang.IllegalStateException: Detected more than one setter
Am using Flink 1.2, the exception is coming when using FlatMap |
Hi Adarsh,
thanks for reporting this. It should be fixed eventually. @Timo: do you have an idea for a work-around or quick-fix? Regards Nico On Tuesday, 14 February 2017 21:11:21 CET Adarsh Jain wrote: > I am getting the same problem when trying to do FlatMap operation on my > POJO class. > > Exception in thread "main" java.lang.IllegalStateException: Detected > more than one setter > > > > Am using Flink 1.2, the exception is coming when using FlatMap > > https://issues.apache.org/jira/browse/FLINK-5070 signature.asc (201 bytes) Download Attachment |
Any help will be highly appreciable, am stuck on this one. On Tue, Feb 14, 2017 at 10:47 PM, Nico Kruber <[hidden email]> wrote: Hi Adarsh, |
Hi Adarsh, I think this is the same bug. I'm afraid you have to wait until the problem is fixed.2017-02-15 6:08 GMT+01:00 Adarsh Jain <[hidden email]>:
|
Thanks Fabian, I need to sink data in Cassandra and direct sink with case class is not available (correct me if I am wrong) If we use Tuple then we are restricted to 22 fields What do you suggest here? On Wed, Feb 15, 2017 at 2:32 PM, Fabian Hueske <[hidden email]> wrote:
|
Hi Adarsh,
I looked into your issue. The problem is that `var` generates Scala-style getters/setters and the annotation generates Java-style getters/setters. Right now Flink only supports one style in a POJO, I don't know why we have this restriction. I will work on a fix for that. Is it possible for you to remove the `var`? According to this Stackoverflow it is also considered a bad practice: http://stackoverflow.com/questions/35038977/is-it-good-practice-to-use-beanproperty-in-scala-instead-of-defining-getter-set Regards, Timo Am 15/02/17 um 10:08 schrieb Adarsh Jain:
|
In reply to this post by Adarsh Jain
Hello,
There is an open PR about adding support for case classes to the cassandra sinks: https://github.com/apache/flink/pull/2633 You would have to checkout the branch and build it yourself. If this works for you it would be great if you could also give some feedback either here or in the PR. Regards, Chesnay On 15.02.2017 10:08, Adarsh Jain wrote:
|
Forget what I said about omitting
`var`, this would remove the field from the POJO. I opened a PR
for fixing the issue: https://github.com/apache/flink/pull/3318
As a workaround: If you just want to have a POJO for the Cassandra Sink you don't need to add the `@BeanProperty` annotation. Flink supports also Scala-style POJOs. You just have to make sure that your class contains a default constructor. This is a valid POJO: class SomeClass(var prop: Int) { def this() = this(0) } I hope that helps. Timo Am 15/02/17 um 10:48 schrieb Chesnay Schepler:
|
Thanks Timo, removing `@BeanProperty` is giving no getters, no setters error On Wed, Feb 15, 2017 at 3:45 PM, Timo Walther <[hidden email]> wrote:
|
Free forum by Nabble | Edit this page |