This is an automated email from the ASF dual-hosted git repository.

pinal pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git


The following commit(s) were added to refs/heads/master by this push:
     new f4f9d6233 ATLAS-4838 : Export/Import : changeMarker is not set to 
entity's lastupdatetime or its closer timestamp value
f4f9d6233 is described below

commit f4f9d623301d49426470ff38d6a4a60ce5fc014d
Author: priyanshi-freestoneinfotech <priyanshi.s...@freestoneinfotech.com>
AuthorDate: Wed Mar 27 17:13:19 2024 +0530

    ATLAS-4838 : Export/Import : changeMarker is not set to entity's 
lastupdatetime or its closer timestamp value
    
    Signed-off-by: Pinal Shah <pinal.s...@freestoneinfotech.com>
---
 .../atlas/repository/patches/AtlasPatchManager.java       |  5 +++++
 .../org/apache/atlas/web/resources/AdminResource.java     | 15 +++++++++++----
 .../java/org/apache/atlas/web/service/EmbeddedServer.java |  4 ++++
 .../java/org/apache/atlas/web/service/ServiceState.java   |  3 +++
 4 files changed, 23 insertions(+), 4 deletions(-)

diff --git 
a/repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java
 
b/repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java
index e72a87713..c41b75dc3 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java
@@ -18,6 +18,7 @@
 
 package org.apache.atlas.repository.patches;
 
+import org.apache.atlas.RequestContext;
 import org.apache.atlas.model.patches.AtlasPatch.AtlasPatches;
 import org.apache.atlas.model.patches.AtlasPatch.PatchStatus;
 import org.apache.atlas.repository.graph.GraphBackedSearchIndexer;
@@ -77,8 +78,12 @@ public class AtlasPatchManager {
             }
         } catch (Exception ex) {
             LOG.error("Error applying patches.", ex);
+        } finally {
+            // After all the patches are applied, we are clearing the request 
created at time of applying all the patches.
+            RequestContext.clear();
         }
 
+
         LOG.info("<== AtlasPatchManager.applyAll()");
     }
 
diff --git 
a/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java 
b/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java
index 0025276bb..3a7777a24 100755
--- a/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java
+++ b/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java
@@ -91,6 +91,7 @@ import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
+import org.apache.atlas.RequestContext;
 
 import javax.inject.Inject;
 import javax.inject.Singleton;
@@ -450,11 +451,17 @@ public class AdminResource {
             LOG.debug("==> AdminResource.scheduleSaveAndDeleteMetrics()");
         }
 
-        // auto persist
-        saveMetrics();
+        try {
+            // auto persist
+            saveMetrics();
+
+            // auto purge
+            metricsService.purgeMetricsStats();
+        } finally {
+            // After collecting metrics at regular intervals the request 
created is now cleared.
+            RequestContext.clear();
+        }
 
-        // auto purge
-        metricsService.purgeMetricsStats();
 
         if (LOG.isDebugEnabled()) {
             LOG.debug("<== AdminResource.scheduleSaveAndDeleteMetrics()");
diff --git 
a/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java 
b/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java
index 4c3a1c569..b8685462a 100755
--- a/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java
+++ b/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java
@@ -20,6 +20,7 @@ package org.apache.atlas.web.service;
 
 import org.apache.atlas.AtlasConfiguration;
 import org.apache.atlas.AtlasErrorCode;
+import org.apache.atlas.RequestContext;
 import org.apache.atlas.util.BeanUtil;
 import org.apache.atlas.exception.AtlasBaseException;
 import org.apache.atlas.model.audit.AtlasAuditEntry;
@@ -138,6 +139,9 @@ public class EmbeddedServer {
                 
auditService.add(AtlasAuditEntry.AuditOperation.SERVER_STATE_ACTIVE, date, 
date, null, null, 0);
             } catch (AtlasBaseException e) {
                 LOG.error("Exception occurred during audit", e);
+            } finally {
+                // After server related audits are added, the request created 
and now cleared here.
+                RequestContext.clear();
             }
         }
     }
diff --git 
a/webapp/src/main/java/org/apache/atlas/web/service/ServiceState.java 
b/webapp/src/main/java/org/apache/atlas/web/service/ServiceState.java
index ea74d21ad..fe55fe010 100644
--- a/webapp/src/main/java/org/apache/atlas/web/service/ServiceState.java
+++ b/webapp/src/main/java/org/apache/atlas/web/service/ServiceState.java
@@ -106,6 +106,9 @@ public class ServiceState {
                 
auditService.add(AtlasAuditEntry.AuditOperation.SERVER_STATE_ACTIVE, date, 
date, null, null, 0);
             } catch (AtlasBaseException e) {
                 LOG.error("Exception occurred during audit", e);
+            } finally {
+                // In HA environment, after the server related audits are 
added, the request created are now cleared.
+                RequestContext.clear();
             }
         }
     }

Reply via email to