Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-17080

CXF port unbinding issue when hot un-deploy multiple CXF RS servers

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • fuse-7.10-GA
    • fuse-7.8-GA
    • CXF, Undertow
    • None
    • % %
    • +
    • Automated
    • Hide

      two tests made:

      1. tested separating two bundles and feature, but still got same issue
      ever after deleting some feature redundant bundles, issue still persisted

      – installing feature and separate bundles

      features:addurl mvn:org.example.services/bis-camm1-features/2.0.0-SNAPSHOT/xml/features
      features:install camm1-dependencies
      install -s mvn:org.example.services/bis-camm2-service/2.0.0-SNAPSHOT
      install -s mvn:org.example.services/bis-camm1-service/2.0.0-SNAPSHOT
      

      – checking if feature and bundles active and available

      features:list | grep camm
      list -l | grep camm
      

      – uninstalling bundles

      uninstall 703
      uninstall 704
      

      --checked ports

      $ netstat -uplant | grep 929
      (Not all processes could be identified, non-owned process info
       will not be shown, you would have to be root to see it all.)
      tcp6       0      0 :::9291                 :::*                    LISTEN      1918665/java
      

      2. When installed bundles separately from feature, I still got same issue

      – removed feature and installed bundles

      features:removeurl  mvn:org.example.services/bis-camm1-features/2.0.0-SNAPSHOT/xml/features
      install -s mvn:org.example.services/bis-camm1-service/2.0.0-SNAPSHOT
      install -s mvn:org.example.services/bis-camm2-service/2.0.0-SNAPSHOT
      

      – checked bundle deployments

      list -l | grep camm
      

      --uninstalling bundles

      uninstall 728
      uninstall 729
      

      – checked ports

      $ netstat -uplant | grep 929
      (Not all processes could be identified, non-owned process info
       will not be shown, you would have to be root to see it all.)
      tcp6       0      0 :::9292                 :::*                    LISTEN      1928638/java
      
      Show
      two tests made: 1. tested separating two bundles and feature, but still got same issue ever after deleting some feature redundant bundles, issue still persisted – installing feature and separate bundles features:addurl mvn:org.example.services/bis-camm1-features/2.0.0-SNAPSHOT/xml/features features:install camm1-dependencies install -s mvn:org.example.services/bis-camm2-service/2.0.0-SNAPSHOT install -s mvn:org.example.services/bis-camm1-service/2.0.0-SNAPSHOT – checking if feature and bundles active and available features:list | grep camm list -l | grep camm – uninstalling bundles uninstall 703 uninstall 704 --checked ports $ netstat -uplant | grep 929 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp6 0 0 :::9291 :::* LISTEN 1918665/java 2. When installed bundles separately from feature, I still got same issue – removed feature and installed bundles features:removeurl mvn:org.example.services/bis-camm1-features/2.0.0-SNAPSHOT/xml/features install -s mvn:org.example.services/bis-camm1-service/2.0.0-SNAPSHOT install -s mvn:org.example.services/bis-camm2-service/2.0.0-SNAPSHOT – checked bundle deployments list -l | grep camm --uninstalling bundles uninstall 728 uninstall 729 – checked ports $ netstat -uplant | grep 929 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp6 0 0 :::9292 :::* LISTEN 1928638/java

      I have two microservices which are exposed cxf rest services.
      When I deploy install/uninstall one I get no errors.
      However, if I install both bundles and then uninstall in succession I get the error below.

      //uninstall
      2021-07-19 10:31:00,550 | WARN  | features-2-thread-1  | a.c.t.h.UndertowHTTPServerEngine | 113 - org.apache.cxf.cxf-rt-transports-http-undertow - 3.3.6.fuse-780029-redhat-00001 | Failed to shutdown Undertow server on port 9591 because it is still in use
      

      CXF information

      <?xml version="1.0" encoding="UTF-8"?>
      <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0" xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf" xmlns:cxf-core="http://cxf.apache.org/blueprint/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      	xsi:schemaLocation="    
      	http://camel.apache.org/schema/blueprint https://camel.apache.org/schema/blueprint/camel-blueprint.xsd  
        	http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd">
        	
        	
        	
      	<bean class="com.biz.interceptors.SecurityInRestInterceptor" id="bSecurityInRestInterceptor">
      		<property name="keystoreFileName" value="$(api.root.uri.settings.keystoreFileName)" />
      		<property name="keystorePassword" value="$(api.root.uri.settings.keystorePassword)" />
      		<property name="whitelistFile" value="$(api.root.uri.settings.whitelistFile)" />
      	</bean>
      	
      	
      	
      	<bean class="com.biz.SecurityException" id="securityException" />
      	<bean class="org.apache.cxf.interceptor.LoggingInInterceptor" id="loggingInInterceptor" />
      	<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" id="loggingOutInterceptor" />
      	
      	
      	<cxf-core:bus bus="cxfbus" />
      	
      	
      	
      	<cxf:rsServer address="$(api.settings.server)$(api.settings.health.service)" bus="cxfbus" id="epHealthPathnet" serviceClass="com.biz.service.common.Service">
      		<cxf:inFaultInterceptors>
      			<ref component-id="loggingInInterceptor" />
      		</cxf:inFaultInterceptors>
      		<cxf:outFaultInterceptors>
      			<ref component-id="loggingOutInterceptor" />
      		</cxf:outFaultInterceptors>
      	</cxf:rsServer>
      	
      	
      	
      	<cxf:rsServer address="$(api.settings.server)$(api.settings.service)" bus="cxfbus" id="epPathnet" serviceClass="com.biz.Service">
      		<cxf:inInterceptors>
      			<ref component-id="bSecurityInRestInterceptor" />
      			<ref component-id="loggingInInterceptor" />
      		</cxf:inInterceptors>
      		<cxf:outInterceptors>
      			<ref component-id="loggingOutInterceptor" />
      		</cxf:outInterceptors>
      		<cxf:inFaultInterceptors>
      			<ref component-id="loggingInInterceptor" />
      		</cxf:inFaultInterceptors>
      		<cxf:outFaultInterceptors>
      			<ref component-id="loggingOutInterceptor" />
      		</cxf:outFaultInterceptors>
      		<cxf:providers>
      			<ref component-id="securityException" />
      		</cxf:providers>
      	</cxf:rsServer>
      	
      </blueprint>
      

              yfang@redhat.com Freeman(Yue) Fang
              rdorobek@redhat.com Russell Dorobek
              Federico Mariani Federico Mariani
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: