[
https://issues.apache.org/jira/browse/ATLAS-4358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17421090#comment-17421090
]
ASF subversion and git services commented on ATLAS-4358:
--------------------------------------------------------
Commit a2eaca4ed9a992b42bed18ba73c1da6ed414566e in atlas's branch
refs/heads/master from Ashutosh Mestry
[ https://gitbox.apache.org/repos/asf?p=atlas.git;h=a2eaca4 ]
ATLAS-4358: Address race condition in AtlasPatchRegistry in HA mode.
> Mapping for some internal Atlas attributes ( like __patch.type , __timestamp,
> etc) does not exist in Elasticsearch
> ------------------------------------------------------------------------------------------------------------------
>
> Key: ATLAS-4358
> URL: https://issues.apache.org/jira/browse/ATLAS-4358
> Project: Atlas
> Issue Type: Bug
> Reporter: Anshul Mehta
> Assignee: Ashutosh Mestry
> Priority: Major
> Attachments: patch-manager-fix.patch
>
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> *Impact of the problem -*
> * Atlas pod taking much longer to become active and this time keep
> increasing as the assets increase. This basically means a downtime on every
> Atlas release.
> * Not able to filter via basic search on attributes like {{__timestamp}} ,
> {{__modificationTimestamp}} , {{createdBy}} and {{modifiedBy}} .
> *Issue -*
> So just before creating the mapping in the mixed index (ES index) Atlas
> creates something called {{propertyKey}} and this propertyKey is used to
> create the mapping. The code is written in a way that checks if propertyKey
> for the current property is null or not. If it is null it creates the
> propertyKey and then adds it to mixed index. If it is not Null it assumes
> that the property has already been added to the index and so skips adding it.
> Now in our case when Atlas checked the propertyKey it was not null (which
> should not have been the case) therefore Atlas skipped adding it to the mixed
> index and so these properties never got added to the mixed index. This
> basically meant propertyKey for these properties were getting created
> somewhere else. We looked into the entire codebase but could not find the use
> of makePropertyKey method ( which is used to create propertyKey) or any other
> similar method.
> Then I saw certain java patch vertices getting created even before these
> internal attributes are added to various indices. Though these patches were
> applied later once all internal attributes were added to all the indices.
> Now, these patch vertices have 9 attributes and we releaized these 9
> attributes are the only attributes missing from ES. So basically when patch
> vertices got created and these vertices with their attributes got added to
> cassandra via janusgraph, janusgraph automatically created propertyKey for
> all these attributes (the janusgraph's makePropertyKey method is not called
> during this process anywhere in the Atlas code). And because internal
> attributes were getting added to indices in another thread at the same time,
> when code checked for propertyKey, it was not null and so it did not add the
> property to the mixed index.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)