Apache kafka KGroupedStream与cogroup、aggregate和amp;抑制

Apache kafka KGroupedStream与cogroup、aggregate和amp;抑制,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,尝试合并、聚合和抑制流,从而导致- Caused by: java.lang.ClassCastException: class org.apache.kafka.streams.kstream.internals.PassThrough cannot be cast to class org.apache.kafka.streams.kstream.internals.KTableProcessorSupplier (org.apache.kafka.streams.kstream.inter

尝试合并、聚合和抑制流,从而导致-

Caused by: java.lang.ClassCastException: class org.apache.kafka.streams.kstream.internals.PassThrough cannot be cast to class org.apache.kafka.streams.kstream.internals.KTableProcessorSupplier (org.apache.kafka.streams.kstream.internals.PassThrough and org.apache.kafka.streams.kstream.internals.KTableProcessorSupplier are in unnamed module of loader 'app')
val stream1=requestStreams.merge(成功流)。merge(错误流)
.groupByKey(分组为.with(Serdes.String(),serdesConfig.notificationSerde())
val streams2=确认流
.groupByKey(分组为.with(Serdes.String(),serdesConfig.confirmationserde())
val cogrouped=stream1.cogroup(notificationAggregator).cogroup(streams2,confirmationAggregator)
.windowedBy(TimeWindows.of(持续时间分钟)(notificationStreamsConfig.joinWindowMinutes.toLong()).grace(持续时间分钟)(notificationStreamsConfig.graceDurationMinutes.toLong())
.aggregate({null},物化.`as`(“时间窗口聚合流存储”)
.withValueSerde(serdesConfig.notificationMetricSerde())
.suppress(supprested.untilwindowclose(unbounded()))
.toStream()

但是,如果我删除
.suppress
,它可以正常工作。

听起来像个bug。你能提交一张Jira票吗:谢谢你,已经创建了-听起来像是一个bug。你能申请一张Jira票吗:谢谢你,我已经创建好了-
        val stream1 = requestStreams.merge(successStreams).merge(errorStreams)
                .groupByKey(Grouped.with(Serdes.String(), serdesConfig.notificationSerde()))

        val streams2 = confirmationStreams
                .groupByKey(Grouped.with(Serdes.String(), serdesConfig.confirmationsSerde()))

        val cogrouped = stream1.cogroup(notificationAggregator).cogroup(streams2, confirmationsAggregator)
                .windowedBy(TimeWindows.of(Duration.ofMinutes(notificationStreamsConfig.joinWindowMinutes.toLong())).grace(Duration.ofMinutes(notificationStreamsConfig.graceDurationMinutes.toLong())))
                .aggregate({ null }, Materialized.`as`<String, NotificationMetric, WindowStore<Bytes, ByteArray>>("time-windowed-aggregated-stream-store")
                        .withValueSerde(serdesConfig.notificationMetricSerde()))
                 .suppress(Suppressed.untilWindowCloses(unbounded()))
                .toStream()