EDG Exception: Locks taken in inconsistent order.

37 views
Skip to first unread message

Tim Smith

unread,
Nov 15, 2022, 2:42:41 PM11/15/22
to topbrai...@googlegroups.com
Hi,

I recently started getting this error in EDG (7.4 & 7.4.1)

org.topbraid.javax.locks.PossibleDeadLockException: Lock Level: IO/W. Locks taken in inconsistent order.

When it happens, the UI gets slow but usually recovers.  Sometimes I have to restart EDG.

Any ideas what is causing this?  Below is a snap of the console log from startup to occurrence of the error.  It took some time before seeing the errors.

Thanks,

Tim

EDG v7.4.1 (20221110-1622)

INFO  [main] c.t.e.s.AbstractServerCommand - Configuration directory: C:\Semantic Tools\EDG-7.4.1_P_11-14-2022\edg\conf
INFO  [main] o.t.e.EDGPersonality - Installed license is valid: C:\Semantic Tools\EDG-7.4.1_P_11-14-2022\edg\conf\saved.lic
INFO  [main] o.t.s.i.JasyptSecureStorage - Reading vault from C:\Semantic Tools\EDG-7.4.1_P_11-14-2022\edg\conf\vault.properties
INFO  [main] o.t.c.TBStartup - Starting TopBraid EDG...
INFO  [main] o.t.t.TeamDatabaseActivator - Configured database type: SharedTDB
INFO  [main] o.t.e.EDGPersonality - Initializing workspace: C:\Semantic Tools\EDG-7.4.1_P_11-14-2022\edg\workspace
INFO  [main] o.t.s.s.e.SWPGraphRegistry - Built ui:graph in 490 ms
INFO  [main] o.t.l.t.TextLuceneIndex - Text index teamwork set up to track 168 graphs
INFO  [main] o.t.c.TBStartup - Startup complete: TopBraid EDG
INFO  [main] c.t.e.s.EmbeddedTomcat - Starting EDG on port 8084
WARN  [main] o.a.c.u.SessionIdGeneratorBase - Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [216] milliseconds.

EDG running at http://localhost:8084/

INFO  [http-nio-8084-exec-1] o.t.c.l.SeatPolicyEnforcer - Starting TopBraid EDG Studio session: [loginName=Administrator, remoteAddr=0:0:0:0:0:0:0:1, userAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.42]
INFO  [SeatPolicyEnforcer idle session clean-up] o.t.c.l.SeatPolicyEnforcer - Ending idle TopBraid EDG Studio session after timeout: [loginName=Administrator, remoteAddr=0:0:0:0:0:0:0:1, userAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.42]
INFO  [http-nio-8084-exec-4] o.t.c.l.SeatPolicyEnforcer - Starting TopBraid EDG Studio session: [loginName=Administrator, remoteAddr=0:0:0:0:0:0:0:1, userAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.42]
INFO  [TeamBufferingGraphs clean up] o.t.t.g.TeamBufferingGraphManager - Unregister: [urn:x-evn-master:platform_governance_singleton:Administrator]  usage=5682.059s

