Bug 777893 (SOA-421) - Document that stateful actons cannot be used under the cluster
Summary: Document that stateful actons cannot be used under the cluster
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-421
Product: JBoss Enterprise SOA Platform 4
Classification: JBoss
Component: Documentation
Version: 4.2 CR3
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.2 GA
Assignee: Joshua Wulf
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-02-13 12:46 UTC by Jiri Pechanec
Modified: 2014-10-19 23:00 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-02-29 01:12:07 UTC
Type: Task


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SOA-421 0 None Closed Document that stateful actons cannot be used under the cluster 2012-04-25 03:11:51 UTC

Description Jiri Pechanec 2008-02-13 12:46:12 UTC
Affects: Documentation (Ref Guide, User Guide, etc.), Release Notes
Date of First Response: 2008-02-27 16:27:31
project_key: SOA

Document thatAggregator and stateful non-replicating actions in general cannot be used in ESB cluster config

Comment 1 Mark Little 2008-02-13 15:06:14 UTC
Affects: Added: [Documentation (Ref Guide, User Guide, etc.), Release Notes]


Comment 2 Joshua Wulf 2008-02-27 21:27:31 UTC
Jiri, could you please update this JIRA with more information, or a pointer to source JIRAs for more information.

thanks --josh

Comment 3 Joshua Wulf 2008-02-28 09:04:40 UTC
From an IRC conversation with Jiri:

Aggregator is a stateful action. It assembles a predefined number of messages into a single message, which is then passed on for further processing. While the Aggregator is waiting for all of the messages that it needs to arrive its state is stored in memory. In a clustered ESB environment the Aggregator is running on multiple machines, but it's memory is not replicated across those machines. This means that the Aggregator instance on one machine does not have access to the messages that have been captured by Aggregator instances on the other machines in the cluster. This can lead to the situation where messages are captured by different Aggregator instances in the cluster. Since they are unaware of each other the messages will never be assembled.

Because of this you should avoid using the Aggregator action in a clustered environment. Aggregator is the only stateful action that we deliver out of the box. If you create other stateful actions you will need to implement a replication mechanism to use them in a clustered environment.

Comment 4 Joshua Wulf 2008-02-28 09:10:41 UTC
Slightly edited:

Aggregator is a stateful action. It assembles a predefined number of messages into a single message, which is then passed on for further processing. The Aggregator's state is stored in memory while it is waiting for the arrival of all the messages required. In a clustered ESB environment multiple Aggregator instances are running, on the different nodes of the cluster, each with its own memory space. The Aggregator instance on one node does not have access to the messages that have been captured by Aggregator instances on other nodes in the cluster. This can lead to the situation where messages are captured by different Aggregator instances in the cluster, and because they are unaware of each other the messages will never be assembled.

Because of this you should avoid using the Aggregator action in a clustered environment. Aggregator is the only stateful action that we deliver out of the box. If you create other stateful actions you will need to implement a replication mechanism to use them in a clustered environment.

Comment 5 Joshua Wulf 2008-02-28 09:12:28 UTC
What's the roadmap for stateful action replication in a clustered environment? Is there one?

Is there a pointer that I can give to more information on developing a replicating stateful action?

Comment 6 Joshua Wulf 2008-02-28 09:25:48 UTC
<mlittle> jwulf, replication of stateful services is complex. It's not supported in the current ESB.
<mlittle> jwulf, it is a future feature though.

Comment 7 Joshua Wulf 2008-02-29 01:12:07 UTC
"5.5.  Aggregator and other stateful actions are not supported in a clustered environment

As mentioned throughout the Programmers Guide, high-availability services within JBossESB are currently only supported if they are stateless. The Aggregator action is a stateful instance, which necessarily means that if it is used within the Action Pipeline/Chain of a service, that service is no longer stateless and therefore cannot be used in a high-availability manner.

Further information: http://jira.jboss.com/jira/browse/SOA-421 "

Release note pushed to online - will be synced in next redhat.com/docs sync.


Note You need to log in before you can comment on or make changes to this bug.