Uploaded image for project: 'Service Orchestrator'
  1. Service Orchestrator
  2. SO-1857

so gRPC client exception handling

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: High High
    • Dublin Release
    • Dublin Release

      As observed in e2e testing, so-bpmn-infra(gPRC client) got exception from the server, however the workflow is not throwing exception and as an consequence, the workflow runs ok. e.g,


      // exception and workflow log
      2019-05-08T15:34:45.704Z|| org.onap.so.client.cds.CDSProcessingClient - CDSProcessingClient started                                                                                                                                          
      2019-05-08T15:34:45.705Z|| org.onap.so.client.cds.CDSProcessingHandler - Processing blueprint(1.0.0:configuration_over_restconf) for action(1.0.0)                                                          
      2019-05-08T15:34:45.817Z|| o.onap.so.client.cds.AbstractCDSProcessingBBUtils - Failed processing blueprint Status{code=INTERNAL, description=lateinit property payload has not been initialized, cause=null}                                 
      io.grpc.StatusRuntimeException: INTERNAL: lateinit property payload has not been initialized                                                                                                                                                 
              at io.grpc.Status.asRuntimeException(Status.java:530)                                                                                                                                              
              at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:434)                                                                                                                                        
              at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)                                                                                                                                  
              at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)                                                                                                                                                
              at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)                                                                                                             
              at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:694)                                                                                                                                 
              at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)                                                                                                                                  
              at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)                                                                                                                                                
              at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)                                                                                                             
              at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:397)                                                                                                                           
              at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:459)                                                           
              at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63)                                                                                                                                                                
              at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:546)                                                                                                          
              at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:467)                                                                                                     
              at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:584)                                                                                                     
              at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)                                                        
              at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)                                 
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)                 
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)                                                                    
              at java.lang.Thread.run(Thread.java:748)                                                                                                              
      2019-05-08T15:34:45.825Z|| org.onap.so.client.cds.CDSProcessingClient - CDSProcessingClient stopped                                                           
      2019-05-08T15:34:45.925Z|| o.o.so.bpmn.vcpe.scripts.CreateVcpeResCustService - <aetgt:MsoCompletionRequest xmlns:aetgt="http://org.onap/so/workflow/schema/v1"
                                  xmlns:ns="http://org.onap/so/request/types/v1"                                                                                         
                                  xmlns:w1aaan0="http://org.onap/so/infra/vnf-request/v1">                                                                                                                                                         
         <w1aaan0:request-info>                                                                                                                                                           
            <w1aaan0:request-id>5fbff3e0-e0ef-4c7b-b8c5-5b1818589e4e</w1aaan0:request-id>                                                                           
            <w1aaan0:action>CREATE</w1aaan0:action>                                                             
            <w1aaan0:source>VID</w1aaan0:source>                                                                
         </w1aaan0:request-info>                                                                                                                                    
         <status-message>Service Instance has been created successfully via macro orchestration</status-message>             
         <serviceInstanceId>3994fbfa-1c93-4ca9-b9ac-c7676e5b239a</serviceInstanceId>                                             
         <mso-bpel-name>BPMN macro create</mso-bpel-name>                                                                                                           
      </aetgt:MsoCompletionRequest>                                                                                                                                                                                                                
      2019-05-08T15:34:45.926Z|| o.o.so.bpmn.vcpe.scripts.CreateVcpeResCustService -  SUCCESS flow, going to CompleteMsoProcess -                                                                                                                  
      <aetgt:MsoCompletionRequest xmlns:aetgt="http://org.onap/so/workflow/schema/v1"                                            
                                  xmlns:ns="http://org.onap/so/request/types/v1"                                                                                                                                                                   
                                  xmlns:w1aaan0="http://org.onap/so/infra/vnf-request/v1">                                                                                                 
         <w1aaan0:request-info>                                                                                                                                                                                                                    
            <w1aaan0:request-id>5fbff3e0-e0ef-4c7b-b8c5-5b1818589e4e</w1aaan0:request-id>                                                                                                     
            <w1aaan0:action>CREATE</w1aaan0:action>                                                                                                                                         
            <w1aaan0:source>VID</w1aaan0:source>                                                                                                                                                                         
         </w1aaan0:request-info>                                                                                                                              
         <status-message>Service Instance has been created successfully via macro orchestration</status-message>                                                
         <serviceInstanceId>3994fbfa-1c93-4ca9-b9ac-c7676e5b239a</serviceInstanceId>                                                                                      
         <mso-bpel-name>BPMN macro create</mso-bpel-name>                                                                                                           
      </aetgt:MsoCompletionRequest>                                                                                                                                                              
      2019-05-08T15:34:46.033Z|| org.onap.so.bpmn.common.scripts.MsoUtils - Entered SetSuccessIndicator Method           

      It would be better to handle the exception from gPRC server and fail the workflow. IMO, the following class need to be refactored,

      AbstractCDSProcessingBBUtils
      

            eeginux eeginux
            eeginux eeginux
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: