This is an automated email from the ASF dual-hosted git repository.
amestry 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 668adda ATLAS-3649: Table-level Imports: Deleting Tables Differing By
Requests Fails
668adda is described below
commit 668addac196bafcea7f10f19ef74428f74f778fd
Author: Ashutosh Mestry <[email protected]>
AuthorDate: Wed Mar 4 12:23:11 2020 -0800
ATLAS-3649: Table-level Imports: Deleting Tables Differing By Requests Fails
---
.../impexp/TableReplicationRequestProcessor.java | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git
a/repository/src/main/java/org/apache/atlas/repository/impexp/TableReplicationRequestProcessor.java
b/repository/src/main/java/org/apache/atlas/repository/impexp/TableReplicationRequestProcessor.java
index d5807a5..1757cb7 100644
---
a/repository/src/main/java/org/apache/atlas/repository/impexp/TableReplicationRequestProcessor.java
+++
b/repository/src/main/java/org/apache/atlas/repository/impexp/TableReplicationRequestProcessor.java
@@ -45,7 +45,7 @@ import java.util.HashSet;
public class TableReplicationRequestProcessor {
private static final Logger LOG =
LoggerFactory.getLogger(TableReplicationRequestProcessor.class);
- private static final String QUERY_DB_NAME_EQUALS= "where db.name='%s'";
+ private static final String QUERY_DB_NAME_EQUALS = "qualifiedName
startsWith '%s'";
private static final String ATTR_NAME_KEY = "name";
private static final String TYPE_HIVE_TABLE = "hive_table";
private static final String ATTR_QUALIFIED_NAME_KEY = "qualifiedName";
@@ -83,7 +83,7 @@ public class TableReplicationRequestProcessor {
deleteTables(sourceCluster, guidsToDelete);
}
- private List<String> getQualifiedNamesFromRequest(AtlasExportRequest
exportRequest){
+ private List<String> getQualifiedNamesFromRequest(AtlasExportRequest
exportRequest) {
List<String> qualifiedNames = new ArrayList<>();
for (AtlasObjectId objectId : exportRequest.getItemsToExport()) {
@@ -95,7 +95,7 @@ public class TableReplicationRequestProcessor {
private List<String> getEntitiesFromQualifiedNames(List<String>
qualifiedNames) throws AtlasBaseException {
List<String> safeGUIDs = new ArrayList<>();
- for(String qualifiedName : qualifiedNames) {
+ for (String qualifiedName : qualifiedNames) {
String guid =
getGuidByUniqueAttributes(Collections.singletonMap(ATTR_QUALIFIED_NAME_KEY,
qualifiedName));
safeGUIDs.add(guid);
}
@@ -133,9 +133,18 @@ public class TableReplicationRequestProcessor {
if (CollectionUtils.isEmpty(searchResult.getEntities())) {
break;
+ } else {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("getGuidsToDelete: {}",
searchResult.getApproximateCount());
+ }
}
+ String classificationName = String.format(REPLICATED_TAG_NAME,
sourceCluster);
for (AtlasEntityHeader entityHeader : searchResult.getEntities()) {
+ if
(!entityHeader.getClassificationNames().contains(classificationName)) {
+ continue;
+ }
+
String guid = entityHeader.getGuid();
if (!excludeGUIDs.contains(guid)) {
unsafeGUIDs.add(guid);
@@ -155,8 +164,7 @@ public class TableReplicationRequestProcessor {
parameters.setTypeName(TYPE_HIVE_TABLE);
parameters.setExcludeDeletedEntities(true);
- parameters.setClassification(String.format(REPLICATED_TAG_NAME,
sourceCluster));
- parameters.setAttributes(new HashSet<String>(){{
add(AtlasImportRequest.OPTION_KEY_REPLICATED_FROM); }});
+ parameters.setAttributes(new HashSet<String>() {{
add(AtlasImportRequest.OPTION_KEY_REPLICATED_FROM); }});
parameters.setQuery(query);
return parameters;