INFO  [TeamBufferingGraphs clean up] o.t.t.g.TeamBufferingGraphManager - Unregister: [urn:x-evn-master:data_gummies_manual_edits_v1_0:Administrator]  usage=5684.726s

ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
ResourceDAO.getPropertylabel resource was not an object.
INFO  [http-nio-8084-exec-2] o.t.t.e.ClearProjectControlElement - Graph <urn:x-evn-master:data_training_model_inferred>
INFO  [http-nio-8084-exec-2] o.t.t.e.ClearProjectControlElement - Clear <urn:x-evn-master:data_training_model_inferred> : 0.201s
WARN  [http-nio-8084-exec-10] o.t.j.l.LockUtil - Locks taken in inconsistent order.
org.topbraid.javax.locks.PossibleDeadLockException: Lock Level: IO/W. Locks taken in inconsistent order.
        at org.topbraid.javax.locks.LockUtil.checkPermitted(LockUtil.java:556) ~[org.topbraid.javax-7.4.1.jar:?]
        at org.topbraid.javax.locks.LockUtil.innerLockBody(LockUtil.java:520) ~[org.topbraid.javax-7.4.1.jar:?]
        at org.topbraid.javax.locks.LockUtil.innerLock(LockUtil.java:513) ~[org.topbraid.javax-7.4.1.jar:?]
        at org.topbraid.javax.locks.LockUtil.lock(LockUtil.java:103) ~[org.topbraid.javax-7.4.1.jar:?]
        at org.topbraid.team.graph.TeamBufferingGraph.commit(TeamBufferingGraph.java:232) ~[org.topbraid.team-7.4.1.jar:?]
        at org.topbraid.team.graph.TeamBufferingGraph.commit(TeamBufferingGraph.java:204) ~[org.topbraid.team-7.4.1.jar:?]
        at org.topbraid.team.graph.TeamBufferingGraph.commit(TeamBufferingGraph.java:199) ~[org.topbraid.team-7.4.1.jar:?]
        at org.topbraid.team.edit.TeamTransaction.doEnd(TeamTransaction.java:97) ~[org.topbraid.team-7.4.1.jar:?]
        at org.topbraid.spin.swp.engine.edit.AbstractTransaction.end(AbstractTransaction.java:56) ~[org.topbraid.spin.swp-7.4.1.jar:?]
        at org.topbraid.spin.swp.util.SWPUtil.lambda$performUpdate$2(SWPUtil.java:541) ~[org.topbraid.spin.swp-7.4.1.jar:?]
        at org.topbraid.core.jena.TxnX.execGraphTransaction(TxnX.java:76) ~[org.topbraid.core-7.4.1.jar:?]
        at org.topbraid.spin.swp.util.SWPUtil.performUpdate(SWPUtil.java:535) ~[org.topbraid.spin.swp-7.4.1.jar:?]
        at org.topbraidlive.team.graphql.TeamGraphQLCommitHandler.commit(TeamGraphQLCommitHandler.java:70) ~[org.topbraidlive.team-7.4.1.jar:?]
        at org.topbraid.shaclx.graphql.query.engine.MutationSupport.commit(MutationSupport.java:637) ~[org.topbraid.shaclx-7.4.1.jar:?]
        at org.topbraid.shaclx.graphql.query.engine.MutationSupport.lambda$install$17(MutationSupport.java:171) ~[org.topbraid.shaclx-7.4.1.jar:?]
        at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:222) ~[graphql-java-7.0.jar:?]
        at graphql.execution.ExecutionStrategy.resolveField(ExecutionStrategy.java:167) ~[graphql-java-7.0.jar:?]
        at graphql.execution.AsyncSerialExecutionStrategy.lambda$execute$1(AsyncSerialExecutionStrategy.java:45) ~[graphql-java-7.0.jar:?]
        at graphql.execution.Async.eachSequentiallyImpl(Async.java:72) ~[graphql-java-7.0.jar:?]
        at graphql.execution.Async.lambda$eachSequentiallyImpl$1(Async.java:84) ~[graphql-java-7.0.jar:?]
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) ~[?:?]
        at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) ~[?:?]
        at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251) ~[?:?]
        at graphql.execution.Async.eachSequentiallyImpl(Async.java:78) ~[graphql-java-7.0.jar:?]
        at graphql.execution.Async.lambda$eachSequentiallyImpl$1(Async.java:84) ~[graphql-java-7.0.jar:?]
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) [?:?]
        at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) [?:?]
        at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251) [?:?]
        at graphql.execution.Async.eachSequentiallyImpl(Async.java:78) [graphql-java-7.0.jar:?]
        at graphql.execution.Async.eachSequentially(Async.java:62) [graphql-java-7.0.jar:?]
        at graphql.execution.AsyncSerialExecutionStrategy.execute(AsyncSerialExecutionStrategy.java:40) [graphql-java-7.0.jar:?]
        at org.topbraid.shaclx.graphql.query.engine.OurMutationStrategy.execute(OurMutationStrategy.java:38) [org.topbraid.shaclx-7.4.1.jar:?]
        at graphql.execution.Execution.executeOperation(Execution.java:153) [graphql-java-7.0.jar:?]
        at graphql.execution.Execution.execute(Execution.java:97) [graphql-java-7.0.jar:?]
        at graphql.GraphQL.execute(GraphQL.java:546) [graphql-java-7.0.jar:?]
        at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:488) [graphql-java-7.0.jar:?]
        at graphql.GraphQL.executeAsync(GraphQL.java:463) [graphql-java-7.0.jar:?]
        at graphql.GraphQL.execute(GraphQL.java:394) [graphql-java-7.0.jar:?]
        at org.topbraid.shaclx.graphql.query.engine.GraphQLEngine.runQuery(GraphQLEngine.java:96) [org.topbraid.shaclx-7.4.1.jar:?]
        at org.topbraidlive.team.graphql.GraphQLQueryUtil.runQuery(GraphQLQueryUtil.java:100) [org.topbraidlive.team-7.4.1.jar:?]
        at org.topbraidlive.team.graphql.GraphQLServlet.run(GraphQLServlet.java:541) [org.topbraidlive.team-7.4.1.jar:?]
        at org.topbraidlive.team.graphql.GraphQLServlet.doPost(GraphQLServlet.java:151) [org.topbraidlive.team-7.4.1.jar:?]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) [tomcat-embed-core-9.0.56.jar:4.0.FR]
        at org.topbraid.core.servlet.TBAuthEnabledServlet.serviceAuthenticated(TBAuthEnabledServlet.java:73) [org.topbraid.core-7.4.1.jar:?]
        at org.topbraid.core.servlet.TBAuthEnabledServlet.service(TBAuthEnabledServlet.java:43) [org.topbraid.core-7.4.1.jar:?]
        at org.topbraid.core.servlet.TBHttpServlet.service(TBHttpServlet.java:123) [org.topbraid.core-7.4.1.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.RemoteRequestFilter.doFilter(RemoteRequestFilter.java:40) [org.topbraidlive.edg.product-7.4.1.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.ConcurrentUserCheckFilter.doFilter(ConcurrentUserCheckFilter.java:42) [org.topbraidlive.edg.product-7.4.1.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.RegisteredProductFilter.doFilter(RegisteredProductFilter.java:54) [org.topbraidlive.edg.product-7.4.1.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.ServiceAvailabilityManager$ServiceAvailabilityFilter.doFilter(ServiceAvailabilityManager.java:160) [org.topbraidlive.edg.product-7.4.1.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.HeaderFilter.doFilter(HeaderFilter.java:33) [org.topbraidlive.edg.product-7.4.1.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1732) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: org.topbraid.javax.JavaxPreferences$TB_DefaultException

Holger Knublauch

unread,
Nov 16, 2022, 10:29:00 AM11/16/22
to topbrai...@googlegroups.com
Hi Tim,

many thanks (as usual) for the heads-up.

Initial investigation indicates you have probably set the server config parameter "Suppress Warnings of Possible Design Inconsistency" to false, which makes these warnings appear. They are in fact just warnings about potential issues, but do no necessarily indicate a real problem in the code.

We are particularly interested if anyone can reproduce such issues with earlier versions than 7.4, or whether this has been introduced recently as part of our general architecture simplifications. We will investigate this further. Meanwhile, if you have any other details please let us know.

Holger
> --
> You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/CAF0WbnKOmSCwap95tW-LRLCZXXEWozP5cgEQrDjHxng_TgdTKw%40mail.gmail.com.

Tim Smith

unread,
Nov 16, 2022, 11:31:36 AM11/16/22
to topbrai...@googlegroups.com
Hi Holger,

Your hypothesis is correct!  I did set the "Suppress Warnings of Possible Design Inconsistency" to false last week.  I wanted to see what it would do, LOL.  However, I didn't correlate the appearance of the locking errors with the change in this parameter.  I discovered the warning because I am experiencing very slow render times of the main asset collection tab, e.g. Data Graph tab, when I'm clicking from another tab, e.g. Transform, back to the main tab.  It can take 30 seconds to render the tab and the process is consuming max CPU (1 core).  However, this does not correlate with the warning.

I tried Studio 7.3 and was able to reproduce the warning when I made a change that was persisted.

Let me know if there are additional tests you would like me to perform.  I have TBC/EDG all the way back to version 4.3 if not further, LOL.

Tim

Microsoft Windows [Version 10.0.19044.2251]
(c) Microsoft Corporation. All rights reserved.

C:\Semantic Tools\EDG-7.3-P_07-28-2022\edg>edg --port 8085

EDG v7.3.0 (20220628-2156)

INFO  [main] c.t.e.s.AbstractServerCommand - Configuration directory: C:\Semantic Tools\EDG-7.3-P_07-28-2022\edg\conf
INFO  [main] o.t.s.i.JasyptSecureStorage - Reading vault from C:\Semantic Tools\EDG-7.3-P_07-28-2022\edg\conf\vault.properties

INFO  [main] o.t.c.TBStartup - Starting TopBraid EDG...
INFO  [main] o.t.t.TeamDatabaseActivator - Configured database type: SharedTDB
INFO  [main] o.t.e.EDGPersonality - Initializing workspace: C:\Semantic Tools\EDG-7.3-P_07-28-2022\edg\workspace
INFO  [main] o.t.s.s.e.SWPGraphRegistry - Built ui:graph in 669 ms
INFO  [main] o.t.l.t.TextLuceneIndex - Text index teamwork set up to track 149 graphs

INFO  [main] o.t.c.TBStartup - Startup complete: TopBraid EDG
INFO  [main] c.t.e.s.EmbeddedTomcat - Starting EDG on port 8085
WARN  [main] o.a.c.u.SessionIdGeneratorBase - Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [236] milliseconds.

EDG running at http://localhost:8085/

INFO  [http-nio-8085-exec-1] o.t.c.l.SeatPolicyEnforcer - Starting EDG session: [loginName=Administrator, remoteAddr=0:0:0:0:0:0:0:1, userAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.42]
WARN  [http-nio-8085-exec-6] o.t.j.l.LockUtil - Locks taken in inconsistent order.

org.topbraid.javax.locks.PossibleDeadLockException: Lock Level: IO/W. Locks taken in inconsistent order.
        at org.topbraid.javax.locks.LockUtil.checkPermitted(LockUtil.java:556) ~[org.topbraid.javax-7.3.0.jar:?]
        at org.topbraid.javax.locks.LockUtil.innerLockBody(LockUtil.java:520) ~[org.topbraid.javax-7.3.0.jar:?]
        at org.topbraid.javax.locks.LockUtil.innerLock(LockUtil.java:513) ~[org.topbraid.javax-7.3.0.jar:?]
        at org.topbraid.javax.locks.LockUtil.lock(LockUtil.java:103) ~[org.topbraid.javax-7.3.0.jar:?]
        at org.topbraid.team.graph.TeamBufferingGraph.commit(TeamBufferingGraph.java:219) ~[org.topbraid.team-7.3.0.jar:?]
        at org.topbraid.team.graph.TeamBufferingGraph.commit(TeamBufferingGraph.java:191) ~[org.topbraid.team-7.3.0.jar:?]
        at org.topbraid.team.graph.TeamBufferingGraph.commit(TeamBufferingGraph.java:186) ~[org.topbraid.team-7.3.0.jar:?]
        at org.topbraid.team.edit.TeamTransaction.doEnd(TeamTransaction.java:97) ~[org.topbraid.team-7.3.0.jar:?]
        at org.topbraid.spin.swp.engine.edit.AbstractTransaction.end(AbstractTransaction.java:56) ~[org.topbraid.spin.swp-7.3.0.jar:?]
        at org.topbraid.spin.swp.util.SWPUtil.lambda$performUpdate$2(SWPUtil.java:541) ~[org.topbraid.spin.swp-7.3.0.jar:?]
        at org.topbraid.core.jena.TxnX.execGraphTransaction(TxnX.java:76) ~[org.topbraid.core-7.3.0.jar:?]
        at org.topbraid.spin.swp.util.SWPUtil.performUpdate(SWPUtil.java:535) ~[org.topbraid.spin.swp-7.3.0.jar:?]
        at org.topbraidlive.team.graphql.TeamGraphQLCommitHandler.commit(TeamGraphQLCommitHandler.java:70) ~[org.topbraidlive.team-7.3.0.jar:?]
        at org.topbraid.shaclx.graphql.query.engine.MutationSupport.commit(MutationSupport.java:632) ~[org.topbraid.shaclx-7.3.0.jar:?]
        at org.topbraid.shaclx.graphql.query.engine.MutationSupport.lambda$install$17(MutationSupport.java:170) ~[org.topbraid.shaclx-7.3.0.jar:?]

        at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:222) ~[graphql-java-7.0.jar:?]
        at graphql.execution.ExecutionStrategy.resolveField(ExecutionStrategy.java:167) ~[graphql-java-7.0.jar:?]
        at graphql.execution.AsyncSerialExecutionStrategy.lambda$execute$1(AsyncSerialExecutionStrategy.java:45) ~[graphql-java-7.0.jar:?]
        at graphql.execution.Async.eachSequentiallyImpl(Async.java:72) ~[graphql-java-7.0.jar:?]
        at graphql.execution.Async.lambda$eachSequentiallyImpl$1(Async.java:84) ~[graphql-java-7.0.jar:?]
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) ~[?:?]
        at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) ~[?:?]
        at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251) ~[?:?]
        at graphql.execution.Async.eachSequentiallyImpl(Async.java:78) ~[graphql-java-7.0.jar:?]
        at graphql.execution.Async.lambda$eachSequentiallyImpl$1(Async.java:84) ~[graphql-java-7.0.jar:?]
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) [?:?]
        at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) [?:?]
        at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251) [?:?]
        at graphql.execution.Async.eachSequentiallyImpl(Async.java:78) [graphql-java-7.0.jar:?]
        at graphql.execution.Async.eachSequentially(Async.java:62) [graphql-java-7.0.jar:?]
        at graphql.execution.AsyncSerialExecutionStrategy.execute(AsyncSerialExecutionStrategy.java:40) [graphql-java-7.0.jar:?]
        at org.topbraid.shaclx.graphql.query.engine.OurMutationStrategy.execute(OurMutationStrategy.java:38) [org.topbraid.shaclx-7.3.0.jar:?]

        at graphql.execution.Execution.executeOperation(Execution.java:153) [graphql-java-7.0.jar:?]
        at graphql.execution.Execution.execute(Execution.java:97) [graphql-java-7.0.jar:?]
        at graphql.GraphQL.execute(GraphQL.java:546) [graphql-java-7.0.jar:?]
        at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:488) [graphql-java-7.0.jar:?]
        at graphql.GraphQL.executeAsync(GraphQL.java:463) [graphql-java-7.0.jar:?]
        at graphql.GraphQL.execute(GraphQL.java:394) [graphql-java-7.0.jar:?]
        at org.topbraid.shaclx.graphql.query.engine.GraphQLEngine.runQuery(GraphQLEngine.java:96) [org.topbraid.shaclx-7.3.0.jar:?]
        at org.topbraidlive.team.graphql.GraphQLQueryUtil.runQuery(GraphQLQueryUtil.java:100) [org.topbraidlive.team-7.3.0.jar:?]
        at org.topbraidlive.team.graphql.GraphQLServlet.run(GraphQLServlet.java:529) [org.topbraidlive.team-7.3.0.jar:?]
        at org.topbraidlive.team.graphql.GraphQLServlet.doPost(GraphQLServlet.java:151) [org.topbraidlive.team-7.3.0.jar:?]

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) [tomcat-embed-core-9.0.56.jar:4.0.FR]
        at org.topbraid.core.servlet.TBAuthEnabledServlet.serviceAuthenticated(TBAuthEnabledServlet.java:77) [org.topbraid.core-7.3.0.jar:?]
        at org.topbraid.core.servlet.TBAuthEnabledServlet.service(TBAuthEnabledServlet.java:44) [org.topbraid.core-7.3.0.jar:?]
        at org.topbraid.core.servlet.TBHttpServlet.service(TBHttpServlet.java:119) [org.topbraid.core-7.3.0.jar:?]

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.RemoteRequestFilter.doFilter(RemoteRequestFilter.java:56) [org.topbraidlive.edg.product-7.3.0.jar:?]

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.ConcurrentUserCheckFilter.doFilter(ConcurrentUserCheckFilter.java:42) [org.topbraidlive.edg.product-7.3.0.jar:?]

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.RegisteredProductFilter.doFilter(RegisteredProductFilter.java:55) [org.topbraidlive.edg.product-7.3.0.jar:?]

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.ServiceAvailabilityManager$ServiceAvailabilityFilter.doFilter(ServiceAvailabilityManager.java:160) [org.topbraidlive.edg.product-7.3.0.jar:?]

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.topbraidlive.edg.HeaderFilter.doFilter(HeaderFilter.java:33) [org.topbraidlive.edg.product-7.3.0.jar:?]

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1732) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.56.jar:9.0.56]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: org.topbraid.javax.JavaxPreferences$TB_DefaultException

