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 38EF717C2D for ; Fri, 3 Apr 2015 11:11:43 +0000 (UTC) Received: (qmail 14469 invoked by uid 500); 3 Apr 2015 11:11:43 -0000 Delivered-To: apmail-flink-dev-archive@flink.apache.org Received: (qmail 14396 invoked by uid 500); 3 Apr 2015 11:11:43 -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 14384 invoked by uid 99); 3 Apr 2015 11:11:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Apr 2015 11:11:42 +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 fhueske@gmail.com designates 209.85.217.176 as permitted sender) Received: from [209.85.217.176] (HELO mail-lb0-f176.google.com) (209.85.217.176) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Apr 2015 11:11:17 +0000 Received: by lboc7 with SMTP id c7so77058634lbo.1 for ; Fri, 03 Apr 2015 04:09:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=r3irgVlHyV3x5WVwX4JCj6+Bg3PNN/wuKveV8AOqGwM=; b=QJLopLZmN35ldcYwcewZyDfXk1kOX/vLgdxXqkmfg3MA1rkbnn/sAdyTQa5fLz5p4k SU5KKmXp7FnC/dbNEUs/oFF2fT/Wmqydu9uhSQWzmFLZi+UPiQ31Qm8h/GDlw0HsFao8 M5MNVxsmbUnOO5/D/2nRDdYDYuBzZ6kRaJKejzzCsIuu3VzMDSTF3R2Cg5W2NqI9f/PE G6CKoGd28fHZCVgKpi2X1NjMGJaI6rw79zm+e7xiKVnUJaz1uYiZpla2cgzulqgFS2ej FiUQZzhS1+Y+aOe/vIVEgniWGk3cSKgvp//J7W0P8cpGbZK0QeSN8rZ+VjQ7wKI0AVNK r7cw== MIME-Version: 1.0 X-Received: by 10.112.40.33 with SMTP id u1mr1703876lbk.96.1428059341080; Fri, 03 Apr 2015 04:09:01 -0700 (PDT) Received: by 10.152.135.131 with HTTP; Fri, 3 Apr 2015 04:09:01 -0700 (PDT) Received: by 10.152.135.131 with HTTP; Fri, 3 Apr 2015 04:09:01 -0700 (PDT) In-Reply-To: References: Date: Fri, 3 Apr 2015 13:09:01 +0200 Message-ID: Subject: Re: NullPointerException in DeltaIteration when no ForwardedFileds annotation From: Fabian Hueske To: dev@flink.apache.org Content-Type: multipart/alternative; boundary=001a1133b64abe4edd0512cff97a X-Virus-Checked: Checked by ClamAV on apache.org --001a1133b64abe4edd0512cff97a Content-Type: text/plain; charset=UTF-8 That looks pretty much like a bug. As you said, fwd fields annotations are optional and may improve the performance of a program, but never change its semantics (if set correctly). I'll have a look at it later. Would be great if you could provide some data to reproduce the bug. On Apr 3, 2015 12:48 PM, "Vasiliki Kalavri" wrote: > Hello to my squirrels, > > I've been getting a NullPointerException for a DeltaIteration program I'm > trying to implement and I could really use your help :-) > It seems that some of the input Tuples of the Join operator that I'm using > to create the next workset / solution set delta are null. > It also seems that adding ForwardedFields annotations solves the issue. > > I managed to reproduce the behavior using the ConnectedComponents example, > by removing the "@ForwardedFieldsFirst("*")" annotation from > the ComponentIdFilter join. > The exception message is the following: > > Caused by: java.lang.NullPointerException > at > > org.apache.flink.examples.java.graph.ConnectedComponents$ComponentIdFilter.join(ConnectedComponents.java:186) > at > > org.apache.flink.examples.java.graph.ConnectedComponents$ComponentIdFilter.join(ConnectedComponents.java:1) > at > > org.apache.flink.runtime.operators.JoinWithSolutionSetSecondDriver.run(JoinWithSolutionSetSecondDriver.java:198) > at > > org.apache.flink.runtime.operators.RegularPactTask.run(RegularPactTask.java:496) > at > > org.apache.flink.runtime.iterative.task.AbstractIterativePactTask.run(AbstractIterativePactTask.java:139) > at > > org.apache.flink.runtime.iterative.task.IterationIntermediatePactTask.run(IterationIntermediatePactTask.java:92) > at > > org.apache.flink.runtime.operators.RegularPactTask.invoke(RegularPactTask.java:362) > at > > org.apache.flink.runtime.execution.RuntimeEnvironment.run(RuntimeEnvironment.java:217) > at java.lang.Thread.run(Thread.java:745) > > I get this error locally with any sufficiently big dataset (~10000 nodes). > When the annotation is in place, it works without problem. > I also generated the optimizer plans for the two cases: > - with annotation (working): > https://gist.github.com/vasia/4f4dc6b0cc6c72b5b64b > - without annotation (failing): > https://gist.github.com/vasia/086faa45b980bf7f4c09 > > After visualizing the plans, the main difference I see is that in the > working case, the next workset node and the solution set delta nodes are > merged, while in the failing case they are separate. > > Shouldn't this work with and without annotation (but be more efficient with > the annotation in place)? Or am I missing something here? > > Thanks in advance for any help :)) > > Cheers, > - Vasia. > --001a1133b64abe4edd0512cff97a--