1

I am trying to create an UI for my Neo4j graph "from scratch", meaning that I followed https://support.structr.com/article/234 on how to start up structr with an empty database, yet I set structr.conf to bind to an existing (and filled) graph via the settings

application.http.port = 8082
superuser.username = superadmin
superuser.password = *****
database.driver.mode = remote
database.connection.url = bolt://myhost:myport
database.connection.username = mydbuser
database.connection.password = *****

Now everytime I try to add a schemanode manually, I get something like

21:25:15.013 [qtp60187547-24] INFO  org.structr.schema.SchemaHelper - New signature created: TestNodeForSchema
21:25:15.153 [qtp60187547-24] INFO  org.structr.schema.SchemaHelper - New signature created: _schema/TestNodeForSchema
21:25:15.345 [qtp60187547-24] INFO  org.structr.schema.SchemaHelper - New signature created: TestNodeForSchema/_Ui
21:25:18.740 [qtp60187547-24] INFO  o.s.schema.compiler.NodeExtender - Successfully compiled 11 dynamic entities: File.java, _FileHelper.java, Folder.java, Group.java, Image.java, _ImageHelper.java, MailTemplate.java, Page.java, TestNodeForSchema.java, User.java, Widget.java
21:25:24.364 [qtp60187547-24] ERROR org.structr.schema.SchemaService - Unable to compile dynamic schema.
org.neo4j.driver.v1.exceptions.ClientException: Transaction timeout. (Overtime: 2 ms).
    at org.neo4j.driver.internal.net.SocketResponseHandler.handleFailureMessage(SocketResponseHandler.java:75)
    at org.neo4j.driver.internal.messaging.PackStreamMessageFormatV1$Reader.unpackFailureMessage(PackStreamMessageFormatV1.java:457)
    at org.neo4j.driver.internal.messaging.PackStreamMessageFormatV1$Reader.read(PackStreamMessageFormatV1.java:418)
    at org.neo4j.driver.internal.net.SocketClient.receiveOne(SocketClient.java:176)
    at org.neo4j.driver.internal.net.SocketConnection.receiveOne(SocketConnection.java:215)
    at org.neo4j.driver.internal.net.ConcurrencyGuardingConnection.receiveOne(ConcurrencyGuardingConnection.java:165)
    at org.neo4j.driver.internal.net.pooling.PooledSocketConnection.receiveOne(PooledSocketConnection.java:183)
    at org.neo4j.driver.internal.InternalStatementResult.receiveOne(InternalStatementResult.java:335)
    at org.neo4j.driver.internal.InternalStatementResult.tryFetchNext(InternalStatementResult.java:325)
    at org.neo4j.driver.internal.InternalStatementResult.hasNext(InternalStatementResult.java:193)
    at org.structr.bolt.wrapper.StatementResultWrapper.hasNext(StatementResultWrapper.java:68)
    at org.structr.core.graph.CreateNodeCommand.createNode(CreateNodeCommand.java:207)
    at org.structr.core.graph.CreateNodeCommand.execute(CreateNodeCommand.java:121)
    at org.structr.core.graph.CreateNodeCommand.execute(CreateNodeCommand.java:59)
    at org.structr.core.app.StructrApp.create(StructrApp.java:136)
    at org.structr.core.entity.AbstractSchemaNode$CreateBuiltInSchemaEntities.execute(AbstractSchemaNode.java:187)
    at org.structr.core.entity.AbstractSchemaNode.createBuiltInSchemaEntities(AbstractSchemaNode.java:129)
    at org.structr.schema.SchemaService.reloadSchema(SchemaService.java:164)
    at org.structr.schema.SchemaHelper.reloadSchema(SchemaHelper.java:319)
    at org.structr.schema.ReloadSchema.execute(ReloadSchema.java:34)
    at org.structr.core.graph.ModificationQueue.doPostProcessing(ModificationQueue.java:128)
    at org.structr.core.graph.TransactionCommand.commitTx(TransactionCommand.java:118)
    at org.structr.core.graph.Tx.success(Tx.java:70)
    at org.structr.rest.servlet.JsonRestServlet.doPost(JsonRestServlet.java:436)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
    at org.eclipse.jetty.servlets.AsyncGzipFilter.doFilter(AsyncGzipFilter.java:408)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:497)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:748)
21:25:24.400 [qtp60187547-24] WARN  o.s.rest.servlet.JsonRestServlet - Exception in POST
org.neo4j.driver.v1.exceptions.ClientException: Cannot run more statements in this transaction, because previous statements in the transaction has failed and the transaction has been rolled back. Please start a new transaction to run another statement.
    at org.neo4j.driver.internal.ExplicitTransaction.ensureNotFailed(ExplicitTransaction.java:222)
    at org.neo4j.driver.internal.ExplicitTransaction.run(ExplicitTransaction.java:190)
    at org.neo4j.driver.internal.ExplicitTransaction.run(ExplicitTransaction.java:164)
    at org.neo4j.driver.internal.ExplicitTransaction.run(ExplicitTransaction.java:177)
    at org.structr.bolt.SessionTransaction.getNodes(SessionTransaction.java:247)
    at org.structr.bolt.index.CypherNodeIndex.getResult(CypherNodeIndex.java:62)
    at org.structr.bolt.index.AbstractCypherIndex.query(AbstractCypherIndex.java:154)
    at org.structr.core.graph.search.SearchCommand.doSearch(SearchCommand.java:210)
    at org.structr.core.graph.search.SearchCommand.getResult(SearchCommand.java:315)
    at org.structr.core.graph.search.SearchCommand.getAsList(SearchCommand.java:321)
    at org.structr.schema.SchemaService.calculateHierarchy(SchemaService.java:271)
    at org.structr.schema.SchemaService.reloadSchema(SchemaService.java:197)
    at org.structr.schema.SchemaHelper.reloadSchema(SchemaHelper.java:319)
    at org.structr.schema.ReloadSchema.execute(ReloadSchema.java:34)
    at org.structr.core.graph.ModificationQueue.doPostProcessing(ModificationQueue.java:128)
    at org.structr.core.graph.TransactionCommand.commitTx(TransactionCommand.java:118)
    at org.structr.core.graph.Tx.success(Tx.java:70)
    at org.structr.rest.servlet.JsonRestServlet.doPost(JsonRestServlet.java:436)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
    at org.eclipse.jetty.servlets.AsyncGzipFilter.doFilter(AsyncGzipFilter.java:408)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:497)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:748)

I have the transaction timeout set to 10 seconds. Do I need to increase it? If so, why is this taking so long? Did I miss some step?

tscherg
  • 1,032
  • 8
  • 22
  • 1
    Just to rule out the possibility of a database timeout: Could you try setting a much higher tx timeout, like 1800 seconds or so? – Axel Morgner Sep 20 '17 at 22:18

1 Answers1

2

I just tested this with the current snapshot and an example neo4j community instance filled with the northwind example dataset and creating new schema nodes works for me.

Could you provide some more info?

  • Structr version (should show up in the top right of structr-ui when the 'Schema' tab is open)
  • neo4j version
  • full structr log file (if you don't want to share it here you could go to https://support.structr.com/tickets and open a support ticket)
vigorouscoding
  • 426
  • 4
  • 9