[ 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: # __AtlasAsyncImportRequest # __AtlasAuditEntry # __AtlasMetricsStat # __AtlasUserSavedSearch # __AtlasUserProfile # __ExportImportAuditEntry # AtlasGlossary # AtlasGlossaryCategory # 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: > # __AtlasAsyncImportRequest > # __AtlasAuditEntry > # __AtlasMetricsStat > # __AtlasUserSavedSearch > # __AtlasUserProfile > # __ExportImportAuditEntry > # AtlasGlossary > # AtlasGlossaryCategory > # 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)