Search code examples
graphdb

Very long startup - GraphDB 8.7.2


When starting up graphdb, the log reports a few warnings related to an illegal reflective access operation by org.springframework.cglib.core.ReflectUtils in lib/spring-core-5.0.4.RELEASE.jar and then pauses for a wile at:

[INFO ] 2018-11-19 17:02:34,109 [main | c.o.g.Config] Using 'file:/home/ubuntu/graphdb-free-8.7.2/conf/logback.xml' as logback's configuration file for graphdb
[INFO ] 2018-11-19 17:02:34,427 [main | c.o.g.s.GraphDB] Starting GraphDB in workbench mode.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/home/ubuntu/graphdb-free-8.7.2/lib/spring-core-5.0.4.RELEASE.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO ] 2018-11-19 17:02:39,572 [main | c.o.g.Config] GraphDB Home directory: /home/ubuntu/graphdb-free-8.7.2
[INFO ] 2018-11-19 17:02:39,572 [main | c.o.g.Config] GraphDB Config directory: /home/ubuntu/graphdb-free-8.7.2/conf
[INFO ] 2018-11-19 17:02:39,573 [main | c.o.g.Config] GraphDB Data directory: /home/ubuntu/graphdb-free-8.7.2/data
[INFO ] 2018-11-19 17:02:39,573 [main | c.o.g.Config] GraphDB Work directory: /home/ubuntu/graphdb-free-8.7.2/work
[INFO ] 2018-11-19 17:02:39,573 [main | c.o.g.Config] GraphDB Logs directory: /home/ubuntu/graphdb-free-8.7.2/logs

After approximately 8-13 minutes, the log reports a session ID generation process is finished and the server is deployed:

[WARN ] 2018-11-19 16:38:41,843 [main | o.a.c.u.SessionIdGeneratorBase] Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [784,201] milliseconds.

Running:

  • graphdb-free-8.7.2
  • Ubuntu 18.04.1 LTS
  • openjdk version "10.0.2" 2018-07-17, OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3), OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)

Is it necessary for it to take so much time? Or, can this be turned off?

Thanks!


Solution

  • You can safely ignore the first warning message caused by running the database with Java 9. The new module encapsulation system causes this warning. See what is an illegal reflective access.

    For some unknown reasons, the Apache Tomcat 9.0.4 code base is not capable to generate a random ID. Like it's suggested in Slow startup on Tomcat 7.0.57 because of SecureRandom you should start the database with ./graphdb -Djava.security.egd=file:/dev/./urandom or simply add to $GDB_HOME/bin/graphdb.in.sh the line: JAVA_OPTS_ARRAY+=("-Djava.security.egd=file:/dev/./urandom").