In the docker environment. I am trying to upgrade the neo4j version from 4.4.3 to 5.2.0
I am facing the below error
Failed to read config /var/lib/neo4j/conf/neo4j.conf: Unrecognized setting. No declared setting with name: apoc.export.file.enabled. Cleanup the config or disable 'server.config.strict_validation.enabled' to continue.
In neo4j.conf file I have commented on the below line
apoc.export.file.enabled even though am getting the same error.
Thanks for reporting and I have reproduced the failure such that including apoc.export.file.enabled=true, and to which this is a valid parameter, in your conf/neo4j.conf, and with server.config.strict_validation.enabled defined as true ( note in 5.x the default was changed from its previous FALSE to TRUE ), that neo4j will fail to start.
Can you add to your conf/neo4j.conf
server.config.strict_validation.enabled=false
restart and let me know if Neo starts and if you are able to export via APOC.
I will report this to engineering for further analysis
# The name of the default database #initial.dbms.default_database=neo4j
# Paths of directories in the installation. server.directories.data=data server.directories.plugins=plugins server.directories.logs=logs server.directories.lib=lib server.directories.run=run server.directories.licenses=licenses server.directories.transaction.logs.root=data/transactions
# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
# allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
# `LOAD CSV` section of the manual for details.
# Whether requests to Neo4j are authenticated.
# To disable authentication, uncomment this line #dbms.security.auth_enabled=false
# Memory settings are specified kilobytes with the 'k' suffix, megabytes with
# 'm' and gigabytes with 'g'.
# If Neo4j is running on a dedicated server, then it is generally recommended
# to leave about 2-4 gigabytes for the operating system, give the JVM enough
# heap to hold all your transaction state and query context, and then leave the
# rest for the page cache.
# Java Heap Size: by default the Java heap size is dynamically calculated based
# on available system resources. Uncomment these lines to set specific initial
# and maximum heap size. server.memory.heap.initial_size=512m server.memory.heap.max_size=512m
# The amount of memory to use for mapping the store files.
# The default page cache memory assumes the machine is dedicated to running
# Neo4j, and is heuristically set to 50% of RAM minus the Java heap size. server.memory.pagecache.size=10g
# Limit the amount of memory that all of the running transaction can consume.
# The default value is 70% of the heap size limit. #dbms.memory.transaction.total.max=256m
# Limit the amount of memory that a single transaction can consume.
# By default there is no limit. #db.memory.transaction.max=16m
# Transaction state location. It is recommended to use ON_HEAP.
# db.tx_state.memory_allocation=ON_HEAP
# With default configuration Neo4j only accepts local connections.
# To accept non-local connections, uncomment this line: server.default_listen_address=0.0.0.0
# You can also choose a specific network interface, and configure a non-default
# port for each connector, by setting their individual listen_address.
# The address at which this server can be reached by its clients. This may be the server's IP address or DNS name, or
# it may be the address of a reverse proxy which sits in front of the server. This setting may be overridden for
# individual connectors below. server.default_advertised_address=localhost
# You can also choose a specific advertised hostname or IP address, and
# configure an advertised port for each connector, by setting their
# individual advertised_address.
# By default, encryption is turned off.
# To turn on encryption, an ssl policy for the connector needs to be configured
# Read more in SSL policy section in this file for how to define a SSL policy.
# HTTP Connector. There can be zero or one HTTP connectors.
server.http.enabled=true server.http.listen_address=:7474 server.http.advertised_address=:7474
# HTTPS Connector. There can be zero or one HTTPS connectors.
server.https.enabled=false server.https.listen_address=:7473 server.https.advertised_address=:7473
# Number of Neo4j worker threads. server.threads.worker_count=
# Each policy is configured under a separate namespace, e.g.
# dbms.ssl.policy..*
# can be any of 'bolt', 'https', 'cluster' or 'backup'
# The scope is the name of the component where the policy will be used
# Each component where the use of an ssl policy is desired needs to declare at least one setting of the policy.
# Allowable values are 'bolt', 'https', 'cluster' or 'backup'.
# E.g if bolt and https connectors should use the same policy, the following could be declared
# dbms.ssl.policy.bolt.base_directory=certificates/default
# dbms.ssl.policy.https.base_directory=certificates/default
# However, it's strongly encouraged to not use the same key pair for multiple scopes.
# N.B: Note that a connector must be configured to support/require
# SSL/TLS for the policy to actually be utilized.
# see: dbms.connector.*.tls_level
# SSL settings (dbms.ssl.policy..*)
# .base_directory Base directory for SSL policies paths. All relative paths within the
# SSL configuration will be resolved from the base dir.
# .private_key A path to the key file relative to the '.base_directory'.
# .private_key_password The password for the private key.
# .public_certificate A path to the public certificate file relative to the '.base_directory'.
# .trusted_dir A path to a directory containing trusted certificates.
# .revoked_dir Path to the directory with Certificate Revocation Lists (CRLs).
# .verify_hostname If true, the server will verify the hostname that the client uses to connect with. In order
# for this to work, the server public certificate must have a valid CN and/or matching
# Subject Alternative Names.
# .client_auth How the client should be authorized. Possible values are: 'none', 'optional', 'require'.
# .tls_versions A comma-separated list of allowed TLS versions. By default only TLSv1.2 is allowed.
# .trust_all Setting this to 'true' will ignore the trust truststore, trusting all clients and servers.
# Use of this mode is discouraged. It would offer encryption but no security.
# .ciphers A comma-separated list of allowed ciphers. The default ciphers are the defaults of
# the JVM platform.
# Determines if Cypher will allow using file URLs when loading data using
# `LOAD CSV`. Setting this value to `false` will cause Neo4j to fail `LOAD CSV`
# clauses that load data from the file system. #dbms.security.allow_csv_import_from_file_urls=true
# Value of the Access-Control-Allow-Origin header sent over any HTTP or HTTPS
# connector. This defaults to '*', which allows broadest compatibility. Note
# that any URI provided here limits HTTP/HTTPS access to that URI only. #dbms.security.http_access_control_allow_origin=*
# Value of the HTTP Strict-Transport-Security (HSTS) response header. This header
# tells browsers that a webpage should only be accessed using HTTPS instead of HTTP.
# It is attached to every HTTPS response. Setting is not set by default so
# 'Strict-Transport-Security' header is not sent. Value is expected to contain
# directives like 'max-age', 'includeSubDomains' and 'preload'. #dbms.security.http_strict_transport_security=
# Retention policy for transaction logs needed to perform recovery and backups.
db.tx_log.rotation.retention_policy=1 days
# Whether or not any database on this instance are read_only by default.
# If false, individual databases may be marked as read_only using dbms.database.read_only.
# If true, individual databases may be marked as writable using dbms.databases.writable. #dbms.databases.default_to_read_only=false
# Comma separated list of JAX-RS packages containing JAX-RS resources, one
# package name for each mountpoint. The listed package names will be loaded
# under the mountpoints specified. Uncomment this line to mount the
# org.neo4j.examples.server.unmanaged.HelloWorldResource.java from
# neo4j-server-examples under /examples/unmanaged, resulting in a final URL of
# http://localhost:7474/examples/unmanaged/helloworld/{nodeId} server.unmanaged_extension_classes=org.neo4j.examples.server.unmanaged=/examples/unmanaged
# A comma separated list of procedures and user defined functions that are allowed
# full access to the database through unsupported/insecure internal APIs. #dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*
# A comma separated list of procedures to be loaded by default.
# Leaving this unconfigured will load all procedures found. #dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*
# G1GC generally strikes a good balance between throughput and tail
# latency, without too much tuning.
server.jvm.additional=-XX:+UseG1GC
# Have common exceptions keep producing stack traces, so they can be
# debugged regardless of how often logs are rotated.
server.jvm.additional=-XX:-OmitStackTraceInFastThrow
# Make sure that `initmemory` is not only allocated, but committed to
# the process, before starting the database. This reduces memory
# fragmentation, increasing the effectiveness of transparent huge
# pages. It also reduces the possibility of seeing performance drop
# due to heap-growing GC events, where a decrease in available page
# cache leads to an increase in mean IO response time.
# Try reducing the heap memory, if this flag degrades performance.
server.jvm.additional=-XX:+AlwaysPreTouch
# Trust that non-static final fields are really final.
# This allows more optimizations and improves overall performance.
# NOTE: Disable this if you use embedded mode, or have extensions or dependencies that may use reflection or
# serialization to change the value of final fields!
server.jvm.additional=-XX:+UnlockExperimentalVMOptions
server.jvm.additional=-XX:+TrustFinalNonStaticFields
# Disable explicit garbage collection, which is occasionally invoked by the JDK itself.
server.jvm.additional=-XX:+DisableExplicitGC
# Restrict size of cached JDK buffers to 1 KB
server.jvm.additional=-Djdk.nio.maxCachedBufferSize=1024
# More efficient buffer allocation in Netty by allowing direct no cleaner buffers.
server.jvm.additional=-Dio.netty.tryReflectionSetAccessible=true
# Exits JVM on the first occurrence of an out-of-memory error. Its preferable to restart VM in case of out of memory errors.
# server.jvm.additional=-XX:+ExitOnOutOfMemoryError
# Expand Diffie Hellman (DH) key size from default 1024 to 2048 for DH-RSA cipher suites used in server TLS handshakes.
# This is to protect the server from any potential passive eavesdropping.
server.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
# This mitigates a DDoS vector.
server.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
# This filter prevents deserialization of arbitrary objects via java object serialization, addressing potential vulnerabilities.
# By default this filter whitelists all neo4j classes, as well as classes from the hazelcast library and the java standard library.
# These defaults should only be modified by expert users!
# For more details (including filter syntax) see: https://openjdk.java.net/jeps/290 server.jvm.additional=-Djdk.serialFilter=java.**;org.neo4j.**;com.neo4j.**;com.hazelcast.**;net.sf.ehcache.Element;com.sun.proxy.*;org.openjdk.jmh.**;!*
# Increase the default flight recorder stack sampling depth from 64 to 256, to avoid truncating frames when profiling.
server.jvm.additional=-XX:FlightRecorderOptions=stackdepth=256
# Allow profilers to sample between safepoints. Without this, sampling profilers may produce less accurate results.
server.jvm.additional=-XX:+UnlockDiagnosticVMOptions
server.jvm.additional=-XX:+DebugNonSafepoints
# Open modules for neo4j to allow internal access
server.jvm.additional=--add-opens=java.base/java.nio=ALL-UNNAMED
server.jvm.additional=--add-opens=java.base/java.io=ALL-UNNAMED
server.jvm.additional=--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
# Limit JVM metaspace and code cache to allow garbage collection. Used by cypher for code generation and may grow indefinitely unless constrained.
# Useful for memory constrained environments server.jvm.additional=-XX:MaxMetaspaceSize=1024m server.jvm.additional=-XX:ReservedCodeCacheSize=512m
#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
# using this configuration file has been installed as a service.
# Please uninstall the service before modifying this section. The
# service can then be reinstalled.
# Name of the service
server.windows_service_name=neo4j
#********************************************************************
# Other Neo4j system properties
#********************************************************************
dbms.security.procedures.unrestricted=apoc.*
if you move apoc.export.file.enabled=true from conf/neo4j.conf to conf/apoc.conf ( you may need to create said file ) does this allow for successful Neo4j start. From a doc perspective APOC 5x doc https://neo4j.com/docs/apoc/5/config/#config-reference indicates to put the apoc* config settings in conf/apoc.conf
I am seeing the below exception and request you guide me on the same. I have given apoc.conf and neo4j conf file details as well.
Starting Neo4j.
2023-01-09 12:01:36.094+0000 WARN Setting 'dbms.allow_upgrade' is removed. It no longer has any effect.
2023-01-09 12:01:36.098+0000 WARN Use of deprecated setting 'dbms.tx_log.rotation.retention_policy'. It is replaced by 'db.tx_log.rotation.retention_policy'.
2023-01-09 12:01:36.099+0000 WARN Use of deprecated setting 'dbms.default_listen_address'. It is replaced by 'server.default_listen_address'.
2023-01-09 12:01:36.099+0000 WARN Use of deprecated setting 'dbms.jvm.additional'. It is replaced by 'server.jvm.additional'.
2023-01-09 12:01:36.099+0000 WARN Use of deprecated setting 'dbms.memory.pagecache.size'. It is replaced by 'server.memory.pagecache.size'.
2023-01-09 12:01:36.100+0000 WARN Use of deprecated setting 'dbms.memory.heap.max_size'. It is replaced by 'server.memory.heap.max_size'.
2023-01-09 12:01:36.100+0000 WARN Use of deprecated setting 'dbms.memory.heap.initial_size'. It is replaced by 'server.memory.heap.initial_size'.
2023-01-09 12:01:36.100+0000 WARN Use of deprecated setting 'dbms.unmanaged_extension_classes'. It is replaced by 'server.unmanaged_extension_classes'.
2023-01-09 12:01:36.101+0000 WARN Unrecognized setting. No declared setting with name: apoc.export.file.enabled.
2023-01-09 12:01:36.101+0000 WARN Unrecognized setting. No declared setting with name: gitlab.username.
2023-01-09 12:01:36.102+0000 WARN Unrecognized setting. No declared setting with name: google.maps.api.key.
2023-01-09 12:01:36.102+0000 WARN Unrecognized setting. No declared setting with name: usps.api.endpoint.
2023-01-09 12:01:36.102+0000 WARN Unrecognized setting. No declared setting with name: apoc.import.file.enabled.
2023-01-09 12:01:36.102+0000 WARN Unrecognized setting. No declared setting with name: usps.api.userid.
2023-01-09 12:01:36.103+0000 WARN Unrecognized setting. No declared setting with name: gitlab.access.token.
2023-01-09 12:01:36.103+0000 WARN Unrecognized setting. No declared setting with name: apoc.import.file.use_neo4j_config.
2023-01-09 12:01:36.103+0000 WARN Unrecognized setting. No declared setting with name: usps.api.target.
2023-01-09 12:01:36.103+0000 WARN Unrecognized setting. No declared setting with name: PLUGINS.
2023-01-09 12:01:36.114+0000 INFO Starting...
2023-01-09 12:01:36.841+0000 INFO This instance is ServerId{2b5901e8} (2b5901e8-24fa-4b0c-99c5-9442958a1ee1)
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2023-01-09 12:01:37.867+0000 INFO ======== Neo4j 5.2.0 ========
2023-01-09 12:01:48.362+0000 ERROR Failed to start Neo4j on 0.0.0.0:7474.
java.lang.RuntimeException: Error starting Neo4j database server at /data/databases
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:255) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:193) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:36) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:164) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:85) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:30) ~[neo4j-5.2.0.jar:5.2.0]
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.dbms.database.DefaultSystemGraphInitializer@2b0e9f30' was successfully initialized, but failed to start. Please see the attached cause exception "The selected target store format 'AF4.3.0' (introduced in 4.3.0) is no longer supported".
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:370) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:92) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:246) ~[neo4j-5.2.0.jar:5.2.0]
... 5 more
Suppressed: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.dbms.database.DatabaseLifecycles$AllDatabaseStopper@1e4d3c2e' failed to stop. Please see the attached cause exception "System database is not (yet) available".
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.stop(LifeSupport.java:384) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport.stopInstances(LifeSupport.java:212) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport.stop(LifeSupport.java:120) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:97) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:246) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:193) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:36) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:164) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:85) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:30) ~[neo4j-5.2.0.jar:5.2.0]
Caused by: org.neo4j.graphdb.DatabaseShutdownException: This database is shutdown.
at org.neo4j.kernel.database.SystemGraphDatabaseIdRepository.execute(SystemGraphDatabaseIdRepository.java:52) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.SystemGraphDatabaseIdRepository.getByName(SystemGraphDatabaseIdRepository.java:40) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.DatabaseIdRepository.getByName(DatabaseIdRepository.java:55) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.MapCachingDatabaseIdRepository.lambda$getByName$0(MapCachingDatabaseIdRepository.java:53) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
at org.neo4j.kernel.database.MapCachingDatabaseIdRepository.getByName(MapCachingDatabaseIdRepository.java:52) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.DatabaseIdRepository.getByName(DatabaseIdRepository.java:55) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DatabaseRepository.getDatabaseContext(DatabaseRepository.java:54) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DatabaseLifecycles.defaultContext(DatabaseLifecycles.java:75) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DatabaseLifecycles$AllDatabaseStopper.stop(DatabaseLifecycles.java:149) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.stop(LifeSupport.java:380) ~[neo4j-common-5.2.0.jar:5.2.0]
... 9 more
Caused by: org.neo4j.dbms.api.DatabaseManagementException: System database is not (yet) available
at org.neo4j.kernel.database.SystemGraphDatabaseIdRepository.execute(SystemGraphDatabaseIdRepository.java:52) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.SystemGraphDatabaseIdRepository.getByName(SystemGraphDatabaseIdRepository.java:40) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.DatabaseIdRepository.getByName(DatabaseIdRepository.java:55) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.MapCachingDatabaseIdRepository.lambda$getByName$0(MapCachingDatabaseIdRepository.java:53) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
at org.neo4j.kernel.database.MapCachingDatabaseIdRepository.getByName(MapCachingDatabaseIdRepository.java:52) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.DatabaseIdRepository.getByName(DatabaseIdRepository.java:55) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DatabaseRepository.getDatabaseContext(DatabaseRepository.java:54) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DatabaseLifecycles.defaultContext(DatabaseLifecycles.java:75) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DatabaseLifecycles$AllDatabaseStopper.stop(DatabaseLifecycles.java:149) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.stop(LifeSupport.java:380) ~[neo4j-common-5.2.0.jar:5.2.0]
... 9 more
Caused by: org.neo4j.graphdb.DatabaseShutdownException: This database is shutdown.
at org.neo4j.kernel.availability.DatabaseAvailabilityGuard.assertDatabaseAvailable(DatabaseAvailabilityGuard.java:154) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginKernelTransaction(GraphDatabaseFacade.java:148) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransactionInternal(GraphDatabaseFacade.java:117) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:92) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.impl.factory.GraphDatabaseTransactions.beginTransaction(GraphDatabaseTransactions.java:113) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.impl.factory.GraphDatabaseTransactions.beginTransaction(GraphDatabaseTransactions.java:107) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.impl.factory.GraphDatabaseTransactions.beginTransaction(GraphDatabaseTransactions.java:102) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.impl.factory.GraphDatabaseTransactions.beginTx(GraphDatabaseTransactions.java:93) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.SystemGraphComponents.initializeSystemGraph(SystemGraphComponents.java:97) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DefaultSystemGraphInitializer.initializeSystemGraph(DefaultSystemGraphInitializer.java:38) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.SystemGraphInitializer.start(SystemGraphInitializer.java:27) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:353) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:92) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:246) ~[neo4j-5.2.0.jar:5.2.0]
... 5 more
Caused by: org.neo4j.kernel.impl.storemigration.UnableToMigrateException: The selected target store format 'AF4.3.0' (introduced in 4.3.0) is no longer supported
at org.neo4j.kernel.impl.storemigration.StoreMigrator.doUpgradeCheck(StoreMigrator.java:326) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.impl.storemigration.StoreMigrator.upgradeIfNeeded(StoreMigrator.java:195) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.Database.upgradeStore(Database.java:731) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.Database.specificStart(Database.java:383) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.kernel.database.AbstractDatabase.start(AbstractDatabase.java:156) ~[neo4j-kernel-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DatabaseLifecycles.startDatabase(DatabaseLifecycles.java:119) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.dbms.database.DatabaseLifecycles$SystemDatabaseStarter.start(DatabaseLifecycles.java:142) ~[neo4j-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:353) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:92) ~[neo4j-common-5.2.0.jar:5.2.0]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:246) ~[neo4j-5.2.0.jar:5.2.0]
... 5 more
2023-01-09 12:01:48.364+0000 INFO Neo4j Server shutdown initiated by request
2023-01-09 12:01:48.365+0000 INFO Stopped.
Unexpected process failure. See log for info.
Run with '--verbose' for a more detailed error message.
# The name of the default database #initial.dbms.default_database=neo4j
# Paths of directories in the installation. server.directories.data=data server.directories.plugins=plugins server.directories.logs=logs server.directories.lib=lib server.directories.run=run server.directories.licenses=licenses server.directories.transaction.logs.root=data/transactions
# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
# allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
# `LOAD CSV` section of the manual for details.
# Whether requests to Neo4j are authenticated.
# To disable authentication, uncomment this line #dbms.security.auth_enabled=false
# Memory settings are specified kilobytes with the 'k' suffix, megabytes with
# 'm' and gigabytes with 'g'.
# If Neo4j is running on a dedicated server, then it is generally recommended
# to leave about 2-4 gigabytes for the operating system, give the JVM enough
# heap to hold all your transaction state and query context, and then leave the
# rest for the page cache.
# Java Heap Size: by default the Java heap size is dynamically calculated based
# on available system resources. Uncomment these lines to set specific initial
# and maximum heap size. server.memory.heap.initial_size=512m server.memory.heap.max_size=512m
# The amount of memory to use for mapping the store files.
# The default page cache memory assumes the machine is dedicated to running
# Neo4j, and is heuristically set to 50% of RAM minus the Java heap size. server.memory.pagecache.size=10g
# Limit the amount of memory that all of the running transaction can consume.
# The default value is 70% of the heap size limit. #dbms.memory.transaction.total.max=256m
# Limit the amount of memory that a single transaction can consume.
# By default there is no limit. #db.memory.transaction.max=16m
# Transaction state location. It is recommended to use ON_HEAP.
# db.tx_state.memory_allocation=ON_HEAP
# With default configuration Neo4j only accepts local connections.
# To accept non-local connections, uncomment this line: server.default_listen_address=0.0.0.0
# You can also choose a specific network interface, and configure a non-default
# port for each connector, by setting their individual listen_address.
# The address at which this server can be reached by its clients. This may be the server's IP address or DNS name, or
# it may be the address of a reverse proxy which sits in front of the server. This setting may be overridden for
# individual connectors below. server.default_advertised_address=localhost
# You can also choose a specific advertised hostname or IP address, and
# configure an advertised port for each connector, by setting their
# individual advertised_address.
# By default, encryption is turned off.
# To turn on encryption, an ssl policy for the connector needs to be configured
# Read more in SSL policy section in this file for how to define a SSL policy.
# HTTP Connector. There can be zero or one HTTP connectors.
server.http.enabled=true server.http.listen_address=:7474 server.http.advertised_address=:7474
# HTTPS Connector. There can be zero or one HTTPS connectors.
server.https.enabled=false server.https.listen_address=:7473 server.https.advertised_address=:7473
# Number of Neo4j worker threads. server.threads.worker_count=
# Each policy is configured under a separate namespace, e.g.
# dbms.ssl.policy..*
# can be any of 'bolt', 'https', 'cluster' or 'backup'
# The scope is the name of the component where the policy will be used
# Each component where the use of an ssl policy is desired needs to declare at least one setting of the policy.
# Allowable values are 'bolt', 'https', 'cluster' or 'backup'.
# E.g if bolt and https connectors should use the same policy, the following could be declared
# dbms.ssl.policy.bolt.base_directory=certificates/default
# dbms.ssl.policy.https.base_directory=certificates/default
# However, it's strongly encouraged to not use the same key pair for multiple scopes.
# N.B: Note that a connector must be configured to support/require
# SSL/TLS for the policy to actually be utilized.
# see: dbms.connector.*.tls_level
# SSL settings (dbms.ssl.policy..*)
# .base_directory Base directory for SSL policies paths. All relative paths within the
# SSL configuration will be resolved from the base dir.
# .private_key A path to the key file relative to the '.base_directory'.
# .private_key_password The password for the private key.
# .public_certificate A path to the public certificate file relative to the '.base_directory'.
# .trusted_dir A path to a directory containing trusted certificates.
# .revoked_dir Path to the directory with Certificate Revocation Lists (CRLs).
# .verify_hostname If true, the server will verify the hostname that the client uses to connect with. In order
# for this to work, the server public certificate must have a valid CN and/or matching
# Subject Alternative Names.
# .client_auth How the client should be authorized. Possible values are: 'none', 'optional', 'require'.
# .tls_versions A comma-separated list of allowed TLS versions. By default only TLSv1.2 is allowed.
# .trust_all Setting this to 'true' will ignore the trust truststore, trusting all clients and servers.
# Use of this mode is discouraged. It would offer encryption but no security.
# .ciphers A comma-separated list of allowed ciphers. The default ciphers are the defaults of
# the JVM platform.
# Determines if Cypher will allow using file URLs when loading data using
# `LOAD CSV`. Setting this value to `false` will cause Neo4j to fail `LOAD CSV`
# clauses that load data from the file system. #dbms.security.allow_csv_import_from_file_urls=true
# Value of the Access-Control-Allow-Origin header sent over any HTTP or HTTPS
# connector. This defaults to '*', which allows broadest compatibility. Note
# that any URI provided here limits HTTP/HTTPS access to that URI only. #dbms.security.http_access_control_allow_origin=*
# Value of the HTTP Strict-Transport-Security (HSTS) response header. This header
# tells browsers that a webpage should only be accessed using HTTPS instead of HTTP.
# It is attached to every HTTPS response. Setting is not set by default so
# 'Strict-Transport-Security' header is not sent. Value is expected to contain
# directives like 'max-age', 'includeSubDomains' and 'preload'. #dbms.security.http_strict_transport_security=
# Retention policy for transaction logs needed to perform recovery and backups.
db.tx_log.rotation.retention_policy=1 days
# Whether or not any database on this instance are read_only by default.
# If false, individual databases may be marked as read_only using dbms.database.read_only.
# If true, individual databases may be marked as writable using dbms.databases.writable. #dbms.databases.default_to_read_only=false
# Comma separated list of JAX-RS packages containing JAX-RS resources, one
# package name for each mountpoint. The listed package names will be loaded
# under the mountpoints specified. Uncomment this line to mount the
# org.neo4j.examples.server.unmanaged.HelloWorldResource.java from
# neo4j-server-examples under /examples/unmanaged, resulting in a final URL of
# http://localhost:7474/examples/unmanaged/helloworld/{nodeId} server.unmanaged_extension_classes=org.neo4j.examples.server.unmanaged=/examples/unmanaged
# A comma separated list of procedures and user defined functions that are allowed
# full access to the database through unsupported/insecure internal APIs. #dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*
# A comma separated list of procedures to be loaded by default.
# Leaving this unconfigured will load all procedures found. #dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*
# G1GC generally strikes a good balance between throughput and tail
# latency, without too much tuning.
server.jvm.additional=-XX:+UseG1GC
# Have common exceptions keep producing stack traces, so they can be
# debugged regardless of how often logs are rotated.
server.jvm.additional=-XX:-OmitStackTraceInFastThrow
# Make sure that `initmemory` is not only allocated, but committed to
# the process, before starting the database. This reduces memory
# fragmentation, increasing the effectiveness of transparent huge
# pages. It also reduces the possibility of seeing performance drop
# due to heap-growing GC events, where a decrease in available page
# cache leads to an increase in mean IO response time.
# Try reducing the heap memory, if this flag degrades performance.
server.jvm.additional=-XX:+AlwaysPreTouch
# Trust that non-static final fields are really final.
# This allows more optimizations and improves overall performance.
# NOTE: Disable this if you use embedded mode, or have extensions or dependencies that may use reflection or
# serialization to change the value of final fields!
server.jvm.additional=-XX:+UnlockExperimentalVMOptions
server.jvm.additional=-XX:+TrustFinalNonStaticFields
# Disable explicit garbage collection, which is occasionally invoked by the JDK itself.
server.jvm.additional=-XX:+DisableExplicitGC
# Restrict size of cached JDK buffers to 1 KB
server.jvm.additional=-Djdk.nio.maxCachedBufferSize=1024
# More efficient buffer allocation in Netty by allowing direct no cleaner buffers.
server.jvm.additional=-Dio.netty.tryReflectionSetAccessible=true
# Exits JVM on the first occurrence of an out-of-memory error. Its preferable to restart VM in case of out of memory errors.
# server.jvm.additional=-XX:+ExitOnOutOfMemoryError
# Expand Diffie Hellman (DH) key size from default 1024 to 2048 for DH-RSA cipher suites used in server TLS handshakes.
# This is to protect the server from any potential passive eavesdropping.
server.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
# This mitigates a DDoS vector.
server.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
# This filter prevents deserialization of arbitrary objects via java object serialization, addressing potential vulnerabilities.
# By default this filter whitelists all neo4j classes, as well as classes from the hazelcast library and the java standard library.
# These defaults should only be modified by expert users!
# For more details (including filter syntax) see: https://openjdk.java.net/jeps/290 server.jvm.additional=-Djdk.serialFilter=java.**;org.neo4j.**;com.neo4j.**;com.hazelcast.**;net.sf.ehcache.Element;com.sun.proxy.*;org.openjdk.jmh.**;!*
# Increase the default flight recorder stack sampling depth from 64 to 256, to avoid truncating frames when profiling.
server.jvm.additional=-XX:FlightRecorderOptions=stackdepth=256
# Allow profilers to sample between safepoints. Without this, sampling profilers may produce less accurate results.
server.jvm.additional=-XX:+UnlockDiagnosticVMOptions
server.jvm.additional=-XX:+DebugNonSafepoints
# Open modules for neo4j to allow internal access
server.jvm.additional=--add-opens=java.base/java.nio=ALL-UNNAMED
server.jvm.additional=--add-opens=java.base/java.io=ALL-UNNAMED
server.jvm.additional=--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
# Limit JVM metaspace and code cache to allow garbage collection. Used by cypher for code generation and may grow indefinitely unless constrained.
# Useful for memory constrained environments server.jvm.additional=-XX:MaxMetaspaceSize=1024m server.jvm.additional=-XX:ReservedCodeCacheSize=512m
#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
# using this configuration file has been installed as a service.
# Please uninstall the service before modifying this section. The
# service can then be reinstalled.
# Name of the service
server.windows_service_name=neo4j
#********************************************************************
# Other Neo4j system properties
#********************************************************************
dbms.security.procedures.unrestricted=apoc.*