Pinal Shah created ATLAS-5420:
---------------------------------

             Summary: Incase of Unknown/invalid typename, notifications should 
not be retried
                 Key: ATLAS-5420
                 URL: https://issues.apache.org/jira/browse/ATLAS-5420
             Project: Atlas
          Issue Type: Improvement
            Reporter: Pinal Shah


*Description:*

If an invalid or unknown {{typeName}} is encountered during notification 
processing, we should validate it upfront and throw an exception before 
processing the notification. This would prevent the notification from being 
processed, failing later, and being unnecessarily retried.

*Logs:*
{code:java}
2026-09-24 06:27:31,201 [NotificationHookConsumer thread-0] INFO 
[NotificationHookConsumer.java:585] Message type: ENTITY_PARTIAL_UPDATE_V2
2026-09-24 06:27:31,203 [NotificationHookConsumer thread-0] INFO 
[GraphTransactionAdvisor.java:43] GraphTransaction intercept for 
org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2.updateEntity
2026-09-24 06:27:31,203 [NotificationHookConsumer thread-0] ERROR 
[GraphTransactionInterceptor.java:280] graph rollback due to exception
org.apache.atlas.exception.AtlasBaseException: trino_table: Unknown/invalid 
typename
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2.updateEntity(AtlasEntityStoreV2.java:366)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2$$FastClassBySpringCGLIB$$6861dca9.invoke(<generated>)
        at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
        at 
org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:190)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2$$EnhancerBySpringCGLIB$$a46f3b8f.updateEntity(<generated>)
        at 
org.apache.atlas.notification.SerialEntityProcessor.handleMessage(SerialEntityProcessor.java:584)
        at 
org.apache.atlas.notification.SerialEntityProcessor.handleMessage(SerialEntityProcessor.java:324)
        at 
org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.handleMessage(NotificationHookConsumer.java:587)
        at 
org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.run(NotificationHookConsumer.java:501)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840) {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to