[jbosscache-dev] Re: Non Blocking State Transfer Status (& Integration with JGroups)

Jason T. Greene jason.greene at redhat.com
Wed Jan 7 17:52:45 EST 2009


Jason T. Greene wrote:
> Jason T. Greene wrote:
>> Bela Ban wrote:
>>>
>>>
>>> Brian Stansberry wrote:
>>>> BTW, is a *JGroups* streaming API necessary here?  The old AS Farm 
>>>> service passed arbitrary sized files by sending byte[] chunks via 
>>>> RpcDispatcher calls. Worked fine. That's not quite what JBC would 
>>>> need, since FarmService read a chunk from a FileInputStream and 
>>>> passed it to JGroups; you'd want an OutputStream impl that would 
>>>> pass a chunk to JGroups when it's internal buffer reached size X.
>>>
>>> +1.
>>>
>>> On the side: I know a <big unnamed company> uses streaming state 
>>> transfer to do this. Not really the way it was designed for, but it 
>>> works well for them.
>>> Here's the link: 
>>> http://www.nabble.com/Streaming-Message-Transfer---td14476343.html. 
>>> The 3rd posting from the top describes their approach.
>>>
>>> I still think though that JBC implementing this via chunks would be 
>>> the better solution.
>>>
>>>
>>
>> So there does appear to be a common need for sending a large stream to 
>> members in the group. JBC needs it, Streaming State Transfer needs it, 
>> Farming needs it, and at least one customer needs. The question is, 
>> should jgroups support the capability at its core, or should such use 
>> cases use a p2p framework.
>>
>> Chunking over a messaging api will work, but it is definitely not the 
>> optimal approach. It is probably good enough. However, i suspect it 
>> becomes a problem when people have gigs of data to send.
>>
> 
> After considering this more I think I can take advantage of streaming 
> state transfer by clever use of state id's, and intelligent formatting 
> of the state.
> 

In fact, I might even be able to do this in one stream. I will build a 
prototype around this.

-- 
Jason T. Greene
JBoss, a division of Red Hat



More information about the jbosscache-dev mailing list