You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Bill Bejeck (JIRA)" <ji...@apache.org> on 2019/04/08 15:04:00 UTC

[jira] [Updated] (KAFKA-8199) ClassCastException when trying to groupBy after suppress

     [ https://issues.apache.org/jira/browse/KAFKA-8199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bill Bejeck updated KAFKA-8199:
-------------------------------
    Description: 
A topology with a groupBy after a suppress operation results in a ClassCastException

 The following sample topology
{noformat}
Properties properties = new Properties(); properties.put(StreamsConfig.APPLICATION_ID_CONFIG, "appid"); properties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost"); StreamsBuilder builder = new StreamsBuilder(); builder.<String, String>stream("topic")
.groupByKey().windowedBy(TimeWindows.of(Duration.ofSeconds(30))).count() 
.suppress(Suppressed.untilTimeLimit(Duration.ofHours(1), BufferConfig.unbounded())) 
.groupBy((k, v) -> KeyValue.pair(k,v)).count().toStream(); builder.build(properties);
{noformat}
results in this exception:
{noformat}
java.lang.ClassCastException: org.apache.kafka.streams.kstream.internals.KTableImpl$$Lambda$4/2084435065 cannot be cast to org.apache.kafka.streams.kstream.internals.KTableProcessorSupplier{noformat}
 

 

  was:
A topology with a groupBy after a suppress operation results in a ClassCastException

 The following sample topology
{noformat}
Properties properties = new Properties(); properties.put(StreamsConfig.APPLICATION_ID_CONFIG, "appid"); properties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost"); StreamsBuilder builder = new StreamsBuilder(); builder.<String, String>stream("topic").groupByKey().windowedBy(TimeWindows.of(Duration.ofSeconds(30))).count() .suppress(Suppressed.untilTimeLimit(Duration.ofHours(1), BufferConfig.unbounded())) .groupBy((k, v) -> KeyValue.pair(k,v)).count().toStream(); builder.build(properties);
{noformat}
results in this exception:
{noformat}
java.lang.ClassCastException: org.apache.kafka.streams.kstream.internals.KTableImpl$$Lambda$4/2084435065 cannot be cast to org.apache.kafka.streams.kstream.internals.KTableProcessorSupplier{noformat}
 

 


> ClassCastException when trying to groupBy after suppress
> --------------------------------------------------------
>
>                 Key: KAFKA-8199
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8199
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.1.0
>            Reporter: Bill Bejeck
>            Priority: Major
>             Fix For: 2.3.0
>
>
> A topology with a groupBy after a suppress operation results in a ClassCastException
>  The following sample topology
> {noformat}
> Properties properties = new Properties(); properties.put(StreamsConfig.APPLICATION_ID_CONFIG, "appid"); properties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost"); StreamsBuilder builder = new StreamsBuilder(); builder.<String, String>stream("topic")
> .groupByKey().windowedBy(TimeWindows.of(Duration.ofSeconds(30))).count() 
> .suppress(Suppressed.untilTimeLimit(Duration.ofHours(1), BufferConfig.unbounded())) 
> .groupBy((k, v) -> KeyValue.pair(k,v)).count().toStream(); builder.build(properties);
> {noformat}
> results in this exception:
> {noformat}
> java.lang.ClassCastException: org.apache.kafka.streams.kstream.internals.KTableImpl$$Lambda$4/2084435065 cannot be cast to org.apache.kafka.streams.kstream.internals.KTableProcessorSupplier{noformat}
>  
>  



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