[JBoss JIRA] Commented: (JGRP-130) Problems with reincarnation
by Anton Melser (JIRA)
[ http://jira.jboss.com/jira/browse/JGRP-130?page=comments#action_12371050 ]
Anton Melser commented on JGRP-130:
-----------------------------------
This is resolved...is there a release with the new code in it? Do I need to compile from svn?
> Problems with reincarnation
> ---------------------------
>
> Key: JGRP-130
> URL: http://jira.jboss.com/jira/browse/JGRP-130
> Project: JGroups
> Issue Type: Feature Request
> Affects Versions: 2.2.9
> Reporter: Bela Ban
> Assigned To: Bela Ban
> Fix For: 2.6
>
> Attachments: tcp.xml
>
>
> Problems with reincarnation
> ===========================
> Author: Bela Ban
> Version: $Id$
> The identity of a JGroups member is always the IP address and a port. The port is usually chosen by the OS, unless
> bind_port is set (not set by default).
> Let's say a member's address is hostA:5000. When that member dies and is restarted, the OS will likely assign a
> higher port, say 5002. This depends on how many other processes requested a port in between the start and restart
> of the member.
> JGroups relies on the fact that the assignment of ports by the OS is always (not necessarily monotonically)
> *increasing* across a single machine. If this is not the case, then the following problems can occur:
> 1. Restart:
> When a member P crashes and then is restarted, if FD is used and P is restarted *before* it is excluded,
> then we have a new member *under the same old address* ! Since it lost all of its state (e.g. retransmission table),
> retransmission requests sent to the new P will fail.
> 2. Shunning:
> Regarding shunning: a member keeps its last N (default is 100) ports used, and makes sure it doesn't reuse one of
> those already-used ports when it is shunned. However, this is process-wide and *not* machine-wide, e.g. when we have
> processes P1 on A:5000 and P2 on A:5002 (on machine A), and both of them are shunned at the same time,
> when they rejoin, P1 does not use port 5000, but might use port 5002, and P2 doesn't use 5002, but might use 5000, so
> they could assume each other's identity !
> Both problems cannot be solved by remembering the last 100 ports: in case #1, this list is lost because we start a
> new process and in case #2, the list is process-wide, but not machine-wide.
> Again, these problems occur *only* when the OS reuses previously assigned ports.
> SOLUTION:
> A: Use temporary storage (per host) to store the last N addresses assigned on a given host. This makes sure we
> don't reuse previous addresses
> B: Use logical addresses, such as java.rmi.VMID or java.rmi.server.UID, which are unique over time for a given host.
> Then, it doesn't matter what ports we use because the ports are not used to determine a member's identity.
> The JIRA task for logical addresses is http://jira.jboss.com/jira/browse/JGRP-129.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Created: (JBCACHE-1159) Issue while using "JBossTransactionManagerLookup" as a TransactionManagerLookupClass in JBOSS CACHE
by Nishant Jain (JIRA)
Issue while using "JBossTransactionManagerLookup" as a TransactionManagerLookupClass in JBOSS CACHE
---------------------------------------------------------------------------------------------------
Key: JBCACHE-1159
URL: http://jira.jboss.com/jira/browse/JBCACHE-1159
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Cache loaders
Affects Versions: 1.4.1.SP3
Reporter: Nishant Jain
Assigned To: Manik Surtani
We are facing the following error while switching from "DummyTransactionManagerLookup" to "JBossTransactionManagerLookup" as a TransactionManagerLookupClass in the configuration file (treecache-config.xml) . Could someone help us out in this?
15:15:06,541 ERROR [JBossCacheManager] JBossCacheService to Tomcat clustering not found
15:15:06,541 ERROR [TomcatDeployer] Failed to setup clustering, clustering disabled
15:15:07,634 INFO [STDOUT] java.lang.RuntimeException: java.lang.Exception: Failed to create local transaction; TransactionManager is null
15:15:07,634 INFO [STDOUT] at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5875)
15:15:07,634 INFO [STDOUT] at org.jboss.cache.TreeCache.get(TreeCache.java:3627)
15:15:07,634 INFO [STDOUT] at org.jboss.cache.TreeCache.get(TreeCache.java:3608)
15:15:07,634 INFO [STDOUT] at com.tg.cache.manager.TreeCacheProviderImpl.getFromCache(TreeCacheProviderImpl.java:105)
15:15:07,634 INFO [STDOUT] at com.tg.cities.CitiesCacheManager.getCitiesFromCache(CitiesCacheManager.java:52)
15:15:07,634 INFO [STDOUT] at com.tg.cities.CitiesCacheManager.getCities(CitiesCacheManager.java:39)
15:15:07,634 INFO [STDOUT] at com.tg.delegate.FlightSearchDelegate.getCities(FlightSearchDelegate.java:65)
15:15:07,634 INFO [STDOUT] at com.tg.controller.FlightSearchController.showForm(FlightSearchController.java:432)
15:15:07,634 INFO [STDOUT] at org.springframework.web.servlet.mvc.AbstractFormController.showNewForm(AbstractFormController.j
ava:322)
15:15:07,634 INFO [STDOUT] at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormCo
ntroller.java:262)
15:15:07,634 INFO [STDOUT] at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:15
3)
15:15:07,634 INFO [STDOUT] at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandl
erAdapter.java:44)
15:15:07,634 INFO [STDOUT] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:723)
15:15:07,634 INFO [STDOUT] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:663)
15:15:07,634 INFO [STDOUT] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
15:15:07,634 INFO [STDOUT] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:348)
15:15:07,634 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
15:15:07,634 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:25
2)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java
:107)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.ja
va:72)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:216)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegr
ationFilter.java:195)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
15:15:07,634 INFO [STDOUT] at com.tg.acegi.FilterProxy.doFilter(FilterProxy.java:46)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:20
2)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:1
38)
15:15:07,634 INFO [STDOUT] at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:20
2)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
15:15:07,634 INFO [STDOUT] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:20
2)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
15:15:07,634 INFO [STDOUT] at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
15:15:07,634 INFO [STDOUT] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159
)
15:15:07,634 INFO [STDOUT] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
15:15:07,634 INFO [STDOUT] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
15:15:07,634 INFO [STDOUT] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
15:15:07,634 INFO [STDOUT] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protoco
l.java:744)
15:15:07,634 INFO [STDOUT] at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
15:15:07,634 INFO [STDOUT] at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
15:15:07,634 INFO [STDOUT] at java.lang.Thread.run(Thread.java:595)
15:15:07,634 INFO [STDOUT] Caused by: java.lang.Exception: Failed to create local transaction; TransactionManager is null
15:15:07,634 INFO [STDOUT] at org.jboss.cache.interceptors.TxInterceptor.createLocalTx(TxInterceptor.java:980)
15:15:07,634 INFO [STDOUT] at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:357)
15:15:07,634 INFO [STDOUT] at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:160)
15:15:07,634 INFO [STDOUT] at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
15:15:07,634 INFO [STDOUT] at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:138)
15:15:07,634 INFO [STDOUT] at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5863)
15:15:07,634 INFO [STDOUT] ... 56 more
15:15:07,681 INFO [STDOUT] java.lang.RuntimeException: java.lang.Exception: Failed to create local transaction; TransactionManage
r is null
15:15:07,681 INFO [STDOUT] at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5875)
15:15:07,681 INFO [STDOUT] at org.jboss.cache.TreeCache.put(TreeCache.java:3833)
15:15:07,681 INFO [STDOUT] at com.tg.cache.manager.TreeCacheProviderImpl.addToCache(TreeCacheProviderImpl.java:75)
15:15:07,681 INFO [STDOUT] at com.tg.cities.CitiesCacheManager.putCitiesInCache(CitiesCacheManager.java:72)
15:15:07,681 INFO [STDOUT] at com.tg.cities.CitiesCacheManager.getCities(CitiesCacheManager.java:42)
15:15:07,681 INFO [STDOUT] at com.tg.delegate.FlightSearchDelegate.getCities(FlightSearchDelegate.java:65)
15:15:07,681 INFO [STDOUT] at com.tg.controller.FlightSearchController.showForm(FlightSearchController.java:432)
15:15:07,681 INFO [STDOUT] at org.springframework.web.servlet.mvc.AbstractFormController.showNewForm(AbstractFormController.j
ava:322)
15:15:07,681 INFO [STDOUT] at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormCo
ntroller.java:262)
15:15:07,681 INFO [STDOUT] at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:15
3)
15:15:07,681 INFO [STDOUT] at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandl
erAdapter.java:44)
15:15:07,681 INFO [STDOUT] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:723)
15:15:07,681 INFO [STDOUT] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:663)
15:15:07,681 INFO [STDOUT] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
15:15:07,681 INFO [STDOUT] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:348)
15:15:07,681 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
15:15:07,681 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:25
2)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java
:107)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.ja
va:72)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:216)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegr
ationFilter.java:195)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
15:15:07,681 INFO [STDOUT] at com.tg.acegi.FilterProxy.doFilter(FilterProxy.java:46)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:20
2)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:1
38)
15:15:07,681 INFO [STDOUT] at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:20
2)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
15:15:07,681 INFO [STDOUT] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:20
2)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
15:15:07,681 INFO [STDOUT] at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
15:15:07,681 INFO [STDOUT] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159
)
15:15:07,681 INFO [STDOUT] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
15:15:07,681 INFO [STDOUT] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
15:15:07,681 INFO [STDOUT] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
15:15:07,681 INFO [STDOUT] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protoco
l.java:744)
15:15:07,681 INFO [STDOUT] at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
15:15:07,681 INFO [STDOUT] at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
15:15:07,681 INFO [STDOUT] at java.lang.Thread.run(Thread.java:595)
15:15:07,681 INFO [STDOUT] Caused by: java.lang.Exception: Failed to create local transaction; TransactionManager is null
15:15:07,681 INFO [STDOUT] at org.jboss.cache.interceptors.TxInterceptor.createLocalTx(TxInterceptor.java:980)
15:15:07,681 INFO [STDOUT] at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:357)
15:15:07,681 INFO [STDOUT] at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:160)
15:15:07,681 INFO [STDOUT] at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
15:15:07,681 INFO [STDOUT] at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:157)
15:15:07,681 INFO [STDOUT] at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5863)
15:15:07,681 INFO [STDOUT] ... 55 more
15:15:07,899 INFO [ResourceBundleThemeSource] Theme created: name 'theme', basename [theme]
15:15:07,899 INFO [ExpressionEvaluationUtils] Using JSP 2.0 ExpressionEvaluator
15:15:56,871 INFO [Server] Runtime shutdown hook called, forceHalt: true
15:15:56,871 INFO [Server] JBoss SHUTDOWN: Undeploying all packages
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Commented: (JGRP-129) Logical addresses
by Bela Ban (JIRA)
[ http://jira.jboss.com/jira/browse/JGRP-129?page=comments#action_12370994 ]
Bela Ban commented on JGRP-129:
-------------------------------
With respect to shunning: a shunned member leaves the cluster and rejoins under a new address. So, although it is the same process, the address changes.
> Logical addresses
> -----------------
>
> Key: JGRP-129
> URL: http://jira.jboss.com/jira/browse/JGRP-129
> Project: JGroups
> Issue Type: Feature Request
> Affects Versions: 2.2.9
> Reporter: Bela Ban
> Assigned To: Bela Ban
> Fix For: 2.x
>
>
> The address chosen by each node is essentially the IP address and port of the receiver socket. However, for the following reasons, this is not good enough:
> - The node is shunned (excluded) and re-joins after leaving. We'd like to have the same logical address, although the physical address changed. This is already done in JBoss code, should be available in JGroups proper
> - NIC failover: a NIC goes down, we want to continue sending/receiving on a different NIC
> - The sender sends on all available NICs (send_on_all_interfaces="true"). This means that -if we take the receiver's datagram packet's address to be the identity of the sender - we get N different identities; 1 for each interface the message is sent on
> - Network Address Translation: the sender's address might get changed by the NAT
> DESIGN:
> - A logical address is picked, either by JGroups, or set by a user on channel creation. The lifetime of this address is the lifetime of the process in which the channel is created, or until channel.close() or disconnect() is called.
> - Each member as a small cache, in which it associates the logical addresses for messages received with the sender's address. When a message is to be sent to a logical address (unicast message), the corresponding physical address is looked up from the cache. Note that there maybe multiple physical addresses if the same message was sent on different interfaces (send_on_all_interfaces="true").
> - The logical addresses must be picked such that they cannot be reused after disconnect()/close().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Updated: (JGRP-129) Logical addresses
by Bela Ban (JIRA)
[ http://jira.jboss.com/jira/browse/JGRP-129?page=all ]
Bela Ban updated JGRP-129:
--------------------------
Fix Version/s: 2.x
(was: 2.6)
Moved to 2.x, so we can revisit the need for logical addresses. My guess is this issue will get closed in 2.x though, unless someone brings forward a compelling reason to implement logical addresses
> Logical addresses
> -----------------
>
> Key: JGRP-129
> URL: http://jira.jboss.com/jira/browse/JGRP-129
> Project: JGroups
> Issue Type: Feature Request
> Affects Versions: 2.2.9
> Reporter: Bela Ban
> Assigned To: Bela Ban
> Fix For: 2.x
>
>
> The address chosen by each node is essentially the IP address and port of the receiver socket. However, for the following reasons, this is not good enough:
> - The node is shunned (excluded) and re-joins after leaving. We'd like to have the same logical address, although the physical address changed. This is already done in JBoss code, should be available in JGroups proper
> - NIC failover: a NIC goes down, we want to continue sending/receiving on a different NIC
> - The sender sends on all available NICs (send_on_all_interfaces="true"). This means that -if we take the receiver's datagram packet's address to be the identity of the sender - we get N different identities; 1 for each interface the message is sent on
> - Network Address Translation: the sender's address might get changed by the NAT
> DESIGN:
> - A logical address is picked, either by JGroups, or set by a user on channel creation. The lifetime of this address is the lifetime of the process in which the channel is created, or until channel.close() or disconnect() is called.
> - Each member as a small cache, in which it associates the logical addresses for messages received with the sender's address. When a message is to be sent to a logical address (unicast message), the corresponding physical address is looked up from the cache. Note that there maybe multiple physical addresses if the same message was sent on different interfaces (send_on_all_interfaces="true").
> - The logical addresses must be picked such that they cannot be reused after disconnect()/close().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Resolved: (JBPM-681) GraphElement.raiseException results in Exception with Java EE
by Bernd Ruecker (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-681?page=all ]
Bernd Ruecker resolved JBPM-681.
--------------------------------
Resolution: Done
> GraphElement.raiseException results in Exception with Java EE
> -------------------------------------------------------------
>
> Key: JBPM-681
> URL: http://jira.jboss.com/jira/browse/JBPM-681
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM 3.1.1
> Environment: Java EE with JTA
> Reporter: Bernd Ruecker
> Assigned To: Tom Baeyens
> Priority: Critical
> Fix For: jBPM jPDL 3.2.2
>
>
> If you
> - invoke a SessionBean in a jbpm action
> - jBPM and the SessionBean run in the same JTA transaction
> - a Exception occurs
> Then the Transaction is marked for rollback from the EJB-Container when the Exception occurs in the SessionBean.
> Now jBPM wants to handle the Exception (see http://docs.jboss.com/jbpm/v3/userguide/processmodelling.html#exceptionha...):
> When an exception occurs in a delegation class, the process element parent hierarchy is serached for an appropriate exception-handler. When it is found, the actions of the exception-handler are executed
> But becaue the transaction is already marked for rollback, a call to Hibernate (lazy loading?) results in a exception:
> 7:14:29,875 INFO [DefaultLoadEventListener] Error performing load command
> org.hibernate.exception.GenericJDBCException: Cannot open connection
> at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103
> )
> at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
> at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:420)
> at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
> at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
> at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
> at org.hibernate.loader.Loader.doQuery(Loader.java:661)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
> at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2821)
> at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.jav
> a:370)
> at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:351)
> at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:122)
> at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:81)
> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:871)
> at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:829)
> at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
> at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:160)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.equals(<generated>)
> at org.jbpm.util.EqualsUtil.equals(EqualsUtil.java:30)
> at org.jbpm.graph.def.GraphElement.equals(GraphElement.java:418)
> at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$78d101e.equals(<generated>)
> at org.jbpm.graph.def.Transition.getParent(Transition.java:204)
> at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:338)
> at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
> at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
> at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
> at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
> at org.jbpm.graph.def.Transition.take(Transition.java:106)
> at org.jbpm.graph.def.Node.leave(Node.java:382)
> at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:198)
> at org.jbpm.graph.def.Node$$FastClassByCGLIB$$d187eeda.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.leave(<generated>)
> at org.jbpm.graph.exe.Token.signal(Token.java:174)
> at org.jbpm.graph.exe.Token.signal(Token.java:145)
> at org.jbpm.graph.exe.Token$$FastClassByCGLIB$$74df1c6e.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$fae2cddc.signal(<generated>)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:420)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:359)
> at org.jbpm.taskmgmt.exe.TaskInstance$$FastClassByCGLIB$$cb2c21af.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.taskmgmt.exe.TaskInstance$$EnhancerByCGLIB$$cbd8230f.end(<generated>)
> at com.camunda.toolkit.jbpm.service.AdminServicesImpl.endTask(AdminServicesImpl.java:1452)
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Updated: (JBPM-681) GraphElement.raiseException results in Exception with Java EE
by Bernd Ruecker (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-681?page=all ]
Bernd Ruecker updated JBPM-681:
-------------------------------
Fix Version/s: jBPM jPDL 3.2.2
No problem, assigned it and comitted it
> GraphElement.raiseException results in Exception with Java EE
> -------------------------------------------------------------
>
> Key: JBPM-681
> URL: http://jira.jboss.com/jira/browse/JBPM-681
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM 3.1.1
> Environment: Java EE with JTA
> Reporter: Bernd Ruecker
> Assigned To: Tom Baeyens
> Priority: Critical
> Fix For: jBPM jPDL 3.2.2
>
>
> If you
> - invoke a SessionBean in a jbpm action
> - jBPM and the SessionBean run in the same JTA transaction
> - a Exception occurs
> Then the Transaction is marked for rollback from the EJB-Container when the Exception occurs in the SessionBean.
> Now jBPM wants to handle the Exception (see http://docs.jboss.com/jbpm/v3/userguide/processmodelling.html#exceptionha...):
> When an exception occurs in a delegation class, the process element parent hierarchy is serached for an appropriate exception-handler. When it is found, the actions of the exception-handler are executed
> But becaue the transaction is already marked for rollback, a call to Hibernate (lazy loading?) results in a exception:
> 7:14:29,875 INFO [DefaultLoadEventListener] Error performing load command
> org.hibernate.exception.GenericJDBCException: Cannot open connection
> at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103
> )
> at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
> at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:420)
> at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
> at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
> at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
> at org.hibernate.loader.Loader.doQuery(Loader.java:661)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
> at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2821)
> at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.jav
> a:370)
> at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:351)
> at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:122)
> at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:81)
> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:871)
> at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:829)
> at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
> at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:160)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.equals(<generated>)
> at org.jbpm.util.EqualsUtil.equals(EqualsUtil.java:30)
> at org.jbpm.graph.def.GraphElement.equals(GraphElement.java:418)
> at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$78d101e.equals(<generated>)
> at org.jbpm.graph.def.Transition.getParent(Transition.java:204)
> at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:338)
> at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
> at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
> at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
> at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
> at org.jbpm.graph.def.Transition.take(Transition.java:106)
> at org.jbpm.graph.def.Node.leave(Node.java:382)
> at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:198)
> at org.jbpm.graph.def.Node$$FastClassByCGLIB$$d187eeda.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.leave(<generated>)
> at org.jbpm.graph.exe.Token.signal(Token.java:174)
> at org.jbpm.graph.exe.Token.signal(Token.java:145)
> at org.jbpm.graph.exe.Token$$FastClassByCGLIB$$74df1c6e.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$fae2cddc.signal(<generated>)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:420)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:359)
> at org.jbpm.taskmgmt.exe.TaskInstance$$FastClassByCGLIB$$cb2c21af.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.taskmgmt.exe.TaskInstance$$EnhancerByCGLIB$$cbd8230f.end(<generated>)
> at com.camunda.toolkit.jbpm.service.AdminServicesImpl.endTask(AdminServicesImpl.java:1452)
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Commented: (JBPM-681) GraphElement.raiseException results in Exception with Java EE
by Ronald van Kuijk (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-681?page=comments#action_12370988 ]
Ronald van Kuijk commented on JBPM-681:
---------------------------------------
Or indeed commit it (but still assign a fix version to it so it will be in the releasenotes)
> GraphElement.raiseException results in Exception with Java EE
> -------------------------------------------------------------
>
> Key: JBPM-681
> URL: http://jira.jboss.com/jira/browse/JBPM-681
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM 3.1.1
> Environment: Java EE with JTA
> Reporter: Bernd Ruecker
> Assigned To: Tom Baeyens
> Priority: Critical
>
> If you
> - invoke a SessionBean in a jbpm action
> - jBPM and the SessionBean run in the same JTA transaction
> - a Exception occurs
> Then the Transaction is marked for rollback from the EJB-Container when the Exception occurs in the SessionBean.
> Now jBPM wants to handle the Exception (see http://docs.jboss.com/jbpm/v3/userguide/processmodelling.html#exceptionha...):
> When an exception occurs in a delegation class, the process element parent hierarchy is serached for an appropriate exception-handler. When it is found, the actions of the exception-handler are executed
> But becaue the transaction is already marked for rollback, a call to Hibernate (lazy loading?) results in a exception:
> 7:14:29,875 INFO [DefaultLoadEventListener] Error performing load command
> org.hibernate.exception.GenericJDBCException: Cannot open connection
> at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103
> )
> at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
> at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:420)
> at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
> at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
> at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
> at org.hibernate.loader.Loader.doQuery(Loader.java:661)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
> at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2821)
> at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.jav
> a:370)
> at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:351)
> at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:122)
> at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:81)
> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:871)
> at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:829)
> at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
> at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:160)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.equals(<generated>)
> at org.jbpm.util.EqualsUtil.equals(EqualsUtil.java:30)
> at org.jbpm.graph.def.GraphElement.equals(GraphElement.java:418)
> at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$78d101e.equals(<generated>)
> at org.jbpm.graph.def.Transition.getParent(Transition.java:204)
> at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:338)
> at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
> at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
> at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
> at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
> at org.jbpm.graph.def.Transition.take(Transition.java:106)
> at org.jbpm.graph.def.Node.leave(Node.java:382)
> at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:198)
> at org.jbpm.graph.def.Node$$FastClassByCGLIB$$d187eeda.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.leave(<generated>)
> at org.jbpm.graph.exe.Token.signal(Token.java:174)
> at org.jbpm.graph.exe.Token.signal(Token.java:145)
> at org.jbpm.graph.exe.Token$$FastClassByCGLIB$$74df1c6e.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$fae2cddc.signal(<generated>)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:420)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:359)
> at org.jbpm.taskmgmt.exe.TaskInstance$$FastClassByCGLIB$$cb2c21af.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.taskmgmt.exe.TaskInstance$$EnhancerByCGLIB$$cbd8230f.end(<generated>)
> at com.camunda.toolkit.jbpm.service.AdminServicesImpl.endTask(AdminServicesImpl.java:1452)
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Commented: (JBPM-681) GraphElement.raiseException results in Exception with Java EE
by Ronald van Kuijk (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-681?page=comments#action_12370987 ]
Ronald van Kuijk commented on JBPM-681:
---------------------------------------
Bernd, Issues that do not have a 'fix version' tend to fall of the radar (unless many people vote for it). So either assign a 'fix version' which you think is reasonable and have Tom or any other person change this or have many people vote for it.
> GraphElement.raiseException results in Exception with Java EE
> -------------------------------------------------------------
>
> Key: JBPM-681
> URL: http://jira.jboss.com/jira/browse/JBPM-681
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM 3.1.1
> Environment: Java EE with JTA
> Reporter: Bernd Ruecker
> Assigned To: Tom Baeyens
> Priority: Critical
>
> If you
> - invoke a SessionBean in a jbpm action
> - jBPM and the SessionBean run in the same JTA transaction
> - a Exception occurs
> Then the Transaction is marked for rollback from the EJB-Container when the Exception occurs in the SessionBean.
> Now jBPM wants to handle the Exception (see http://docs.jboss.com/jbpm/v3/userguide/processmodelling.html#exceptionha...):
> When an exception occurs in a delegation class, the process element parent hierarchy is serached for an appropriate exception-handler. When it is found, the actions of the exception-handler are executed
> But becaue the transaction is already marked for rollback, a call to Hibernate (lazy loading?) results in a exception:
> 7:14:29,875 INFO [DefaultLoadEventListener] Error performing load command
> org.hibernate.exception.GenericJDBCException: Cannot open connection
> at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103
> )
> at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
> at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:420)
> at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
> at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
> at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
> at org.hibernate.loader.Loader.doQuery(Loader.java:661)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
> at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2821)
> at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.jav
> a:370)
> at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:351)
> at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:122)
> at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:81)
> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:871)
> at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:829)
> at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
> at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:160)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.equals(<generated>)
> at org.jbpm.util.EqualsUtil.equals(EqualsUtil.java:30)
> at org.jbpm.graph.def.GraphElement.equals(GraphElement.java:418)
> at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$78d101e.equals(<generated>)
> at org.jbpm.graph.def.Transition.getParent(Transition.java:204)
> at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:338)
> at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
> at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
> at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
> at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
> at org.jbpm.graph.def.Transition.take(Transition.java:106)
> at org.jbpm.graph.def.Node.leave(Node.java:382)
> at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:198)
> at org.jbpm.graph.def.Node$$FastClassByCGLIB$$d187eeda.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.leave(<generated>)
> at org.jbpm.graph.exe.Token.signal(Token.java:174)
> at org.jbpm.graph.exe.Token.signal(Token.java:145)
> at org.jbpm.graph.exe.Token$$FastClassByCGLIB$$74df1c6e.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$fae2cddc.signal(<generated>)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:420)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:359)
> at org.jbpm.taskmgmt.exe.TaskInstance$$FastClassByCGLIB$$cb2c21af.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.taskmgmt.exe.TaskInstance$$EnhancerByCGLIB$$cbd8230f.end(<generated>)
> at com.camunda.toolkit.jbpm.service.AdminServicesImpl.endTask(AdminServicesImpl.java:1452)
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Resolved: (JGRP-130) Problems with reincarnation
by Bela Ban (JIRA)
[ http://jira.jboss.com/jira/browse/JGRP-130?page=all ]
Bela Ban resolved JGRP-130.
---------------------------
Resolution: Done
Rejecting a new member who wants to join under the identity of an existing member solves the reincarnation issue
> Problems with reincarnation
> ---------------------------
>
> Key: JGRP-130
> URL: http://jira.jboss.com/jira/browse/JGRP-130
> Project: JGroups
> Issue Type: Feature Request
> Affects Versions: 2.2.9
> Reporter: Bela Ban
> Assigned To: Bela Ban
> Fix For: 2.6
>
> Attachments: tcp.xml
>
>
> Problems with reincarnation
> ===========================
> Author: Bela Ban
> Version: $Id$
> The identity of a JGroups member is always the IP address and a port. The port is usually chosen by the OS, unless
> bind_port is set (not set by default).
> Let's say a member's address is hostA:5000. When that member dies and is restarted, the OS will likely assign a
> higher port, say 5002. This depends on how many other processes requested a port in between the start and restart
> of the member.
> JGroups relies on the fact that the assignment of ports by the OS is always (not necessarily monotonically)
> *increasing* across a single machine. If this is not the case, then the following problems can occur:
> 1. Restart:
> When a member P crashes and then is restarted, if FD is used and P is restarted *before* it is excluded,
> then we have a new member *under the same old address* ! Since it lost all of its state (e.g. retransmission table),
> retransmission requests sent to the new P will fail.
> 2. Shunning:
> Regarding shunning: a member keeps its last N (default is 100) ports used, and makes sure it doesn't reuse one of
> those already-used ports when it is shunned. However, this is process-wide and *not* machine-wide, e.g. when we have
> processes P1 on A:5000 and P2 on A:5002 (on machine A), and both of them are shunned at the same time,
> when they rejoin, P1 does not use port 5000, but might use port 5002, and P2 doesn't use 5002, but might use 5000, so
> they could assume each other's identity !
> Both problems cannot be solved by remembering the last 100 ports: in case #1, this list is lost because we start a
> new process and in case #2, the list is process-wide, but not machine-wide.
> Again, these problems occur *only* when the OS reuses previously assigned ports.
> SOLUTION:
> A: Use temporary storage (per host) to store the last N addresses assigned on a given host. This makes sure we
> don't reuse previous addresses
> B: Use logical addresses, such as java.rmi.VMID or java.rmi.server.UID, which are unique over time for a given host.
> Then, it doesn't matter what ports we use because the ports are not used to determine a member's identity.
> The JIRA task for logical addresses is http://jira.jboss.com/jira/browse/JGRP-129.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Commented: (JBPM-681) GraphElement.raiseException results in Exception with Java EE
by Bernd Ruecker (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-681?page=comments#action_12370983 ]
Bernd Ruecker commented on JBPM-681:
------------------------------------
I like the proposed solution from "nlebas" in the forum:
---
Simply replacing :
list name="exceptionHandlers" cascade="all"
by :
list name="exceptionHandlers" cascade="all" lazy="false"
in all hibernate mapping files (*.hbm.xml) seem to have solved the problem for me.
I can't figure out why an exception handler should be lazy-loaded anyway. It seems so unsafe...
---
Also I think it should not be a performance problem, the most projects I now don't you a lot of exception handlers.
I changed it on my machine, Tom, what do you think, commit it?
> GraphElement.raiseException results in Exception with Java EE
> -------------------------------------------------------------
>
> Key: JBPM-681
> URL: http://jira.jboss.com/jira/browse/JBPM-681
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM 3.1.1
> Environment: Java EE with JTA
> Reporter: Bernd Ruecker
> Assigned To: Tom Baeyens
> Priority: Critical
>
> If you
> - invoke a SessionBean in a jbpm action
> - jBPM and the SessionBean run in the same JTA transaction
> - a Exception occurs
> Then the Transaction is marked for rollback from the EJB-Container when the Exception occurs in the SessionBean.
> Now jBPM wants to handle the Exception (see http://docs.jboss.com/jbpm/v3/userguide/processmodelling.html#exceptionha...):
> When an exception occurs in a delegation class, the process element parent hierarchy is serached for an appropriate exception-handler. When it is found, the actions of the exception-handler are executed
> But becaue the transaction is already marked for rollback, a call to Hibernate (lazy loading?) results in a exception:
> 7:14:29,875 INFO [DefaultLoadEventListener] Error performing load command
> org.hibernate.exception.GenericJDBCException: Cannot open connection
> at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103
> )
> at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
> at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:420)
> at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
> at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
> at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
> at org.hibernate.loader.Loader.doQuery(Loader.java:661)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
> at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2821)
> at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.jav
> a:370)
> at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:351)
> at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:122)
> at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:81)
> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:871)
> at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:829)
> at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
> at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:160)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.equals(<generated>)
> at org.jbpm.util.EqualsUtil.equals(EqualsUtil.java:30)
> at org.jbpm.graph.def.GraphElement.equals(GraphElement.java:418)
> at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$78d101e.equals(<generated>)
> at org.jbpm.graph.def.Transition.getParent(Transition.java:204)
> at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:338)
> at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
> at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
> at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
> at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
> at org.jbpm.graph.def.Transition.take(Transition.java:106)
> at org.jbpm.graph.def.Node.leave(Node.java:382)
> at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:198)
> at org.jbpm.graph.def.Node$$FastClassByCGLIB$$d187eeda.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$cb896060.leave(<generated>)
> at org.jbpm.graph.exe.Token.signal(Token.java:174)
> at org.jbpm.graph.exe.Token.signal(Token.java:145)
> at org.jbpm.graph.exe.Token$$FastClassByCGLIB$$74df1c6e.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$fae2cddc.signal(<generated>)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:420)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:359)
> at org.jbpm.taskmgmt.exe.TaskInstance$$FastClassByCGLIB$$cb2c21af.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
> at org.jbpm.taskmgmt.exe.TaskInstance$$EnhancerByCGLIB$$cbd8230f.end(<generated>)
> at com.camunda.toolkit.jbpm.service.AdminServicesImpl.endTask(AdminServicesImpl.java:1452)
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months