Hi Nitish, I can't reproduce your problem, everything works perfectly even if I brutally remove the edge with the DELETE command (not DELETE EDGE). Below the steps:
create class User extends V create vertex User set name = 'a' create vertex User set name = 'b' create class isFriendOf extends E create edge isFriendOf from (select from User where name = 'a') to (select from User where name = 'b') set a = 33 delete from #14:0 select expand(in_isFriendOf) from user where name="a" So my suggestions is to upgrade to 1.7.7 (or 1.7.8 available in a couple of hours). Lvc@ On 12 August 2014 13:47, Nitish Gangal <[email protected]> wrote: > Hi, > > Following are the steps to reproduce the issue I am facing: > > 1. Create a user vertex class and create two nodes (User 1 and User 2). > 2. Create isFriendOf edge class. > 3. Create a isFriendOf edge connecting user 1 and user 2. > 4. Now, edge is created with unique rid having its references in user 1 > and user 2 vertices. > 5. Now, Delete edge using its unique rid with following query: > delete from @rid; > 6. Now, this edge is deleted but the references are still there in user 1 > vertex and user 2 vertex. > 7. Now, hit the query: select expand(in_isFriendOf) from user where > name="user 1"; > This query returns "java.lang.NullPointerException" > > These are the steps to reproduce the issue I am facing. > Please note that, in my case, in step no 5, we are using "delete edge > @rid" but since, we are not able to reproduce, we have found above steps > that replicates exact sceanrio and issue. > > Request you to provide your inputs for deleting the references from user 1 > vertex and user 2 vertex in order to clean up such null references. > > Thanks, > Nitish Gangal > > On Tuesday, August 12, 2014 3:16:19 PM UTC+5:30, Lvc@ wrote: > >> Hi Nitish, >> that is correct, so you shouldn't have such problem. Both DELETE VERTEX >> and DELETE EDGE are transactional, so in case of problem the tx is rolled >> back. >> >> Can you post the query that gives you the Exception and what exception? >> >> Lvc@ >> >> >> >> On 12 August 2014 11:00, Nitish Gangal <[email protected]> wrote: >> >>> Hi, >>> >>> Thanks for your reply. >>> >>> Ideally, we use, >>> >>> delete vertex @rid - for deleting vertices and >>> delete edge @rid - for deleting edges >>> >>> I think, we read somewhere that by doing "delete from @rid" directly, it >>> does not delete edge references from vertices. >>> hence, we are using queries as mentioned above. >>> >>> Please correct if we are missing something. >>> >>> Thanks, >>> Nitish Gangal >>> >>> >>> >>> On Tuesday, August 12, 2014 12:57:07 PM UTC+5:30, Lvc@ wrote: >>> >>>> Hi, >>>> How do you delete vertex/edge? >>>> >>>> Lvc@ >>>> >>>> Sent from Mobile device >>>> Il 12/ago/2014 09:16 "Nitish Gangal" <[email protected]> ha scritto: >>>> >>>>> Hello, >>>>> >>>>> I am using orientdb v1.6. >>>>> I have a structure like: >>>>> >>>>> User vertex( user 1) -> connected with edge "isFriendOf" edge class -> >>>>> with other user vertex(user 2). >>>>> >>>>> All the positive scenarios work just fine. >>>>> But in in certain scenarios when, we delete edge of "isFriendOf" >>>>> class, its @rid references does not get cleaned up from user 1 and user 2 >>>>> vertices. >>>>> This causes complete inconsistency in graph database and any query >>>>> over these vertices and "isFriendOf" edge classes just returns an >>>>> exception. >>>>> We tried to identify and clean up such references through web admin >>>>> interface and through orientdb console, still I get the exceptions. >>>>> >>>>> Completely stuck with it for now. Also, this looks kind of a severe >>>>> thing for me. >>>>> Any pointers regarding this will be extremely helpful. >>>>> >>>>> Please help me with following two things asap: >>>>> 1. When such inconsistency can arise in orientdb? >>>>> 2. How to clean up such things? >>>>> >>>>> Please help me at the earliest. >>>>> >>>>> Thanks, >>>>> Nitish Gangal >>>>> >>>>> >>>>> -- >>>>> >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "OrientDB" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >>> >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "OrientDB" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > > --- > You received this message because you are subscribed to the Google Groups > "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
