*UPDATE*:
So I left this running on my digital ocean server over the weekend and I've
just now checked it. Here's the result:
neo4j-sh (?)$ profile MATCH (d:Document)-[*2]-(something) RETURN d,
something;
Error occurred in server thread; nested exception is:
java.lang.OutOfMemoryError: Java heap space
This seems really odd to me, as I thought I was using a more than
reasonable about of heap space:
wrapper.java.initmemory=2048
wrapper.java.maxmemory=4096
Of course maybe that's not enough, and I have no idea what I'm talking
about. It just seems odd that a query that searches for a path with only 2
degrees of separation would be this much of a hassle.
On Friday, November 14, 2014 4:39:26 PM UTC-5, Eric Gade wrote:
>
> Hey Michael,
>
> Because the query never actually finishes, I'm not sure I'm getting the
> results you want.
>
> For vanilla Cypher:
>
> ==> GuardTimeoutException: timeout occurred (overtime=1)
>
> For the experimental profile:
>
> ==> GuardTimeoutException: timeout occurred (overtime=1075)
>
>
> BTW, if I remove the timeout limit, the query will not return...or at
> least not in some reasonable amount of time that I've been able to measure.
> Go ahead and let me know what you think. I'm going to connect to my remote
> server and let this command run for a while and see what happens.
>
>
> On Thursday, November 13, 2014 11:25:30 AM UTC-5, Michael Hunger wrote:
>>
>> Would you be able to run neo4j-shell (or the old webui
>> http://localhost:7474/webadmin -> console) and prefix your query with
>> the profile keyword and send the output?
>>
>> also prefix it with profile cypher 2.1.experimental
>> and do the same.
>>
>> Thanks a lot,
>>
>> Michael
>>
>> On Thu, Nov 13, 2014 at 3:18 PM, Eric Gade <[email protected]> wrote:
>>
>>> Hi Michael.
>>>
>>> Yes, indexed the `source_id` properties for all nodes using the exact
>>> syntax you described. I did it after the fact though, meaning after I had
>>> migrate data into the graph. I then went through and did MATCH(d) SET
>>> d.source_id=d.source_id just to be safe.
>>>
>>> I'm sure sure what the terminology is for relationships exactly, but
>>> mine are definitely vectors in that :MENTIONS and :CONTAINS have arrows and
>>> only go in one direction. For example, a document -[:MENTIONS]-> a country,
>>> but not the other way around.
>>>
>>> On Wednesday, November 12, 2014 8:47:59 PM UTC-5, Michael Hunger wrote:
>>>>
>>>> Hi Eric,
>>>>
>>>> did you do:
>>>>
>>>> create index on :Document(source_id);
>>>>
>>>> Also your relationships are they bi-directional between the same two
>>>> nodes?
>>>>
>>>> On Wed, Nov 12, 2014 at 11:06 PM, Eric Gade <[email protected]> wrote:
>>>>
>>>>> Hello. I have created what I believe is a not-terribly-complex Neo
>>>>> database. If you want to cut to the chase, just scroll down to the
>>>>> section
>>>>> called "*The Problem*"
>>>>>
>>>>> Here is the structure:
>>>>>
>>>>> *Nodes*
>>>>>
>>>>> (:Document) ~75k
>>>>> (:Country) ~300
>>>>> (:Person) ~8k
>>>>>
>>>>> *Relationships*
>>>>>
>>>>> -[:MENTIONS]-> ~300k
>>>>>
>>>>> *System Information*
>>>>>
>>>>> 16 Cores
>>>>> 480gb HD
>>>>> 48GB RAM
>>>>> Ubuntu Server 14.04 LTS
>>>>> Neo4j Version 2.1.5
>>>>>
>>>>> *Config*
>>>>>
>>>>> I've adjusted for the config is the min and max heap size (disabled by
>>>>> default)
>>>>> Min: 2048
>>>>> Max: 4096
>>>>>
>>>>> I set the max open files to 60000 from the default 1024 for my system
>>>>> (Linux users know what I'm talking about)
>>>>>
>>>>> I set a max query time of two minutes via the
>>>>> `org.neo4j.server.webserver.limit.executiontimeout` param, though I
>>>>> only did this recently because many queries were taking longer than two
>>>>> minutes. Prior to this, certain queries which I would guess should be
>>>>> fast
>>>>> would never finish (see below)
>>>>>
>>>>> I have also indexed a parameter on all nodes called `source_id`, which
>>>>> is the `id` value for these things in the database from which I imported
>>>>> them.
>>>>>
>>>>>
>>>>> *Weird Observatons*
>>>>>
>>>>> Before I altered the max and min heap sizes in the config file, `htop`
>>>>> was showing me some (alarming??) stats -- VIRT was 17.5GB for the server
>>>>> process.
>>>>> Now, with the new settings, it's at a much lower 10100M, but I still
>>>>> don't understand why.
>>>>>
>>>>>
>>>>> *The Problem*
>>>>>
>>>>> Here's a simple query that never returns. I've waited as long as 5
>>>>> minutes and still nothing:
>>>>> MATCH(d:Document)-[*2]-(something)
>>>>> WHERE d.source_id='SOMEIDHERE'
>>>>> RETURN d,something;
>>>>>
>>>>> Based on some of the queries I've seen other people talk about, with
>>>>> variable relations in the dozens, and for datasets that have millions of
>>>>> nodes using laptop hardware, something seems very wrong to me here.
>>>>>
>>>>> I've read all of the articles I could find on configurations and ways
>>>>> to improve performance. Any ideas?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Neo4j" 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 "Neo4j" 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
"Neo4j" 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.