Holger Knublauch

unread,
Nov 16, 2022, 11:42:56 AM11/16/22
to topbrai...@googlegroups.com
Thanks.

If the loading of the main editor (for your Data Graph) takes a long time, maybe it is waiting for a web service called teamwork:GraphInitDataJSON to return? What I usually do to track down the source of load slowness is to open the Inspect tool (right-click in Chrome) and find something as the following in the Network tab:

PastedGraphic-1.png

Do you see any particular service that takes the 30 seconds?

Also, how many classes are in your ontologies?

Holger


Tim Smith

unread,
Nov 16, 2022, 1:03:26 PM11/16/22
to topbrai...@googlegroups.com
Hi Holger,

Once again, you have nailed it...

This data graph imports my extensions of Data, Technical and Enterprise asset collections so all three of those asset collection ontologies are in this graph.  An EDG usage pattern that has developed is to create a Data Graph to contain all resources that are not a part of or an extension of an EDG asset collection (i.e. IOT data/devices).  Then I create instance graphs for Data, Technical, and Enterprise assets and include them in the first Data Graph.  I do this because EDG will not allow me to create an instance of a Technical Asset outside of a Technical Asset graph, etc... 

Thus, in the example below, I have my custom classes (~30) plus all the classes from the three asset collections.  I'm not surprised that it can be slow.

