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.

Reply via email to