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)