Hi folks;
  I am running neo4j on an SGI UV machine.  It has a great many cores, but 
only a small subset (limited by the cpuset) are available to my neo4j 
server.  If I run neo4j community-2.0.1 with a configuration which is 
out-of-the-box except for setting -XX:ParallelGCThreads=32 and 
-XX:ConcGCThreads=32 in my neo4j-wrapper.conf, too many threads are 
allocated for the cores I actually have.  
  I can prevent this by setting server.webserver.maxthreads to some value, 
but the REST interface then hangs.  For example, here is a curl command 
which works if maxthreads is not set but hangs if it is set, even with a 
relatively large value like 320 threads:


> curl --trace-ascii - -X POST -H "Content-Type: application/json" -d 
'{"query":"start a= node(*) return a"}' http://localhost:9494/db/data/cypher
== Info: About to connect() to localhost port 9494 (#0)
== Info:   Trying 127.0.0.1... == Info: connected
== Info: Connected to localhost (127.0.0.1) port 9494 (#0)
=> Send header, 213 bytes (0xd5)
0000: POST /db/data/cypher HTTP/1.1
001f: User-Agent: curl/7.21.3 (x86_64-unknown-linux-gnu) libcurl/7.21.
005f: 3 OpenSSL/0.9.8h zlib/1.2.7
007c: Host: localhost:9494
0092: Accept: */*
009f: Content-Type: application/json
00bf: Content-Length: 37
00d3: 
=> Send data, 37 bytes (0x25)
0000: {"query":"start a= node(*) return a"}   
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< HANGS AT THIS POINT 
<= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
<= Recv header, 47 bytes (0x2f)
0000: Content-Type: application/json; charset=UTF-8
<= Recv header, 32 bytes (0x20)
0000: Access-Control-Allow-Origin: *
<= Recv header, 20 bytes (0x14)
0000: Content-Length: 41
<= Recv header, 32 bytes (0x20)
0000: Server: Jetty(9.0.5.v20130815)
<= Recv header, 2 bytes (0x2)
0000: 
<= Recv data, 41 bytes (0x29)
0000: {.  "columns" : [ "a" ],.  "data" : [ ].}
{
  "columns" : [ "a" ],
  "data" : [ ]
}== Info: Connection #0 to host localhost left intact
== Info: Closing connection #0

If I were on a 32-core machine rather than a 2000-core machine, 
maxthreads=320 would be the default.  Thus I'm guessing that something is 
competing for threads within that 320-thread pool, or else the server is 
internally calculating a ratio of threads-per-core and that ratio is 
yielding zero on my machine. Is there any way to work around this?

Thanks,
-Joel Welling

-- 
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.

Reply via email to