Return-Path: Delivered-To: apmail-incubator-river-dev-archive@minotaur.apache.org Received: (qmail 78622 invoked from network); 21 Dec 2010 00:03:08 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Dec 2010 00:03:08 -0000 Received: (qmail 83649 invoked by uid 500); 21 Dec 2010 00:03:08 -0000 Delivered-To: apmail-incubator-river-dev-archive@incubator.apache.org Received: (qmail 83617 invoked by uid 500); 21 Dec 2010 00:03:08 -0000 Mailing-List: contact river-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: river-dev@incubator.apache.org Delivered-To: mailing list river-dev@incubator.apache.org Received: (qmail 83609 invoked by uid 99); 21 Dec 2010 00:03:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Dec 2010 00:03:08 +0000 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [216.221.81.29] (HELO fipsb02.cogeco.net) (216.221.81.29) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Dec 2010 00:03:01 +0000 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApsEAL99D03Y3VTZ/2dsb2JhbACkfr80hUkEhGU X-IronPort-AV: E=Sophos;i="4.60,204,1291611600"; d="scan'208";a="185998207" Received: from d221-84-217.commercial.cgocable.net (HELO 192.168.1.20) ([216.221.84.217]) by fipsb02.cogeco.net with ESMTP; 20 Dec 2010 19:02:31 -0500 Subject: Re: datastructure classes From: Greg Trasuk To: river-dev@incubator.apache.org In-Reply-To: References: <4CF89BD3.3030103@acm.org> <4CF909A0.5070409@wonderly.org> <4D056E41.7020102@acm.org> <4D057B73.3090905@zeus.net.au> <4D05BA22.4000002@acm.org> <4D06672A.10203@wonderly.org> <4D066FA2.8050207@wonderly.org> <4D069D21.5070908@zeus.net.au> <4D06BA8D.4040602@simulexinc.com> <4D06C523.5000006@acm.org> <5E44AB11-EC78-476E-8A6D-C9AEBEFCA3D2@topiatechnology.com> <4D079D60.4070607@wonderly.org> <4D07E442.5040908@acm.org> <39AED645-40CC-4314-9956-25BE1325B2F5@topiatechnology.com> <4D07E9D4.2080106@acm.org> <4D0856B2.1070107@acm.org> <4D0A1A61.2020805@acm.org> <4D0A1D90.2000900@qcg.nl> <4D0B8903.8090704@wonderly.org> <4D0BFA6D.80201@acm.org> <4D0FBCCD.8080506@acm.org> <4D0FBF6A.1070504@wonderly.org> Content-Type: text/plain; charset=iso-8859-1 Message-Id: <1292889664.4894.56.camel@cameron> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6.305 Date: Mon, 20 Dec 2010 19:01:04 -0500 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Seems to me that FIFO handling would be a bit of an illusion at the best of times. What happens if you take an entry within a transaction, then the transaction gets rolled back? The entry gets dropped back into the space, in a different order than the original. I've always assumed that if you want to process entries in order, you need to pull them all and re-order locally, or put a sequence number as a field, then take() them in the order you want them. By the way, I'm casually assuming the model where you're using the space as a messaging medium rather than storage. Your mileage may vary. Cheers, Greg. On Mon, 2010-12-20 at 16:19, Dan Creswell wrote: > If that's what is required, you'd best change the spec to reflect this > default. Failing to do this leaves developers open to nasty surprises like: > > (1) Develop code on javaspace that supports FIFO by default. > (2) Pronounce code safe and debugged. > (3) Deploy code onto some other javaspace (e.g. a commerically supported one > to keep management happy). > (4) Be assaulted and confused by the sudden appearance of problems with code > that ran just fine before for no apparent reason. > > As Tom hints below, this problem is already with us so sorting out specs and > such cannot be a bad thing. > > "But, without some sort of implicit ordering, there is a chance of > starvation or at best prolonged staleness of entries which can turn people > off of JavaSpaces as a solution for all out performant network applications, > and that is exactly what we don't want." > > I'd note that for anything other than the least demanding (concurrency wise) > "performant network applications" FIFO is a performance killer that might > well put developers off anyways. As with so many things Javaspaces there are > two sides to every tradeoff and neither is perfect for all cases. > > On 20 December 2010 20:41, Gregg Wonderly wrote: > > > On 12/20/2010 2:30 PM, Patricia Shanahan wrote: > > > >> Tom Hobbs wrote: > >> > >>> I know of at least one company which uses Outrigger specifically > >>> because of it's fortuitous FIFO behaviour. I'm trying to encourage > >>> them to move from the Jini 2.1 code to the River release and losing > >>> the FIFO-ness might be an issue for them. > >>> > >>> And yes I know, the spec doesn't specify FIFO, like I said, they > >>> needed a FIFO space, and Outrigger "just happened" to behave like > >>> that. > >>> > >> > >> That confirms my suspicion that FIFO-ness is a useful property. I note > >> that > >> Gigaspaces has optional support for FIFO. > >> > >> My quick changes to try to fix the current bug will preserve it. If the > >> long > >> term design loses it for flat-out performance, we should make it available > >> on a > >> configuration basis. > >> > > > > In any case, I think it is important to think strongly about supporting > > FIFO as the default behavior. This helps people see and appreciate > > "progress" of > > Entry values within their system. If better, predictable, performance can > > be had from non-FIFO ordering, that would be great. But, without some sort > > of implicit ordering, there is a chance of starvation or at best prolonged > > staleness of entries which can turn people off of JavaSpaces as a solution > > for all out performant network applications, and that is exactly what we > > don't want. > > > > Gregg > > -- Greg Trasuk, President StratusCom Manufacturing Systems Inc. - We use information technology to solve business problems on your plant floor. http://stratuscom.com