Search in sources :

Example 1 with SlidingWindows

use of org.apache.kafka.streams.kstream.SlidingWindows in project kafka by apache.

the class GraphGraceSearchUtil method extractGracePeriod.

@SuppressWarnings("rawtypes")
private static Long extractGracePeriod(final GraphNode node) {
    if (node instanceof StatefulProcessorNode) {
        final ProcessorSupplier processorSupplier = ((StatefulProcessorNode) node).processorParameters().processorSupplier();
        if (processorSupplier instanceof KStreamWindowAggregate) {
            final KStreamWindowAggregate kStreamWindowAggregate = (KStreamWindowAggregate) processorSupplier;
            final Windows windows = kStreamWindowAggregate.windows();
            return windows.gracePeriodMs();
        } else if (processorSupplier instanceof KStreamSessionWindowAggregate) {
            final KStreamSessionWindowAggregate kStreamSessionWindowAggregate = (KStreamSessionWindowAggregate) processorSupplier;
            final SessionWindows windows = kStreamSessionWindowAggregate.windows();
            return windows.gracePeriodMs() + windows.inactivityGap();
        } else if (processorSupplier instanceof KStreamSlidingWindowAggregate) {
            final KStreamSlidingWindowAggregate kStreamSlidingWindowAggregate = (KStreamSlidingWindowAggregate) processorSupplier;
            final SlidingWindows windows = kStreamSlidingWindowAggregate.windows();
            return windows.gracePeriodMs();
        } else {
            return null;
        }
    } else {
        return null;
    }
}
Also used : SessionWindows(org.apache.kafka.streams.kstream.SessionWindows) ProcessorSupplier(org.apache.kafka.streams.processor.api.ProcessorSupplier) SessionWindows(org.apache.kafka.streams.kstream.SessionWindows) Windows(org.apache.kafka.streams.kstream.Windows) SlidingWindows(org.apache.kafka.streams.kstream.SlidingWindows) KStreamSessionWindowAggregate(org.apache.kafka.streams.kstream.internals.KStreamSessionWindowAggregate) KStreamWindowAggregate(org.apache.kafka.streams.kstream.internals.KStreamWindowAggregate) KStreamSlidingWindowAggregate(org.apache.kafka.streams.kstream.internals.KStreamSlidingWindowAggregate) SlidingWindows(org.apache.kafka.streams.kstream.SlidingWindows)

Aggregations

SessionWindows (org.apache.kafka.streams.kstream.SessionWindows)1 SlidingWindows (org.apache.kafka.streams.kstream.SlidingWindows)1 Windows (org.apache.kafka.streams.kstream.Windows)1 KStreamSessionWindowAggregate (org.apache.kafka.streams.kstream.internals.KStreamSessionWindowAggregate)1 KStreamSlidingWindowAggregate (org.apache.kafka.streams.kstream.internals.KStreamSlidingWindowAggregate)1 KStreamWindowAggregate (org.apache.kafka.streams.kstream.internals.KStreamWindowAggregate)1 ProcessorSupplier (org.apache.kafka.streams.processor.api.ProcessorSupplier)1