users@shoal.java.net

Re: [Shoal-Users] JXTA loses some packets

From: Shreedhar Ganapathy <Shreedhar.Ganapathy_at_Sun.COM>
Date: Wed, 06 Aug 2008 10:17:34 -0700

Hi Mathias
Thanks for posting here. Its certainly good to know about your usage of
Fishfarm and indirectly, Shoal.

A few questions:
A few iterative trials might establish where the issue lies. Could you
try with packet sizes lower than 64KB i.e say 10KB through to 60 KB and
then go beyond ? That would indicate where possible bottlenecks could
be. Would be even better if this could be profiled.

Are you seeing any exceptions or messages in the log output to suggest
failure to send messages? Could you share the logs here?

We can surely look into exposing properties that can be set in Jxta.
Jxta provides a programmatic Api for configurations called
NetworkConfigurator.
https://jxta-jxse.dev.java.net/source/browse/jxta-jxse/trunk/api/src/net/jxta/platform/NetworkConfigurator.java?rev=555&view=markup

However it does not expose anything related to tuning TCP presumably
because the underlying OS level TCP protocol implementation is expected
to provide flow control, fragmentation support, etc. There could be
opportunity for some RFEs there.

I can see an api for setting the Multicast packet size but in this case
you report it may not be relevant as Shoal uses the TCP channel to send
messages.

hth
Shreedhar


Mathias Chouet wrote:
> Hello everyone.
>
> I'm new to Shoal, and to be more precise I use it indirectly, through
> the distribution framework known as FishFarm
> (https://fishfarm.dev.java.net).
> The application I'm writing relies on FishFarm, thus on Shoal, to
> transmit large messages from one host to another. The fact is when
> their size increases, some messages are lost. For example, when trying
> to send 10 messages around 600kB each over Shoal, only 4 or 5 reach
> their destination.
>
> Knowing that reliability is not the goal of JXTA, I intended to try to
> provide an alternate configuration in order to make it more tolerant
> (tuning TCP, multicast or whatever, I must admit JXTA's configuration
> seems very obscure to me...). So my question is: is there a way to
> (re)configure JXTA through Shoal, by passing directly any "properties"
> elements recognized by JXTA, at instanciation time for example, or by
> a configuration file? I've heard about
> ServiceProviderConfigurationKeys, but it seems to cover a few
> parameters only...
>
> Hoping this question has not been already asked, I thank you in
> advance for any help.
>
> Mathias Chouet