From issues-return-150439-archive-asf-public=cust-asf.ponee.io@flink.apache.org Wed Jan 31 16:07:06 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id 4ABFC18066D for ; Wed, 31 Jan 2018 16:07:06 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 3A718160C25; Wed, 31 Jan 2018 15:07:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 81ED3160C35 for ; Wed, 31 Jan 2018 16:07:05 +0100 (CET) Received: (qmail 50401 invoked by uid 500); 31 Jan 2018 15:07:04 -0000 Mailing-List: contact issues-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list issues@flink.apache.org Received: (qmail 50392 invoked by uid 99); 31 Jan 2018 15:07:04 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 Jan 2018 15:07:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 2F422DA932 for ; Wed, 31 Jan 2018 15:07:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -110.311 X-Spam-Level: X-Spam-Status: No, score=-110.311 tagged_above=-999 required=6.31 tests=[ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_SPF_WL=-7.5, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id e6M0x0xODnIu for ; Wed, 31 Jan 2018 15:07:02 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 324265F201 for ; Wed, 31 Jan 2018 15:07:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 6989CE0117 for ; Wed, 31 Jan 2018 15:07:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 2D0B0240EE for ; Wed, 31 Jan 2018 15:07:00 +0000 (UTC) Date: Wed, 31 Jan 2018 15:07:00 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: issues@flink.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (FLINK-8384) Session Window Assigner with Dynamic Gaps MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FLINK-8384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16346972#comment-16346972 ] ASF GitHub Bot commented on FLINK-8384: --------------------------------------- Github user dyanarose commented on the issue: https://github.com/apache/flink/pull/5295 I'm not the biggest fan of unchecked casts, but testing this in our POC environment casting the existing EventTimeTrigger to a typed Trigger is working. So if the unchecked cast is acceptable, that would get rid of all changes required to Event/ProcessingTimeTrigger On your second point. (sorry if I mis-attribute this based on github profile name) I believe you had mentioned breaking this out into new classes when I first brought this up on the mailing list https://lists.apache.org/thread.html/6ceb094460bca8e9731e9e1dc0bb479f407f769458bff30c412adf78@%3Cdev.flink.apache.org%3E Now that you see it in action, do you feel it would be better off as an addition to the existing session window classes? The way I see it is, if I put withGapExtractor() on the existing classes, without adding type information to them, then the extract() method on SessionWindowGapExtractor will need to have the signature of extract(Object input) leaving the implementer to have to cast to the input type. I have to admit it feels strange to me that the Window assigners all drop input type information. But that would mean that these new typed assigners would be the odd ones out. > Session Window Assigner with Dynamic Gaps > ----------------------------------------- > > Key: FLINK-8384 > URL: https://issues.apache.org/jira/browse/FLINK-8384 > Project: Flink > Issue Type: Improvement > Components: Streaming > Reporter: Dyana Rose > Priority: Minor > > *Reason for Improvement* > Currently both Session Window assigners only allow a static inactivity gap. > Given the following scenario, this is too restrictive: > * Given a stream of IoT events from many device types > * Assume each device type could have a different inactivity gap > * Assume each device type gap could change while sessions are in flight > By allowing dynamic inactivity gaps, the correct gap can be determined in the [assignWindows function|https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/assigners/EventTimeSessionWindows.java#L59] by passing the element currently under consideration, the timestamp, and the context to a user defined function. This eliminates the need to create unwieldy work arounds if you only have static gaps. > Dynamic Session Window gaps should be available for both Event Time and Processing Time streams. > (short preliminary discussion: https://lists.apache.org/thread.html/08a011c0039e826343e9be0b1bb4e0000cfc2e12976bc65f8a43ee88@%3Cdev.flink.apache.org%3E) -- This message was sent by Atlassian JIRA (v7.6.3#76005)