Return-Path: X-Original-To: apmail-flink-dev-archive@www.apache.org Delivered-To: apmail-flink-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 057D518DC9 for ; Wed, 1 Jul 2015 09:39:54 +0000 (UTC) Received: (qmail 92005 invoked by uid 500); 1 Jul 2015 09:39:53 -0000 Delivered-To: apmail-flink-dev-archive@flink.apache.org Received: (qmail 91941 invoked by uid 500); 1 Jul 2015 09:39:53 -0000 Mailing-List: contact dev-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 dev@flink.apache.org Received: (qmail 91929 invoked by uid 99); 1 Jul 2015 09:39:53 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jul 2015 09:39:53 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gyula.fora@gmail.com designates 209.85.215.42 as permitted sender) Received: from [209.85.215.42] (HELO mail-la0-f42.google.com) (209.85.215.42) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jul 2015 09:37:38 +0000 Received: by lagx9 with SMTP id x9so36796877lag.1 for ; Wed, 01 Jul 2015 02:38:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-type; bh=dMPvR7p+SYFKQQIh1l9+29TcGP3l4u0SOCeB++b7rcI=; b=gJO3xwF+vTNt+lhEuW4nI8phrjZnltsEoUMemtQAID825Sykm/w7/O6GN5PkUuTsHO ddWT/hFCGkmBcDUN4O8FCx6CjxP8vLvOqpXfkIvDzkQHzeWoWqgDnDuT6MDkcEzixmwT de7MPk7WGKR+18b88jsB7P7vn3ZNQmbmYAq6/efQaHNorrZzdf2NkdBhBPOR54/DYuPp xz6S/Xj7M8Nci5FLJ4VHOtS8F1G7AynuBPpq7mNRrpdnU7fuQIGK6nWm28RQn0IFaRl6 zQLYxBNSEaFopx5tq37pzwcBcVys+1/bKxqLF6QTxI8TGRtOzzsA+5HPRNpVd7PqKx9Y M+JQ== X-Received: by 10.152.44.193 with SMTP id g1mr24265312lam.15.1435743521140; Wed, 01 Jul 2015 02:38:41 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?Q?Gyula_F=C3=B3ra?= Date: Wed, 01 Jul 2015 09:38:31 +0000 Message-ID: Subject: Re: Replacing Checkpointed interface with field annotations To: dev@flink.apache.org Content-Type: multipart/alternative; boundary=089e0160bda490f5f40519cd1669 X-Virus-Checked: Checked by ClamAV on apache.org --089e0160bda490f5f40519cd1669 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I understand your concerns Robert but I don't fully agree. The Checkpointed interface works indeed but there are so many use cases that it is not suitable for in the long run, and also the whole interface is slightly awkward in my opinion when returning simple fields which are already serializable. This motivated the introduction of the OperatorStateInterface which you can call the first rework of the checkpointed interface, but I see that as the first version which is actually capable of handling many issues that were obvious with the Checkpointed interfaces. This is actually not only a rework of the interface but the rework of the state concept and runtime handling. This needs to be clean if we are moving streaming out of beta, and should provide the needed funcionality. I think we can afford to experiment around a little bit with these interfaces and see the implications for the applications that we can develop with them as we think of statefulness as a major advantage of Flink streaming. So actually I think this is the only time when we can afford rework these interfaces without big costs to make it work for the future. Robert Metzger ezt =C3=ADrta (id=C5=91pont: 2015. j= =C3=BAl. 1., Sze, 11:25): > Whats causing me the biggest headache here is that I don't see an end on > all these "state interface" reworks. > I think this is now the third big change to the interface. > It is a horrible user experience to rework your old code with each new > Flink release. > > I understand that there are always ways to improve interfaces, and I'm su= re > Flink has many that we can improve. > But there are (in my opinion) more important things than reworking the > interfaces every second week ... for example that the functionality they > are providing is actually working and well tested. > > > > On Wed, Jul 1, 2015 at 11:15 AM, Ufuk Celebi wrote: > > > > > On 01 Jul 2015, at 10:57, Gyula F=C3=B3ra wrote: > > > > > Hey, > > > > > > Thanks for the feedback guys: > > > > > > @Max: You are right, this is not top priority to changes, I was just > > > mocking up some alternatives to try to make the state usage even > simpler > > so > > > that the user can keep his current implementations and just add 1-2 > > > annotations. > > > > I agree. It's good to cover the "basic" case with a simple solution. :-= ) > > > > > @Stephan, Robert: You are right that the checkpointed interface has > some > > > advantages from that point of view. Maybe a way to go would be to > > separate > > > this signaling functionality (when the checkpoint is taken and maybe > also > > > the commits) from the snapshotting itself. One advantage I see there = is > > > that we would not need to have 3 different interfaces doing pretty mu= ch > > the > > > same thing (OperatorState - needed for partitioned state and differen= t > > > backends/out-of-core, Checkpointed - needed for special actions after > > > checkpoints, Annotations - checkpointing simple fields natively). > > > > I also agree with Stephan and Robert that there are other use cases, > which > > require the interfaces. I cannot judge your proposal at this point > though. > > I'm eager to hear what the others say who worked on this. > > > > =E2=80=93 Ufuk > --089e0160bda490f5f40519cd1669--