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:
Is it necessary for it to take so much time? Or, can this be turned off?
Thanks!
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")
.