[ 
https://issues.apache.org/jira/browse/ATLAS-5056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Madhan Neethiraj updated ATLAS-5056:
------------------------------------
    Description: 
Atlas uses entity framework to handle persistence of internal objects (subtypes 
of entity-type  __internal) like:
 # __AtlasMetricsStat

 # __AtlasUserSavedSearch

 # __AtlasAsyncImportRequest

 # __AtlasAuditEntry
 # __AtlasUserProfile

 # __ExportImportAuditEntry
 # AtlasGlossaryCategory
 # AtlasGlossary
 # AtlasGlossaryTerm

 

Entity audits for above entity-type instances are not used anywhere, and hence 
should not be generated to eliminate unnecessary storage and processing.

 

Here is the stack showing creation of entity audit entries for metric stats:
{noformat}
        at 
org.apache.atlas.repository.audit.EntityAuditListenerV2.onEntitiesAdded(EntityAuditListenerV2.java:105)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.notifyV2Listeners(AtlasEntityChangeNotifier.java:470)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.notifyListeners(AtlasEntityChangeNotifier.java:418)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.onEntitiesMutated(AtlasEntityChangeNotifier.java:111)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2.createOrUpdate(AtlasEntityStoreV2.java:1146)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2.createOrUpdate(AtlasEntityStoreV2.java:327)
        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$$5f0a1ca3.createOrUpdate(<generated>)
        at 
org.apache.atlas.repository.ogm.DataAccess.saveNoLoad(DataAccess.java:79)
        at org.apache.atlas.repository.ogm.DataAccess.save(DataAccess.java:61)
        at 
org.apache.atlas.services.MetricsService.saveMetricsStat(MetricsService.java:238)
        at 
org.apache.atlas.services.MetricsService$$FastClassBySpringCGLIB$$2f0577e9.invoke(<generated>)
        at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
        at 
org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)
        at 
org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
        at 
org.apache.atlas.services.MetricsService$$EnhancerBySpringCGLIB$$836ff663.saveMetricsStat(<generated>)
        at 
org.apache.atlas.web.resources.AdminResource.saveMetrics(AdminResource.java:1212)
        at 
org.apache.atlas.web.resources.AdminResource.scheduleSaveAndDeleteMetrics(AdminResource.java:439)
 {noformat}

  was:
Atlas uses entity framework to handle persistence of internal objects (subtypes 
of entity-type  __internal) like:
 # 
__AtlasMetricsStat
 # 
__AtlasUserSavedSearch
 # 
__AtlasAsyncImportRequest
 # __AtlasAuditEntry
 # 
__AtlasUserProfile
 # __ExportImportAuditEntry
 # 
AtlasGlossaryCategory
 # 
AtlasGlossary
 # 
AtlasGlossaryTerm

 

Entity audits for above entity-type instances are not used anywhere, and hence 
should not be generated to eliminate unnecessary storage and processing.

 

Here is the stack showing creation of entity audit entries for metric stats:
{noformat}
        at 
org.apache.atlas.repository.audit.EntityAuditListenerV2.onEntitiesAdded(EntityAuditListenerV2.java:105)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.notifyV2Listeners(AtlasEntityChangeNotifier.java:470)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.notifyListeners(AtlasEntityChangeNotifier.java:418)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.onEntitiesMutated(AtlasEntityChangeNotifier.java:111)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2.createOrUpdate(AtlasEntityStoreV2.java:1146)
        at 
org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2.createOrUpdate(AtlasEntityStoreV2.java:327)
        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$$5f0a1ca3.createOrUpdate(<generated>)
        at 
org.apache.atlas.repository.ogm.DataAccess.saveNoLoad(DataAccess.java:79)
        at org.apache.atlas.repository.ogm.DataAccess.save(DataAccess.java:61)
        at 
org.apache.atlas.services.MetricsService.saveMetricsStat(MetricsService.java:238)
        at 
org.apache.atlas.services.MetricsService$$FastClassBySpringCGLIB$$2f0577e9.invoke(<generated>)
        at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
        at 
org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)
        at 
org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
        at 
org.apache.atlas.services.MetricsService$$EnhancerBySpringCGLIB$$836ff663.saveMetricsStat(<generated>)
        at 
org.apache.atlas.web.resources.AdminResource.saveMetrics(AdminResource.java:1212)
        at 
org.apache.atlas.web.resources.AdminResource.scheduleSaveAndDeleteMetrics(AdminResource.java:439)
 {noformat}


> Entity audit should not be created for instances of internal entity-types
> -------------------------------------------------------------------------
>
>                 Key: ATLAS-5056
>                 URL: https://issues.apache.org/jira/browse/ATLAS-5056
>             Project: Atlas
>          Issue Type: Improvement
>          Components:  atlas-core
>            Reporter: Madhan Neethiraj
>            Priority: Major
>
> Atlas uses entity framework to handle persistence of internal objects 
> (subtypes of entity-type  __internal) like:
>  # __AtlasMetricsStat
>  # __AtlasUserSavedSearch
>  # __AtlasAsyncImportRequest
>  # __AtlasAuditEntry
>  # __AtlasUserProfile
>  # __ExportImportAuditEntry
>  # AtlasGlossaryCategory
>  # AtlasGlossary
>  # AtlasGlossaryTerm
>  
> Entity audits for above entity-type instances are not used anywhere, and 
> hence should not be generated to eliminate unnecessary storage and processing.
>  
> Here is the stack showing creation of entity audit entries for metric stats:
> {noformat}
>         at 
> org.apache.atlas.repository.audit.EntityAuditListenerV2.onEntitiesAdded(EntityAuditListenerV2.java:105)
>         at 
> org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.notifyV2Listeners(AtlasEntityChangeNotifier.java:470)
>         at 
> org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.notifyListeners(AtlasEntityChangeNotifier.java:418)
>         at 
> org.apache.atlas.repository.store.graph.v2.AtlasEntityChangeNotifier.onEntitiesMutated(AtlasEntityChangeNotifier.java:111)
>         at 
> org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2.createOrUpdate(AtlasEntityStoreV2.java:1146)
>         at 
> org.apache.atlas.repository.store.graph.v2.AtlasEntityStoreV2.createOrUpdate(AtlasEntityStoreV2.java:327)
>         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$$5f0a1ca3.createOrUpdate(<generated>)
>         at 
> org.apache.atlas.repository.ogm.DataAccess.saveNoLoad(DataAccess.java:79)
>         at org.apache.atlas.repository.ogm.DataAccess.save(DataAccess.java:61)
>         at 
> org.apache.atlas.services.MetricsService.saveMetricsStat(MetricsService.java:238)
>         at 
> org.apache.atlas.services.MetricsService$$FastClassBySpringCGLIB$$2f0577e9.invoke(<generated>)
>         at 
> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
>         at 
> org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)
>         at 
> org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)
>         at 
> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
>         at 
> org.apache.atlas.services.MetricsService$$EnhancerBySpringCGLIB$$836ff663.saveMetricsStat(<generated>)
>         at 
> org.apache.atlas.web.resources.AdminResource.saveMetrics(AdminResource.java:1212)
>         at 
> org.apache.atlas.web.resources.AdminResource.scheduleSaveAndDeleteMetrics(AdminResource.java:439)
>  {noformat}



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

Reply via email to