[
https://issues.apache.org/jira/browse/ATLAS-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18089285#comment-18089285
]
Brijesh Bhalala commented on ATLAS-5321:
----------------------------------------
Error Logs:
026-06-16 11:06:38,399 [etp1068586139-403 -
5c06d5b7-9b44-4d20-8296-528e9abc629d] ERROR
[GraphTransactionInterceptor.java:280] graph rollback due to exception
org.apache.atlas.exception.AtlasBaseException: gloss61term12@gloss61:
Unknown/invalid glossary term
at
org.apache.atlas.discovery.SearchContext.<init>(SearchContext.java:117)
at
org.apache.atlas.discovery.EntityDiscoveryService.searchWithParameters(EntityDiscoveryService.java:485)
at
org.apache.atlas.discovery.EntityDiscoveryService$$FastClassBySpringCGLIB$$1af2cf1f.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.discovery.EntityDiscoveryService$$EnhancerBySpringCGLIB$$989ce244.searchWithParameters(<generated>)
at
org.apache.atlas.web.rest.DiscoveryREST.searchWithParameters(DiscoveryREST.java:366)
at
org.apache.atlas.web.rest.DiscoveryREST$$FastClassBySpringCGLIB$$f8674cfd.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.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at
org.apache.atlas.web.service.TimedAspectInterceptor.timerAdvice(TimedAspectInterceptor.java:46)
at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
8311,116-123 98%
> Backend: Basic Search throws ATLAS-400-00-06E "Unknown/invalid glossary term"
> after updating parent Glossary
> ------------------------------------------------------------------------------------------------------------
>
> Key: ATLAS-5321
> URL: https://issues.apache.org/jira/browse/ATLAS-5321
> Project: Atlas
> Issue Type: Bug
> Components: atlas-core
> Affects Versions: 2.5.0
> Reporter: Brijesh Bhalala
> Assignee: Aditya Gupta
> Priority: Minor
> Labels: backend
>
> *Issue Overview:* A basic search for a valid Glossary Term using the
> {{termName}} parameter fails with an {{ATLAS-400-00-06E}} error if its parent
> Glossary has been recently updated. The term search works perfectly
> immediately after creation but breaks as soon as the associated Glossary
> undergoes any update operation.
> *Steps to Reproduce:*
> # Create a new Glossary (e.g., {{{}gloss23{}}}).
> # Create a new Term within this glossary (e.g., {{{}term2{}}}, with
> qualifiedName {{{}term2@gloss23{}}}).
> # Perform a Basic Search via the API ({{{}/api/atlas/v2/search/basic{}}})
> passing the term in the payload:
> json
>
> {
> "termName": "term2@gloss23"
> }
> # Verify the search completes successfully and returns the expected results.
> # Update the parent Glossary ({{{}gloss23{}}}) via the UI or API (e.g.,
> change its description or add an attribute).
> # Perform the exact same Basic Search from Step 3 again.
> *Expected Behavior:* The Basic Search API should successfully execute and
> return the term/entities without any errors, identical to the behavior before
> the glossary was updated.
> *Actual Behavior:* The API throws a 400 Bad Request error, claiming the term
> no longer exists:
>
> json
>
> {
> "errorCode": "ATLAS-400-00-06E",
> "errorMessage": "term2@gloss23: Unknown/invalid glossary term"
> }
> *Potential Root Causes (Backend):*
> * *Search Index/Cache Invalidation:* Updating the parent Glossary might be
> inadvertently dropping or corrupting the JanusGraph index / Solr cache for
> its child terms.
> * *Graph Edge Modification:* The glossary update process might be
> incorrectly modifying or recreating the {{AtlasGlossaryTerm}} edges, causing
> the Basic Search validator to fail when looking up the term's
> {{{}qualifiedName{}}}.
> * *Term Status Disconnect:* The search validator may be referencing a stale
> state of the Glossary that fails to correctly resolve active child terms
> after a save operation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)