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

so gRPC client exception handling

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • High
    • Resolution: Done
    • Dublin Release
    • Dublin Release

    Description

      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
      

      Attachments

        Issue Links

          # Subject Branch Project Status CR V

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: