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

        1. blueprint.log
          24 kB
          Xuefeng Xie
        2. image-2019-05-13-09-20-59-101.png
          93 kB
          Rodrigo Ottero

        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: