Commit 34d235f3 by Madhan Neethiraj

ATLAS-1471: avoid unnecessary overhead in debug log calls

parent 9c0c46db
...@@ -79,8 +79,11 @@ public abstract class DeleteHandler { ...@@ -79,8 +79,11 @@ public abstract class DeleteHandler {
String guid = GraphHelper.getGuid(instanceVertex); String guid = GraphHelper.getGuid(instanceVertex);
Id.EntityState state = GraphHelper.getState(instanceVertex); Id.EntityState state = GraphHelper.getState(instanceVertex);
if (requestContext.getDeletedEntityIds().contains(guid) || state == Id.EntityState.DELETED) { if (requestContext.getDeletedEntityIds().contains(guid) || state == Id.EntityState.DELETED) {
LOG.debug("Skipping deletion of {} as it is already deleted", guid); if (LOG.isDebugEnabled()) {
continue; LOG.debug("Skipping deletion of {} as it is already deleted", guid);
}
continue;
} }
// Get GUIDs and vertices for all deletion candidates. // Get GUIDs and vertices for all deletion candidates.
...@@ -131,13 +134,19 @@ public abstract class DeleteHandler { ...@@ -131,13 +134,19 @@ public abstract class DeleteHandler {
* @throws AtlasException * @throws AtlasException
*/ */
protected void deleteTypeVertex(AtlasVertex instanceVertex, boolean force) throws AtlasException { protected void deleteTypeVertex(AtlasVertex instanceVertex, boolean force) throws AtlasException {
LOG.debug("Deleting {}", string(instanceVertex)); if (LOG.isDebugEnabled()) {
LOG.debug("Deleting {}", string(instanceVertex));
}
String typeName = GraphHelper.getTypeName(instanceVertex); String typeName = GraphHelper.getTypeName(instanceVertex);
IDataType type = typeSystem.getDataType(IDataType.class, typeName); IDataType type = typeSystem.getDataType(IDataType.class, typeName);
FieldMapping fieldMapping = getFieldMapping(type); FieldMapping fieldMapping = getFieldMapping(type);
for (AttributeInfo attributeInfo : fieldMapping.fields.values()) { for (AttributeInfo attributeInfo : fieldMapping.fields.values()) {
LOG.debug("Deleting attribute {} for {}", attributeInfo.name, string(instanceVertex)); if (LOG.isDebugEnabled()) {
LOG.debug("Deleting attribute {} for {}", attributeInfo.name, string(instanceVertex));
}
String edgeLabel = GraphHelper.getEdgeLabel(type, attributeInfo); String edgeLabel = GraphHelper.getEdgeLabel(type, attributeInfo);
switch (attributeInfo.dataType().getTypeCategory()) { switch (attributeInfo.dataType().getTypeCategory()) {
...@@ -200,7 +209,10 @@ public abstract class DeleteHandler { ...@@ -200,7 +209,10 @@ public abstract class DeleteHandler {
*/ */
public boolean deleteEdgeReference(AtlasEdge edge, DataTypes.TypeCategory typeCategory, boolean isComposite, public boolean deleteEdgeReference(AtlasEdge edge, DataTypes.TypeCategory typeCategory, boolean isComposite,
boolean forceDeleteStructTrait) throws AtlasException { boolean forceDeleteStructTrait) throws AtlasException {
LOG.debug("Deleting {}", string(edge)); if (LOG.isDebugEnabled()) {
LOG.debug("Deleting {}", string(edge));
}
boolean forceDelete = boolean forceDelete =
(typeCategory == DataTypes.TypeCategory.STRUCT || typeCategory == DataTypes.TypeCategory.TRAIT) && forceDeleteStructTrait; (typeCategory == DataTypes.TypeCategory.STRUCT || typeCategory == DataTypes.TypeCategory.TRAIT) && forceDeleteStructTrait;
if (typeCategory == DataTypes.TypeCategory.STRUCT || typeCategory == DataTypes.TypeCategory.TRAIT if (typeCategory == DataTypes.TypeCategory.STRUCT || typeCategory == DataTypes.TypeCategory.TRAIT
...@@ -247,7 +259,9 @@ public abstract class DeleteHandler { ...@@ -247,7 +259,9 @@ public abstract class DeleteHandler {
protected void deleteVertex(AtlasVertex instanceVertex, boolean force) throws AtlasException { protected void deleteVertex(AtlasVertex instanceVertex, boolean force) throws AtlasException {
//Update external references(incoming edges) to this vertex //Update external references(incoming edges) to this vertex
LOG.debug("Setting the external references to {} to null(removing edges)", string(instanceVertex)); if (LOG.isDebugEnabled()) {
LOG.debug("Setting the external references to {} to null(removing edges)", string(instanceVertex));
}
for (AtlasEdge edge : (Iterable<AtlasEdge>) instanceVertex.getEdges(AtlasEdgeDirection.IN)) { for (AtlasEdge edge : (Iterable<AtlasEdge>) instanceVertex.getEdges(AtlasEdgeDirection.IN)) {
Id.EntityState edgeState = GraphHelper.getState(edge); Id.EntityState edgeState = GraphHelper.getState(edge);
...@@ -271,8 +285,11 @@ public abstract class DeleteHandler { ...@@ -271,8 +285,11 @@ public abstract class DeleteHandler {
* @throws AtlasException * @throws AtlasException
*/ */
protected void deleteEdgeBetweenVertices(AtlasVertex outVertex, AtlasVertex inVertex, String attributeName) throws AtlasException { protected void deleteEdgeBetweenVertices(AtlasVertex outVertex, AtlasVertex inVertex, String attributeName) throws AtlasException {
LOG.debug("Removing edge from {} to {} with attribute name {}", string(outVertex), string(inVertex), if (LOG.isDebugEnabled()) {
attributeName); LOG.debug("Removing edge from {} to {} with attribute name {}", string(outVertex), string(inVertex),
attributeName);
}
String typeName = GraphHelper.getTypeName(outVertex); String typeName = GraphHelper.getTypeName(outVertex);
String outId = GraphHelper.getGuid(outVertex); String outId = GraphHelper.getGuid(outVertex);
Id.EntityState state = GraphHelper.getState(outVertex); Id.EntityState state = GraphHelper.getState(outVertex);
...@@ -331,8 +348,11 @@ public abstract class DeleteHandler { ...@@ -331,8 +348,11 @@ public abstract class DeleteHandler {
//if composite attribute, remove the reference as well. else, just remove the edge //if composite attribute, remove the reference as well. else, just remove the edge
//for example, when table is deleted, process still references the table //for example, when table is deleted, process still references the table
//but when column is deleted, table will not reference the deleted column //but when column is deleted, table will not reference the deleted column
LOG.debug("Removing edge {} from the array attribute {}", string(elementEdge), if (LOG.isDebugEnabled()) {
attributeName); LOG.debug("Removing edge {} from the array attribute {}", string(elementEdge),
attributeName);
}
elements.remove(elementEdge.getId().toString()); elements.remove(elementEdge.getId().toString());
GraphHelper.setProperty(outVertex, propertyName, elements); GraphHelper.setProperty(outVertex, propertyName, elements);
break; break;
...@@ -367,8 +387,11 @@ public abstract class DeleteHandler { ...@@ -367,8 +387,11 @@ public abstract class DeleteHandler {
if (shouldUpdateReverseAttribute) { if (shouldUpdateReverseAttribute) {
//remove this key //remove this key
LOG.debug("Removing edge {}, key {} from the map attribute {}", string(mapEdge), key, if (LOG.isDebugEnabled()) {
attributeName); LOG.debug("Removing edge {}, key {} from the map attribute {}", string(mapEdge), key,
attributeName);
}
keys.remove(key); keys.remove(key);
GraphHelper.setProperty(outVertex, propertyName, keys); GraphHelper.setProperty(outVertex, propertyName, keys);
GraphHelper.setProperty(outVertex, keyPropertyName, null); GraphHelper.setProperty(outVertex, keyPropertyName, null);
...@@ -426,7 +449,11 @@ public abstract class DeleteHandler { ...@@ -426,7 +449,11 @@ public abstract class DeleteHandler {
*/ */
private void deleteAllTraits(AtlasVertex instanceVertex) throws AtlasException { private void deleteAllTraits(AtlasVertex instanceVertex) throws AtlasException {
List<String> traitNames = GraphHelper.getTraitNames(instanceVertex); List<String> traitNames = GraphHelper.getTraitNames(instanceVertex);
LOG.debug("Deleting traits {} for {}", traitNames, string(instanceVertex));
if (LOG.isDebugEnabled()) {
LOG.debug("Deleting traits {} for {}", traitNames, string(instanceVertex));
}
String typeName = GraphHelper.getTypeName(instanceVertex); String typeName = GraphHelper.getTypeName(instanceVertex);
for (String traitNameToBeDeleted : traitNames) { for (String traitNameToBeDeleted : traitNames) {
......
...@@ -56,12 +56,18 @@ public class FullTextMapper { ...@@ -56,12 +56,18 @@ public class FullTextMapper {
ITypedReferenceableInstance typedReference; ITypedReferenceableInstance typedReference;
if (instanceCache.containsKey(guid)) { if (instanceCache.containsKey(guid)) {
typedReference = instanceCache.get(guid); typedReference = instanceCache.get(guid);
LOG.debug("Cache hit: guid = {}, entityId = {}", guid, typedReference.getId()._getId());
if (LOG.isDebugEnabled()) {
LOG.debug("Cache hit: guid = {}, entityId = {}", guid, typedReference.getId()._getId());
}
} else { } else {
typedReference = typedReference =
graphToTypedInstanceMapper.mapGraphToTypedInstance(guid, instanceVertex); graphToTypedInstanceMapper.mapGraphToTypedInstance(guid, instanceVertex);
instanceCache.put(guid, typedReference); instanceCache.put(guid, typedReference);
LOG.debug("Cache miss: guid = {}, entityId = {}", guid, typedReference.getId().getId());
if (LOG.isDebugEnabled()) {
LOG.debug("Cache miss: guid = {}, entityId = {}", guid, typedReference.getId().getId());
}
} }
String fullText = forInstance(typedReference, followReferences); String fullText = forInstance(typedReference, followReferences);
StringBuilder fullTextBuilder = StringBuilder fullTextBuilder =
......
...@@ -136,7 +136,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -136,7 +136,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
@GraphTransaction @GraphTransaction
public List<String> createEntities(ITypedReferenceableInstance... entities) throws RepositoryException, public List<String> createEntities(ITypedReferenceableInstance... entities) throws RepositoryException,
EntityExistsException { EntityExistsException {
LOG.debug("adding entities={}", entities); if (LOG.isDebugEnabled()) {
LOG.debug("adding entities={}", entities);
}
try { try {
TypedInstanceToGraphMapper instanceToGraphMapper = new TypedInstanceToGraphMapper(graphToInstanceMapper, deleteHandler); TypedInstanceToGraphMapper instanceToGraphMapper = new TypedInstanceToGraphMapper(graphToInstanceMapper, deleteHandler);
instanceToGraphMapper.mapTypedInstanceToGraph(TypedInstanceToGraphMapper.Operation.CREATE, entities); instanceToGraphMapper.mapTypedInstanceToGraph(TypedInstanceToGraphMapper.Operation.CREATE, entities);
...@@ -151,7 +154,9 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -151,7 +154,9 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
@Override @Override
@GraphTransaction @GraphTransaction
public ITypedReferenceableInstance getEntityDefinition(String guid) throws RepositoryException, EntityNotFoundException { public ITypedReferenceableInstance getEntityDefinition(String guid) throws RepositoryException, EntityNotFoundException {
LOG.debug("Retrieving entity with guid={}", guid); if (LOG.isDebugEnabled()) {
LOG.debug("Retrieving entity with guid={}", guid);
}
AtlasVertex instanceVertex = graphHelper.getVertexForGUID(guid); AtlasVertex instanceVertex = graphHelper.getVertexForGUID(guid);
...@@ -166,7 +171,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -166,7 +171,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
@GraphTransaction @GraphTransaction
public ITypedReferenceableInstance getEntityDefinition(String entityType, String attribute, Object value) public ITypedReferenceableInstance getEntityDefinition(String entityType, String attribute, Object value)
throws AtlasException { throws AtlasException {
LOG.debug("Retrieving entity with type={} and {}={}", entityType, attribute, value); if (LOG.isDebugEnabled()) {
LOG.debug("Retrieving entity with type={} and {}={}", entityType, attribute, value);
}
IDataType type = typeSystem.getDataType(IDataType.class, entityType); IDataType type = typeSystem.getDataType(IDataType.class, entityType);
String propertyKey = getFieldNameInVertex(type, attribute); String propertyKey = getFieldNameInVertex(type, attribute);
AtlasVertex instanceVertex = graphHelper.findVertex(propertyKey, value, AtlasVertex instanceVertex = graphHelper.findVertex(propertyKey, value,
...@@ -180,7 +188,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -180,7 +188,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
@Override @Override
@GraphTransaction @GraphTransaction
public List<String> getEntityList(String entityType) throws RepositoryException { public List<String> getEntityList(String entityType) throws RepositoryException {
LOG.debug("Retrieving entity list for type={}", entityType); if (LOG.isDebugEnabled()) {
LOG.debug("Retrieving entity list for type={}", entityType);
}
AtlasGraphQuery query = graph.query().has(Constants.ENTITY_TYPE_PROPERTY_KEY, entityType); AtlasGraphQuery query = graph.query().has(Constants.ENTITY_TYPE_PROPERTY_KEY, entityType);
Iterator<AtlasVertex> results = query.vertices().iterator(); Iterator<AtlasVertex> results = query.vertices().iterator();
if (!results.hasNext()) { if (!results.hasNext()) {
...@@ -206,7 +217,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -206,7 +217,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
@Override @Override
@GraphTransaction @GraphTransaction
public List<String> getTraitNames(String guid) throws AtlasException { public List<String> getTraitNames(String guid) throws AtlasException {
LOG.debug("Retrieving trait names for entity={}", guid); if (LOG.isDebugEnabled()) {
LOG.debug("Retrieving trait names for entity={}", guid);
}
AtlasVertex instanceVertex = graphHelper.getVertexForGUID(guid); AtlasVertex instanceVertex = graphHelper.getVertexForGUID(guid);
return GraphHelper.getTraitNames(instanceVertex); return GraphHelper.getTraitNames(instanceVertex);
} }
...@@ -224,7 +238,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -224,7 +238,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
public void addTrait(String guid, ITypedStruct traitInstance) throws RepositoryException { public void addTrait(String guid, ITypedStruct traitInstance) throws RepositoryException {
Preconditions.checkNotNull(traitInstance, "Trait instance cannot be null"); Preconditions.checkNotNull(traitInstance, "Trait instance cannot be null");
final String traitName = traitInstance.getTypeName(); final String traitName = traitInstance.getTypeName();
LOG.debug("Adding a new trait={} for entity={}", traitName, guid);
if (LOG.isDebugEnabled()) {
LOG.debug("Adding a new trait={} for entity={}", traitName, guid);
}
try { try {
AtlasVertex instanceVertex = graphHelper.getVertexForGUID(guid); AtlasVertex instanceVertex = graphHelper.getVertexForGUID(guid);
...@@ -260,7 +277,9 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -260,7 +277,9 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
@Override @Override
@GraphTransaction @GraphTransaction
public void deleteTrait(String guid, String traitNameToBeDeleted) throws TraitNotFoundException, EntityNotFoundException, RepositoryException { public void deleteTrait(String guid, String traitNameToBeDeleted) throws TraitNotFoundException, EntityNotFoundException, RepositoryException {
LOG.debug("Deleting trait={} from entity={}", traitNameToBeDeleted, guid); if (LOG.isDebugEnabled()) {
LOG.debug("Deleting trait={} from entity={}", traitNameToBeDeleted, guid);
}
AtlasVertex instanceVertex = graphHelper.getVertexForGUID(guid); AtlasVertex instanceVertex = graphHelper.getVertexForGUID(guid);
...@@ -303,7 +322,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -303,7 +322,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
@Override @Override
@GraphTransaction @GraphTransaction
public AtlasClient.EntityResult updateEntities(ITypedReferenceableInstance... entitiesUpdated) throws RepositoryException { public AtlasClient.EntityResult updateEntities(ITypedReferenceableInstance... entitiesUpdated) throws RepositoryException {
LOG.debug("updating entity {}", entitiesUpdated); if (LOG.isDebugEnabled()) {
LOG.debug("updating entity {}", entitiesUpdated);
}
try { try {
TypedInstanceToGraphMapper instanceToGraphMapper = new TypedInstanceToGraphMapper(graphToInstanceMapper, deleteHandler); TypedInstanceToGraphMapper instanceToGraphMapper = new TypedInstanceToGraphMapper(graphToInstanceMapper, deleteHandler);
instanceToGraphMapper.mapTypedInstanceToGraph(TypedInstanceToGraphMapper.Operation.UPDATE_FULL, instanceToGraphMapper.mapTypedInstanceToGraph(TypedInstanceToGraphMapper.Operation.UPDATE_FULL,
...@@ -319,7 +341,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository { ...@@ -319,7 +341,10 @@ public class GraphBackedMetadataRepository implements MetadataRepository {
@Override @Override
@GraphTransaction @GraphTransaction
public AtlasClient.EntityResult updatePartial(ITypedReferenceableInstance entity) throws RepositoryException { public AtlasClient.EntityResult updatePartial(ITypedReferenceableInstance entity) throws RepositoryException {
LOG.debug("updating entity {}", entity); if (LOG.isDebugEnabled()) {
LOG.debug("updating entity {}", entity);
}
try { try {
TypedInstanceToGraphMapper instanceToGraphMapper = new TypedInstanceToGraphMapper(graphToInstanceMapper, deleteHandler); TypedInstanceToGraphMapper instanceToGraphMapper = new TypedInstanceToGraphMapper(graphToInstanceMapper, deleteHandler);
instanceToGraphMapper.mapTypedInstanceToGraph(TypedInstanceToGraphMapper.Operation.UPDATE_PARTIAL, entity); instanceToGraphMapper.mapTypedInstanceToGraph(TypedInstanceToGraphMapper.Operation.UPDATE_PARTIAL, entity);
......
...@@ -233,7 +233,10 @@ public class GraphBackedSearchIndexer implements SearchIndexer, ActiveStateCh ...@@ -233,7 +233,10 @@ public class GraphBackedSearchIndexer implements SearchIndexer, ActiveStateCh
AtlasGraphManagement management = provider.get().getManagementSystem(); AtlasGraphManagement management = provider.get().getManagementSystem();
for (IDataType dataType : dataTypes) { for (IDataType dataType : dataTypes) {
LOG.debug("Creating indexes for type name={}, definition={}", dataType.getName(), dataType.getClass()); if (LOG.isDebugEnabled()) {
LOG.debug("Creating indexes for type name={}, definition={}", dataType.getName(), dataType.getClass());
}
try { try {
addIndexForType(management, dataType); addIndexForType(management, dataType);
LOG.info("Index creation for type {} complete", dataType.getName()); LOG.info("Index creation for type {} complete", dataType.getName());
...@@ -506,17 +509,17 @@ public class GraphBackedSearchIndexer implements SearchIndexer, ActiveStateCh ...@@ -506,17 +509,17 @@ public class GraphBackedSearchIndexer implements SearchIndexer, ActiveStateCh
AtlasPropertyKey propertyKey, boolean enforceUniqueness) { AtlasPropertyKey propertyKey, boolean enforceUniqueness) {
String propertyName = propertyKey.getName(); String propertyName = propertyKey.getName();
LOG.debug("Creating composite index for property {} of type {} ", propertyName, propertyClass.getName());
if (LOG.isDebugEnabled()) {
LOG.debug("Creating composite index for property {} of type {}; isUnique={} ", propertyName, propertyClass.getName(), enforceUniqueness);
}
AtlasGraphIndex existingIndex = management.getGraphIndex(propertyName); AtlasGraphIndex existingIndex = management.getGraphIndex(propertyName);
if (existingIndex == null) { if (existingIndex == null) {
if (enforceUniqueness) {
LOG.debug("Enabling unique index for property {} of type {} ", propertyName, propertyClass.getName());
}
management.createExactMatchIndex(propertyName, enforceUniqueness, Collections.singletonList(propertyKey)); management.createExactMatchIndex(propertyName, enforceUniqueness, Collections.singletonList(propertyKey));
} }
LOG.info("Created composite index for property {} of type {} ", propertyName, propertyClass.getName());
LOG.info("Created composite index for property {} of type {}; isUnique={} ", propertyName, propertyClass.getName(), enforceUniqueness);
} }
...@@ -536,8 +539,10 @@ public class GraphBackedSearchIndexer implements SearchIndexer, ActiveStateCh ...@@ -536,8 +539,10 @@ public class GraphBackedSearchIndexer implements SearchIndexer, ActiveStateCh
Class propertyClass, AtlasPropertyKey propertyKey, final String systemPropertyKey, Class propertyClass, AtlasPropertyKey propertyKey, final String systemPropertyKey,
AtlasCardinality cardinality) { AtlasCardinality cardinality) {
LOG.debug("Creating composite index for property {} of type {} and {}", propertyKey.getName(), propertyClass.getName(), if (LOG.isDebugEnabled()) {
systemPropertyKey); LOG.debug("Creating composite index for property {} of type {} and {}", propertyKey.getName(), propertyClass.getName(),
systemPropertyKey);
}
AtlasPropertyKey typePropertyKey = management.getPropertyKey(systemPropertyKey); AtlasPropertyKey typePropertyKey = management.getPropertyKey(systemPropertyKey);
if (typePropertyKey == null) { if (typePropertyKey == null) {
...@@ -562,9 +567,12 @@ public class GraphBackedSearchIndexer implements SearchIndexer, ActiveStateCh ...@@ -562,9 +567,12 @@ public class GraphBackedSearchIndexer implements SearchIndexer, ActiveStateCh
private void updateVertexIndex(AtlasGraphManagement management, String propertyName, Class propertyClass, private void updateVertexIndex(AtlasGraphManagement management, String propertyName, Class propertyClass,
AtlasCardinality cardinality, AtlasPropertyKey propertyKey) { AtlasCardinality cardinality, AtlasPropertyKey propertyKey) {
if (checkIfVertexIndexApplicable(propertyClass, cardinality)) { if (checkIfVertexIndexApplicable(propertyClass, cardinality)) {
if (LOG.isDebugEnabled()) {
LOG.debug("Creating backing index for property {} of type {} ", propertyName, propertyClass.getName());
}
// Use backing index // Use backing index
management.addVertexIndexKey(Constants.VERTEX_INDEX, propertyKey); management.addVertexIndexKey(Constants.VERTEX_INDEX, propertyKey);
LOG.debug("Creating backing index for property {} of type {} ", propertyName, propertyClass.getName());
LOG.info("Created backing index for property {} of type {} ", propertyName, propertyClass.getName()); LOG.info("Created backing index for property {} of type {} ", propertyName, propertyClass.getName());
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment