Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 05660200B51 for ; Mon, 1 Aug 2016 11:46:17 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 022C8160A65; Mon, 1 Aug 2016 09:46:17 +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 46953160A5D for ; Mon, 1 Aug 2016 11:46:16 +0200 (CEST) Received: (qmail 2533 invoked by uid 500); 1 Aug 2016 09:46:15 -0000 Mailing-List: contact user-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@ignite.apache.org Delivered-To: mailing list user@ignite.apache.org Received: (qmail 2524 invoked by uid 99); 1 Aug 2016 09:46:15 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2016 09:46:15 +0000 Received: from mail-oi0-f41.google.com (mail-oi0-f41.google.com [209.85.218.41]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 2EE951A003E for ; Mon, 1 Aug 2016 09:46:15 +0000 (UTC) Received: by mail-oi0-f41.google.com with SMTP id w18so185367490oiw.3 for ; Mon, 01 Aug 2016 02:46:15 -0700 (PDT) X-Gm-Message-State: AEkoouvExxNDH8B1YYPJ6lmu3quj6PNY1UJun1+3nvsAd4G9ukWMn839lAWHOZyP1uO/Y79/1RrhGcBzQJ3cOiL1 X-Received: by 10.202.104.234 with SMTP id o103mr33626231oik.130.1470044774461; Mon, 01 Aug 2016 02:46:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.244.85 with HTTP; Mon, 1 Aug 2016 02:46:13 -0700 (PDT) In-Reply-To: <1470040454494-6650.post@n6.nabble.com> References: <1469627610472-6565.post@n6.nabble.com> <1469787347729-6616.post@n6.nabble.com> <1469803894105-6620.post@n6.nabble.com> <1469806833990-6622.post@n6.nabble.com> <1470040454494-6650.post@n6.nabble.com> From: Yakov Zhdanov Date: Mon, 1 Aug 2016 12:46:13 +0300 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Deadlock during Client Continuous Query deserialization To: user@ignite.apache.org Content-Type: multipart/alternative; boundary=001a1140b43a9631490538ff78fe archived-at: Mon, 01 Aug 2016 09:46:17 -0000 --001a1140b43a9631490538ff78fe Content-Type: text/plain; charset=UTF-8 Ross, Deserialization may be heavy. When you deserialize object Ignite implicitly goes to some internal caches to get metadata of the type. This explains why your example works when you skip deserialization. I am not sure whether 2000 is a lot or not. For me even 1 cont query bringing all the updates from 100-nodes partitioned cache is quite a lot :) and most probably will kill the cluster. --Yakov 2016-08-01 11:34 GMT+03:00 ross.anderson : > Hi Yakov, > You can see in the example I have provided that the only thing we try to do > in the listener is to print the event to the console log. In our other code > I attempted to pass the event off to another thread in order to get off the > notification thread and see if that unblocked it, but this was to no avail > as well. In either case we are trying to keep processing to the minimum. > > To be honest I am slightly surprised that 2000 queries is considered a lot. > The example I provided is slightly contrived in that there is no initial > query, and a null remote filter - the simplest case I could provide which > demonstrated the issue - in our real case we are using unique initial > queries and filters per listener. > I can certainly perform my own local propagation of the updates, but this > means I need to be performing my own initial queries, and merging the query > results with the updates myself and it seems as though I am just re-writing > what continuous queries seem like they are supposed to offer? > > Cheers, > Ross > > > > -- > View this message in context: > http://apache-ignite-users.70518.x6.nabble.com/Deadlock-during-Client-Continuous-Query-deserialization-tp6565p6650.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com. > --001a1140b43a9631490538ff78fe Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Ross,

Deserialization may be heavy. Whe= n you deserialize object Ignite implicitly goes to some internal caches to = get metadata of the type. This explains why your example works when you ski= p deserialization.

I am not sure whether 2000 is a= lot or not. For me even 1 cont query bringing all the updates from 100-nod= es partitioned cache is quite a lot :) and most probably will kill the clus= ter.

-= -Yakov

2016-08-01 11:34 GMT+03:00 ross.anderson <ross.anderson@caplin.com>:
Hi Yakov,
You can see in the example I have provided that the only thing we try to do=
in the listener is to print the event to the console log. In our other code=
I attempted to pass the event off to another thread in order to get off the=
notification thread and see if that unblocked it, but this was to no avail<= br> as well. In either case we are trying to keep processing to the minimum.
To be honest I am slightly surprised that 2000 queries is considered a lot.=
The example I provided is slightly contrived in that there is no initial query, and a null remote filter - the simplest case I could provide which demonstrated the issue - in our real case we are using unique initial
queries and filters per listener.
I can certainly perform my own local propagation of the updates, but this means I need to be performing my own initial queries, and merging the query=
results with the updates myself and it seems as though I am just re-writing=
what continuous queries seem like they are supposed to offer?

Cheers,
Ross



--
View this message in context: http://apache-ignite-users= .70518.x6.nabble.com/Deadlock-during-Client-Continuous-Query-deserializatio= n-tp6565p6650.html
Sent from the Apache Ignite Users m= ailing list archive at Nabble.com.

--001a1140b43a9631490538ff78fe--