Uploaded image for project: 'Subscription Watch'
  1. Subscription Watch
  2. SWATCH-2783

Do not log the exception when trying to sync SKU, which is in denylist or not found in upstream

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Undefined Undefined
    • 2024-08-13- API
    • None
    • None
    • None

      Recently when we changed the error-code on https://github.com/RedHatInsights/rhsm-subscriptions/pull/3560, we started logging exceptions in logs.

      These could be warnings without traceback to avoid noise in logs.

      Reproducer:

      Environment : ALL

      Hit  /internal/rpc/offerings/sync/{sku} for sku which is denylist or not available in upstream and see the traceback in logs.

       

                                                                        
                                                                              
                                                                                                                       exception:                                                                                            {"detailMessage":"Seek to current after exception","exceptionClass":"org.springframework.kafka.KafkaException","fileName":"SeekUtils.java","methodName":"seekOrRecover","lineNumber":"227"}                                                                                                            
      
      logger:                                                                                            org.springframework.kafka.listener.KafkaMessageListenerContainer                                                                                                            
      message:                                                                                            2024-08-02T02:43:33.547+0000 [thread=offering-worker-0-C-1] [level=ERROR] [category=org.springframework.kafka.listener.KafkaMessageListenerContainer]  - Error handler threw an exception
      org.springframework.kafka.KafkaException: Seek to current after exception
      	at org.springframework.kafka.listener.SeekUtils.seekOrRecover(SeekUtils.java:227)
      	at org.springframework.kafka.listener.DefaultErrorHandler.handleRemaining(DefaultErrorHandler.java:168)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeErrorHandler(KafkaMessageListenerContainer.java:2836)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.lambda$doInvokeRecordListener$53(KafkaMessageListenerContainer.java:2713)
      	at io.micrometer.observation.Observation.observe(Observation.java:565)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2699)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2541)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2430)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2085)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1461)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1426)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1296)
      	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
      	at java.base/java.lang.Thread.run(Thread.java:840)
      Caused by: org.springframework.kafka.listener.ListenerExecutionFailedException: Listener method 'public void org.candlepin.subscriptions.product.OfferingWorker.receive(org.candlepin.subscriptions.product.OfferingSyncTask)' threw exception
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.decorateException(KafkaMessageListenerContainer.java:2869)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2814)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2778)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.lambda$doInvokeRecordListener$53(KafkaMessageListenerContainer.java:2701)
      	... 10 common frames omitted
      	Suppressed: org.springframework.kafka.listener.ListenerExecutionFailedException: Restored Stack Trace
      		at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:435)
      		at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:384)
      		at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:85)
      		at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)
      		at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2800)
      Caused by: jakarta.ws.rs.NotFoundException: Was not found upstream, did not sync
      	at org.candlepin.subscriptions.product.OfferingSyncController.syncOffering(OfferingSyncController.java:125)
      	at jdk.internal.reflect.GeneratedMethodAccessor249.invoke(Unknown Source)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
      	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
      	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
      	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
      	at org.candlepin.subscriptions.product.OfferingSyncController$$SpringCGLIB$$0.syncOffering(<generated>)
      	at org.candlepin.subscriptions.product.OfferingWorker.receive(OfferingWorker.java:69)
      	at jdk.internal.reflect.GeneratedMethodAccessor248.invoke(Unknown Source)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
      	at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169)
      	at org.springframework.kafka.listener.adapter.KotlinAwareInvocableHandlerMethod.doInvoke(KotlinAwareInvocableHandlerMethod.java:45)
      	at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119)
      	at org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:70)
      	at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:420)
      	at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:384)
      	at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:85)
      	at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:50)
      	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2800)
      	... 12 common frames omitted
                                                                                                                  
      severity:                                                                                            ERROR                                                                                                            
      thread:                                                                                            offering-worker-0-C-1                                                                                                                                            
                                              } 

              jcarvaja@redhat.com Jose Carvajal Hilario
              rhn-support-nkathole Nikhil Kathole
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: