[Neo4j] neo4j REST server configuration

Jim Webber jim at webber.name
Wed Aug 11 12:52:40 CEST 2010


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



More information about the User mailing list