[Neo4j] neo4j REST server configuration

Peter Neubauer peter.neubauer at neotechnology.com
Wed Aug 11 13:51:37 CEST 2010


Nice,
will try that out Jim! Grinder seems cool.

Cheers,

/peter neubauer

COO and Sales, Neo Technology

GTalk:      neubauer.peter
Skype       peter.neubauer
Phone       +46 704 106975
LinkedIn   http://www.linkedin.com/in/neubauer
Twitter      http://twitter.com/peterneubauer

http://www.neo4j.org               - Your high performance graph database.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Wed, Aug 11, 2010 at 12:52 PM, Jim Webber <jim at webber.name> wrote:
> Perhaps something as simple as a Grinder script might help?
>
> Jim
>
>
> On 11 Aug 2010, at 17:57, Brock Rousseau wrote:
>
>> Thanks Peter. Let us know if there is anything else we can provide in the
>> way of logs or diagnosis from our server.
>>
>> -Brock
>>
>> On Tue, Aug 10, 2010 at 11:51 PM, Peter Neubauer <
>> peter.neubauer at neotechnology.com> wrote:
>>
>>> Mmh,
>>> seems we should stresstest the server and Grizzly with e.g.
>>> http://www.soapui.org and see if we can reproduce the scenario, if
>>> there is no obvious hint to this. Will try to set it up ...
>>>
>>> Cheers,
>>>
>>> /peter neubauer
>>>
>>> COO and Sales, Neo Technology
>>>
>>> GTalk:      neubauer.peter
>>> Skype       peter.neubauer
>>> Phone       +46 704 106975
>>> LinkedIn   http://www.linkedin.com/in/neubauer
>>> Twitter      http://twitter.com/peterneubauer
>>>
>>> http://www.neo4j.org               - Your high performance graph database.
>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
>>>
>>>
>>>
>>> On Wed, Aug 11, 2010 at 4:14 AM, Brock Rousseau <brockr at gmail.com> wrote:
>>>> The patch worked perfectly for increasing the concurrent transaction cap,
>>>> but unfortunately exposed another issue.
>>>>
>>>> After increasing the load hitting our rest server, it performs smoothly
>>> for
>>>> 10-15 minutes then begins issuing 500 responses on all transactions. When
>>> it
>>>> happens, the number of open transactions freezes in JMX and the heap size
>>>> essentially remains static. Below are the two stack traces we see in the
>>>> wrapper.log. Here are what i think to be the relevant configuration
>>> lines:
>>>>
>>>> wrapper.conf:
>>>> wrapper.java.additional.1=-d64
>>>> wrapper.java.additional.2=-server
>>>> wrapper.java.additional.4=-Xmx8192m
>>>> wrapper.java.additional.3=-XX:+UseConcMarkSweepGC
>>>> wrapper.java.additional.4=-Dcom.sun.management.jmxremote
>>>>
>>>> neo4j.properties:
>>>>
>>>> rest_min_grizzly_threads=4
>>>> rest_max_grizzly_threads=128
>>>>
>>>> neostore.nodestore.db.mapped_memory=4000M
>>>> neostore.relationshipstore.db.mapped_memory=40000M
>>>> neostore.propertystore.db.mapped_memory=1800M
>>>> neostore.propertystore.db.index.mapped_memory=100M
>>>> neostore.propertystore.db.index.keys.mapped_memory=100M
>>>> neostore.propertystore.db.strings.mapped_memory=3G
>>>> neostore.propertystore.db.arrays.mapped_memory=0M
>>>>
>>>> The server has 64Gb of total RAM so there should be a little over 6 left
>>> for
>>>> the system.
>>>>
>>>>
>>>> At the initial time of failure there are several of this error:
>>>>
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 | Aug 10, 2010 1:00:33 PM
>>>> com.sun.grizzly.http.KeepAliveThreadAttachment timedOut
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 | WARNING: Interrupting idle
>>> Thread:
>>>> Grizzly-9555-WorkerThread(1)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 | Aug 10, 2010 1:00:33 PM
>>>> com.sun.jersey.spi.container.ContainerResponse
>>> mapMappableContainerException
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 | SEVERE: The RuntimeException
>>> could
>>>> not be mapped to a response, re-throwing to the HTTP container
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |
>>>> org.neo4j.kernel.impl.nioneo.store.UnderlyingStorageException: Unable to
>>>> load position[7280476] @[968303308]
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.nioneo.store.PersistenceRow.readPosition(PersistenceRow.java:101)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.acquire(PersistenceWindowPool.java:152)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.nioneo.store.CommonAbstractStore.acquireWindow(CommonAbstractStore.java:474)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.nioneo.store.AbstractDynamicStore.getLightRecords(AbstractDynamicStore.java:375)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.nioneo.store.PropertyStore.getRecord(PropertyStore.java:324)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.propertyGetValue(ReadTransaction.java:237)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.loadPropertyValue(NioNeoDbPersistenceSource.java:216)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.persistence.PersistenceManager.loadPropertyValue(PersistenceManager.java:79)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.core.NodeManager.loadPropertyValue(NodeManager.java:579)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> org.neo4j.kernel.impl.core.Primitive.getPropertyValue(Primitive.java:546)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> org.neo4j.kernel.impl.core.Primitive.getProperty(Primitive.java:167)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> org.neo4j.kernel.impl.core.NodeProxy.getProperty(NodeProxy.java:134)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> org.neo4j.rest.domain.PropertiesMap.<init>(PropertiesMap.java:20)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.rest.domain.NodeRepresentation.<init>(NodeRepresentation.java:20)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.rest.domain.StorageActions$TraverserReturnType$1.toRepresentation(StorageActions.java:421)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.rest.domain.StorageActions.traverseAndCollect(StorageActions.java:403)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> org.neo4j.rest.web.GenericWebService.traverse(GenericWebService.java:725)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.rest.web.JsonAndHtmlWebService.jsonTraverse(JsonAndHtmlWebService.java:324)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> java.lang.reflect.Method.invoke(Method.java:616)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:184)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:276)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:71)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1171)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1103)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1053)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1043)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:406)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:477)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:662)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.http.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:188)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.http.servlet.FilterChainImpl.invokeFilterChain(FilterChainImpl.java:137)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:376)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:324)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:180)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:753)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:661)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:914)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> com.sun.grizzly.ContextTask.run(ContextTask.java:69)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.util.FixedThreadPool$BasicWorker.dowork(FixedThreadPool.java:379)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> com.sun.grizzly.util.FixedThreadPool$BasicWorker.run(FixedThreadPool.java:360)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> java.lang.Thread.run(Thread.java:636)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 | Caused by:
>>>> java.nio.channels.ClosedByInterruptException
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:201)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>> sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:335)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   at
>>>>
>>> org.neo4j.kernel.impl.nioneo.store.PersistenceRow.readPosition(PersistenceRow.java:80)
>>>> INFO   | jvm 1    | 2010/08/10 13:00:33 |   ... 56 more
>>>>
>>>> Then this to this for every subsequent request:
>>>>
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 | Aug 10, 2010 1:02:13 PM
>>>> com.sun.jersey.spi.container.ContainerResponse
>>> mapMappableContainerException
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 | SEVERE: The RuntimeException
>>> could
>>>> not be mapped to a response, re-throwing to the HTTP container
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |
>>>> org.neo4j.graphdb.TransactionFailureException: Unable to begin
>>> transaction
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> org.neo4j.kernel.EmbeddedGraphDbImpl.beginTx(EmbeddedGraphDbImpl.java:334)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> org.neo4j.kernel.EmbeddedGraphDatabase.beginTx(EmbeddedGraphDatabase.java:142)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> org.neo4j.rest.domain.StorageActions.createNode(StorageActions.java:46)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> org.neo4j.rest.web.GenericWebService.createNode(GenericWebService.java:147)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> org.neo4j.rest.web.JsonAndHtmlWebService.jsonCreateNode(JsonAndHtmlWebService.java:90)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> java.lang.reflect.Method.invoke(Method.java:616)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:184)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:276)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:71)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1171)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1103)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1053)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1043)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:406)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:477)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:662)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.http.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:188)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.http.servlet.FilterChainImpl.invokeFilterChain(FilterChainImpl.java:137)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:376)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:324)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:180)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:753)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:661)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:914)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> com.sun.grizzly.ContextTask.run(ContextTask.java:69)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.util.FixedThreadPool$BasicWorker.dowork(FixedThreadPool.java:379)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> com.sun.grizzly.util.FixedThreadPool$BasicWorker.run(FixedThreadPool.java:360)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> java.lang.Thread.run(Thread.java:636)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 | Caused by:
>>>> javax.transaction.SystemException: TM has encountered some problem,
>>> please
>>>> perform neccesary action (tx recovery/restart)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>> org.neo4j.kernel.impl.transaction.TxManager.begin(TxManager.java:497)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   at
>>>>
>>> org.neo4j.kernel.EmbeddedGraphDbImpl.beginTx(EmbeddedGraphDbImpl.java:329)
>>>> INFO   | jvm 1    | 2010/08/10 13:02:13 |   ... 43 more
>>>>
>>>> Do those look like they point to anything in particular? As always your
>>>> insight is greatly appreciated!
>>>>
>>>> Thanks,
>>>> Brock
>>>>
>>>> On Tue, Aug 10, 2010 at 7:53 AM, Jacob Hansson <jacob at voltvoodoo.com>
>>> wrote:
>>>>
>>>>> The problem with the resource starvation turned out to be fairly simple,
>>>>> and
>>>>> was due to a missing "connection:close" header in the neo4j REST client
>>> I
>>>>> was using.
>>>>>
>>>>> It would be interesting to look into the "connection:keep-alive"
>>> behaviour
>>>>> of Grizzly, using HTTP 1.1 pipelining would be an excellent way to
>>> increase
>>>>> performance in the clients, but the few things I've read so far suggests
>>>>> Grizzly does not yet support that.
>>>>>
>>>>> /Jacob
>>>>>
>>>>> On Tue, Aug 10, 2010 at 11:19 AM, Brock Rousseau <brockr at gmail.com>
>>> wrote:
>>>>>
>>>>>> The patched trunk code is working fine after dropping it over our
>>>>> existing
>>>>>> deployment. I'm going to wait until we have the support of our
>>> site-speed
>>>>>> engineers in the morning before testing the transaction limit under
>>>>>> full production load, but I'll post the results as soon as we have
>>> them.
>>>>>>
>>>>>> Thanks,
>>>>>> Brock
>>>>>>
>>>>>>
>>>>>> On Tue, Aug 10, 2010 at 1:47 AM, Brock Rousseau <brockr at gmail.com>
>>>>> wrote:
>>>>>>
>>>>>>> I got the patch Jacob, thanks!
>>>>>>>
>>>>>>> We're running Centos 5.5, Java 1.6.0, and Maven 2.2.1
>>>>>>>
>>>>>>> If it's fine for you guys then as you said, likely some
>>> configuration
>>>>>>> difference with our system, so i'll just run it
>>>>>> with"-Dmaven.test.skip=true"
>>>>>>>
>>>>>>> Applying the patch now, i'll let you know how it goes. Thanks again
>>> for
>>>>>> all
>>>>>>> the support.
>>>>>>>
>>>>>>> -Brock
>>>>>>>
>>>>>>>  On Tue, Aug 10, 2010 at 1:37 AM, Anders Nawroth <
>>>>>>> anders at neotechnology.com> wrote:
>>>>>>>
>>>>>>>> hi!
>>>>>>>>
>>>>>>>> On 08/10/2010 10:06 AM, Brock Rousseau wrote:
>>>>>>>>> The standalone project built fine for me, but we're getting these
>>>>> test
>>>>>>>>> failures for mvn install on the rest component:
>>>>>>>>
>>>>>>>> Try using Java 6 or skip the tests.
>>>>>>>>
>>>>>>>> From the pom.xml:
>>>>>>>> <!-- NOTICE: Tests will not run on standard Java 5!
>>>>>>>>                 This is due to the fact that there is no easily
>>>>>> available
>>>>>>>>                 implementation of the javax.script API for Java 5
>>> in
>>>>>> any
>>>>>>>>                 maven repositories. For building on Java 5, either
>>>>> skip
>>>>>>>>                 running the tests, or include the javax.script js
>>>>>>>> reference
>>>>>>>>                 implementation from
>>>>>> http://jcp.org/en/jsr/detail?id=223
>>>>>>>>                 in the classpath of the JVM.
>>>>>>>>      -->
>>>>>>>>
>>>>>>>> /anders
>>>>>>>> _______________________________________________
>>>>>>>> Neo4j mailing list
>>>>>>>> User at lists.neo4j.org
>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Neo4j mailing list
>>>>>> User at lists.neo4j.org
>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Jacob Hansson
>>>>> Phone: +46 (0) 763503395
>>>>> Twitter: @jakewins
>>>>> _______________________________________________
>>>>> Neo4j mailing list
>>>>> User at lists.neo4j.org
>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>
>>>> _______________________________________________
>>>> Neo4j mailing list
>>>> User at lists.neo4j.org
>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>
>>> _______________________________________________
>>> Neo4j mailing list
>>> User at lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>> _______________________________________________
>> Neo4j mailing list
>> User at lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
>
> _______________________________________________
> Neo4j mailing list
> User at lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>


More information about the User mailing list