janusgraph-utils icon indicating copy to clipboard operation
janusgraph-utils copied to clipboard

JanusGraphVertex added remains in the Graph DB if property already exist

Open SarthakGhosh16 opened this issue 6 years ago • 4 comments

Description

AIM is remove the ghost vertex which is formed which does not consists of all the properties desired since the code error out.

Below snippet calls the function where vertex is added with the properties

Screenshot 2019-03-13 at 6 50 18 PM

Calling function acceptRecord(record) throws an error when Property already exists which is unique and it is trying to add the same Property (key,value).

     Eg: Emp1 -> has properties Age: 40, EID: 123, Phone: xxxx
     EID is unique property
     Emp2 -> Age: 41, EID: 123, Phone: xxyx

Since EID already exists, the below code throws an error but the JanusGraphVertex v = graphTransaction.addVertex(vertexLabel); has already been added which never gets deleted and leaves a ghost vertex.

Screenshot 2019-03-13 at 6 50 06 PM

Will changing the block to try catch work plus using graphTransaction.rollback() or v.remove(), to delete the vertex in the catch block

SarthakGhosh16 avatar Mar 13 '19 13:03 SarthakGhosh16

Screenshot 2019-03-18 at 11 36 03 AM

So this piece of code was throwing an error (attached below).

Screenshot 2019-03-18 at 11 41 43 AM

so adding this piece of code in a try-catch block and removing that particular vertex (v.remove()) works, where vertex is not added if it is duplicate

SarthakGhosh16 avatar Mar 18 '19 06:03 SarthakGhosh16

@SarthakGhosh16 sorry for the late response. would you like to create a pull request and contain your code change above?

yhwang avatar Mar 20 '19 16:03 yhwang

@yhwang Sure. I'll create a pull request. Thanks!!

SarthakGhosh16 avatar Mar 21 '19 06:03 SarthakGhosh16

https://github.com/IBM/janusgraph-utils/pull/75 Pull Request

SarthakGhosh16 avatar Mar 21 '19 07:03 SarthakGhosh16