Bug 780628 (SOA-3068)

Summary: UDDI registration problem - seen approx 30% of the time - when hotdeploying Riftsaw BPEL process .jar over an existing jar
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Len DiMaggio <ldimaggi>
Component: riftsawAssignee: Kurt Stam <kurt.stam>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.1.0 GACC: gary.pi4tech, kurt.stam, ldimaggi
Target Milestone: ---   
Target Release: 5.2.0 GA, 5.2.0.ER5   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-3068
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
SOA-P 5.1 GA
Last Closed: 2011-10-24 18:13:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
server.log none

Description Len DiMaggio 2011-05-13 16:21:34 UTC
Steps to Reproduce: Deploy bpel_hellowworld - then deploy again. 
project_key: SOA

Seeing this problem intermittently - about 3 times in 10 - if a Riftsaw BPEL process .jar is deployed over an existing .jar.

======================================

2011-05-13 11:04:54,331 ERROR [org.apache.ode.store.ProcessStoreImpl] (Thread-27) Deploy failed; Deployment Unit "Quickstart_bpel_hello_world-1" already deployed!
2011-05-13 11:04:54,331 ERROR [org.apache.ode.store.RiftSawProcessStore] (Thread-27) Unknown error
org.apache.ode.bpel.iapi.ContextException: Deploy failed; Deployment Unit "Quickstart_bpel_hello_world-1" already deployed!
	at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:213)
	at org.apache.ode.store.RiftSawProcessStore$DeployScheduler.doDeploy(RiftSawProcessStore.java:176)
	at org.apache.ode.store.RiftSawProcessStore$DeployScheduler.run(RiftSawProcessStore.java:103)

======================================

2011-05-13 11:25:36,607 ERROR [org.apache.juddi.v3.client.config.UDDIClerk] (Thread-28) Unable to register service HelloService .null
2011-05-13 11:47:50,725 ERROR [org.apache.juddi.v3.client.config.UDDIClerk] (Thread-28) Unable to register service HelloService .null
2011-05-13 11:56:21,727 ERROR [org.apache.juddi.v3.client.config.UDDIClerk] (Thread-28) Unable to register service HelloService .null

Comment 2 Len DiMaggio 2011-05-13 16:24:52 UTC
Attachment: Added: server.log


Comment 3 Gary Brown 2011-06-15 17:48:14 UTC
In response to Len's comment, yes the way in which services are registered in UDDI has been rewritten and is almost working - so once this is ready it would be good if Len can retest to see if the problem still occurs.


Comment 4 David Le Sage 2011-07-15 05:54:36 UTC
Release Notes Docs Status: Added: Not Yet Documented
Writer: Added: dlesage


Comment 5 Gary Brown 2011-07-15 08:16:21 UTC
Len, could you retest this with 5.2.DEV2, as the uddi integration has changed significantly from 5.1.GA.

Comment 6 Douglas Palmer 2011-09-09 22:47:08 UTC
I tried hot redeploying the bpel hello world quickstart 30 times and didn't see any errors; so I think this is fixed.

Comment 7 Len DiMaggio 2011-09-26 19:12:40 UTC
With ER8 - started seeing this after a few (7-8) hot redeployments:

2011-09-26 15:08:01,952 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (Timer-2) Interceptor for {urn:uddi-org:v3_service}UDDI_Service#{urn:uddi-org:subr_v3_portType}notify_subscriptionListener has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
	at $Proxy590.notifySubscriptionListener(Unknown Source)
	at org.apache.juddi.subscription.notify.HTTPNotifier.notifySubscriptionListener(HTTPNotifier.java:54)
	at org.apache.juddi.subscription.SubscriptionNotifier.notify(SubscriptionNotifier.java:332)
	at org.apache.juddi.subscription.SubscriptionNotifier.run(SubscriptionNotifier.java:147)
	at java.util.TimerThread.mainLoop(Timer.java:534)
	at java.util.TimerThread.run(Timer.java:484)
Caused by: java.io.IOException: IOException invoking http://127.0.0.1:8080///subscriptionlistener_riftsaw-manager: HTTP response '404: Not Found'
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:2191)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2176)
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:695)
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
	... 12 more
Caused by: java.io.IOException: HTTP response '404: Not Found'
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2338)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2278)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2121)
	... 15 more
2011-09-26 15:08:01,958 ERROR [org.apache.juddi.subscription.SubscriptionNotifier] (Timer-2) Could not send Message.
javax.xml.ws.WebServiceException: Could not send Message.
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
	at $Proxy590.notifySubscriptionListener(Unknown Source)
	at org.apache.juddi.subscription.notify.HTTPNotifier.notifySubscriptionListener(HTTPNotifier.java:54)
	at org.apache.juddi.subscription.SubscriptionNotifier.notify(SubscriptionNotifier.java:332)
	at org.apache.juddi.subscription.SubscriptionNotifier.run(SubscriptionNotifier.java:147)
	at java.util.TimerThread.mainLoop(Timer.java:534)
	at java.util.TimerThread.run(Timer.java:484)
Caused by: java.io.IOException: IOException invoking http://127.0.0.1:8080///subscriptionlistener_riftsaw-manager: HTTP response '404: Not Found'
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:2191)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2176)
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:695)
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
	... 6 more
Caused by: java.io.IOException: HTTP response '404: Not Found'
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2338)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2278)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2121)
	... 15 more



for a in {1..30} ; do ant deploy; sleep 30; echo " $a "; done


Comment 8 Gary Brown 2011-09-27 08:28:56 UTC
Hi Kurt - could you have a look at this, seems to be a problem in one of the juddi services?


Comment 9 Kurt Stam 2011-09-27 15:07:06 UTC
Sure I will take a look. So to be clear: The first issue is resolved but the subscription notifier now seems to an issue reaching its notification address of 'http://127.0.0.1:8080///subscriptionlistener_riftsaw-manager'. Len can you check this URL is a valid notification endpoint when the server comes up? I will go get ER8 and try to reproduce. If I am correct then this will not affect deployment/undeployment of the service. So maybe we should open another jira for this since the title is now misleading?

Comment 10 Gary Brown 2011-09-27 15:20:37 UTC
Yes the original problem seems to have been fixed.

Just noticed the URL has three '/' characters after the 8080 - where is the URL configured?

Len also recently reported https://issues.jboss.org/browse/SOA-3395, which results in a similar stack trace on undeployment, so you may want to close this one and continue with 3395 instead.

Comment 11 Kurt Stam 2011-09-27 15:51:06 UTC
Yes SOA-3395 seems to be the same issue. So if the original problem is fixed, as you say, then we should close this one.

Comment 12 David Le Sage 2011-09-27 23:52:58 UTC
Release Notes Docs Status: Removed: Not Yet Documented Added: Not Required


Comment 13 Douglas Palmer 2011-10-04 14:25:17 UTC
Fixed in juddi 3.1.2, will be included in ER5.

Comment 14 Len DiMaggio 2011-10-24 18:13:54 UTC
Verified in ER5.