Hi all! Using the UI I tried to create some lineag...
# troubleshoot
c
Hi all! Using the UI I tried to create some lineages through assets and it works perfectly. Now that I would modify the lineage I created, I relize that is impossible to delete the relationships. I think it is a real bug...in fact when I remove the upstream/downstream a pop-up " lineage updated!" appears, but reloading the UI page the relation is still there... Anyone experienced it?
b
Hi Carmine! What entity types are you working with? I want to try to reproduce the issue you are facing
Removing manually added edges should be possible. Going to run a couple quick sanity checks now
c
There are AWS S3
At moment I have only this type of assets
b
So you are connecting S3 to S3?
dataset a to dataset b
c
yes!
b
hm. I'm having trouble reproducing it. This could possibly be that the S3 source is also creating lineage edges itself (automatically)
Maybe you can record a screen video of this happening (e.g. create an edge, try to remove, fail)
Also, which version of DataHub are you on?
c
version is 0.9.5
wait some mins for the video...
the lineage was created by me manually....I didn't have automatic lineage provided by connector. All stream in the datahub were set by hand
Hi! It seems to fail again....I also tried to execute the "remove" from GraphiQL on same nodes...also if it respods correctly, lineage is always there
Hi @big-carpet-38439, do you have any suggestion or workaround for this kind of issue? Did you see it? Thanks!
b
Hi thanks i am currently looking at this one
cc @bulky-soccer-26729 for awareness
b
hey! if you're getting the "updated lineage!" response, that means we're updating it in the databse correctly.. or at least that's what it should mean. my guess is that for some reason elastic search isn't being updated here
do you see any issues with that pod?
b
are you using Neo4j or elastic for graph store?
If yes, I'm going to recommend trying something
s
Hi @big-carpet-38439, I work with @cool-fireman-87485 and we are using Neo4j (default values) on this case to create manual lineage on entities imported from S3. We managed to "remove" lineages thanks to hard deletion of entities and re-ingesting them back. All links were created correctly from UI. But still there is A very odd case where we are sending an add lineage between 2 entities (both from UI that from GraphiQL):
Copy code
mutation updateLineage {
  updateLineage(input: {
    edgesToAdd: [
      {
        downstreamUrn: "urn:li:dataset:(urn:li:dataPlatform:s3,dh-bucket-p-s3-curated/use-case/churn_prediction/cp_coe_features,PROD)",
        upstreamUrn: "urn:li:dataset:(urn:li:dataPlatform:s3,dh-bucket-p-s3-processed/EDH/OFFER,PROD)"
      }
    ],
    edgesToRemove: []
  })
}
and we get a:
Copy code
{
  "data": {
    "updateLineage": true
  },
  "extensions": {}
}
even though the link is not reflected. The above 2 entities though we were able to connect them with other datasets. We checked if any issues with pods and Neo4j logs but none were present. Thanks a lot for your help
b
hey gang! so this issue is specifically with removing edges right? are you seeing any error logs in gms when you try to remove an edge? specifically curious if you see something like this :
Copy code
15:51:52.658 [ThreadPoolTaskExecutor-1] ERROR c.l.m.k.MetadataChangeLogProcessor:93 - Failed to execute MCL hook with name com.linkedin.metadata.kafka.hook.UpdateIndicesHook
java.lang.UnsupportedOperationException: Remove edge not supported by Neo4JGraphService at this time.
	at com.linkedin.metadata.graph.neo4j.Neo4jGraphService.removeEdge(Neo4jGraphService.java:112)
if so, I might suggest changing the env variable
GRAPH_SERVICE_DIFF_MODE_ENABLED
to false and try again
s
Hi Chris, thanks a lot for your help!!! We actually encountered issue always on removing edges (tried with
GRAPH_SERVICE_DIFF_MODE_ENABLED=false
but did not make any difference) and confirm that gives the error logs in gms as you mentioned above. We somehow workaround deletion through hard deleting entities and re-inserting them and create brand new edges. The main problem now is that we are not able (for a specific entity A to entity B) to add an edge that gives "updated lineage!" response and the issue on error logs is this warning from gms (not sure if due to this):
Copy code
17:05:48.876 [ThreadPoolTaskExecutor-1] INFO  c.l.m.k.t.DataHubUsageEventTransformer:74 - Invalid event type: ManuallyCreateLineageEvent
17:05:48.876 [ThreadPoolTaskExecutor-1] WARN  c.l.m.k.DataHubUsageEventsProcessor:56 - Failed to apply usage events transform to record: {"type":"ManuallyCreateLineageEvent","direction":"Downstream","sourceEntityType":"DATASET","sourceEntityPlatform":"s3","destinationEntityType":"DATASET","destinationEntityPlatform":"s3","actorUrn":"urn:li:corpuser:datahub","timestamp":1674752736195,"date":"Thu Jan 26 2023 18:05:36 GMT+0100 (Ora standard dell'Europa centrale)","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36","browserId":"1f97a4fb-4c93-4d7c-b6ad-5dea904fc52e"}
thanks again Chris!
b
hmm so now you're experiencing issues with adding edges, not removing them?
that error shouldn't be a problem as it's just about tracking events on the platform. do you see any other logs in GMS or in your neo4j pods when you try to make this lineage change?
s
hi Chris, we have basically 2 issues: 1) "REMOVE": any lineage created manually can't be removed even though ""updated lineage!" returned. Looking into GMS with
kubectl logs datahub-datahub-gms-56df67d9d9-px6wt
do not see any ERROR logs when trying to removing edges (only those warning that are not a problem as you said). Tried to get into neo4j pod: `prerequisites-neo4j-community-0`and opening file
debug.log
on folder
/var/lib/neo4j/logs
but do not see any logs for time on when executing the remove lineage.
2) "ADD": 99,9% of manual added lineage are working fine. Only 1 single case of adding lineage between 2 specific entities we receive an "updated lineage!" returned but it disappear as soon as we refresh the page and confirmed that the lineage is not saved. Also in this case looking into GMS with
kubectl logs datahub-datahub-gms-56df67d9d9-px6wt
do not see any ERROR logs when trying to add the edge. Tried to get into neo4j pod: `prerequisites-neo4j-community-0`and opening file
debug.log
on folder
/var/lib/neo4j/logs
but do not see any logs for time on when executing the add lineage.
b
Hey Nicola. Is there any chance you are overwriting those edges by ingesting more lineage data?
s
Hi @big-carpet-38439, thanks for your message. We are not making any overwriting, we just sent an add downstream command from the UI (tried also from GraphiQL) and even though returned a "updated lineage!", as soon the page is refreshed the link is gone proving the command did not insert the lineage. Is it any other logs I can search for to know where the issue stand? thanks