This query returns 542.

SELECT (COUNT(*) as ?numclasses)
WHERE {
    ?s a owl:Class .
}

Tim

image.png

Holger Knublauch

unread,
Nov 17, 2022, 4:06:55 AM11/17/22
to topbrai...@googlegroups.com
Good. Or rather: not, because 542 classes is not TOO much and the system should be handling this better.

May I ask two follow-up questions to help me reproduce this:

1) Is the slowness each time you open the editor or only after you made changes to Ontologies. I am asking because when you open a graph for the first time the server may need to extra work to build GraphQL schemas and similar helper structures that is only needed when ontologies have changed and remain cached after that.

2) Is there any chance for me to get a copy of your data graph - I don't need the instances but would like to know which classes, owl:imports and graphql:publicClass statements you have declared. As usual, a direct email to me would avoid sharing it in public. With this I could run it through a profiler and learn exactly where the time is spent.

Thanks
Holger


On 16 Nov 2022, at 6:03 pm, Tim Smith <smith...@gmail.com> wrote:

Hi Holger,

Once again, you have nailed it...

This data graph imports my extensions of Data, Technical and Enterprise asset collections so all three of those asset collection ontologies are in this graph.  An EDG usage pattern that has developed is to create a Data Graph to contain all resources that are not a part of or an extension of an EDG asset collection (i.e. IOT data/devices).  Then I create instance graphs for Data, Technical, and Enterprise assets and include them in the first Data Graph.  I do this because EDG will not allow me to create an instance of a Technical Asset outside of a Technical Asset graph, etc... 

Thus, in the example below, I have my custom classes (~30) plus all the classes from the three asset collections.  I'm not surprised that it can be slow.

This query returns 542.

SELECT (COUNT(*) as ?numclasses)
WHERE {
    ?s a owl:Class .
}

Tim

<image.png>

On Wed, Nov 16, 2022 at 11:42 AM Holger Knublauch <hol...@topquadrant.com> wrote:
Thanks.

If the loading of the main editor (for your Data Graph) takes a long time, maybe it is waiting for a web service called teamwork:GraphInitDataJSON to return? What I usually do to track down the source of load slowness is to open the Inspect tool (right-click in Chrome) and find something as the following in the Network tab:

Reply all
Reply to author
Forward
0 new messages