neo4j / neo4j

Graphs for Everyone
http://neo4j.com
GNU General Public License v3.0
13.41k stars 2.39k forks source link

some problems #11990

Open sshzhang opened 6 years ago

sshzhang commented 6 years ago

Problem description: after run some times,The error has occurred.

Caused by: org.neo4j.kernel.api.exceptions.TransactionFailureException: Database has encountered some problem, please perform necessary action (tx recovery/restart) at sun.reflect.GeneratedConstructorAccessor43.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.neo4j.kernel.internal.DatabaseHealth.assertHealthy(DatabaseHealth.java:62) at org.neo4j.kernel.impl.api.Kernel.newTransaction(Kernel.java:90) at org.neo4j.kernel.impl.factory.ClassicCoreSPI.beginTransaction(ClassicCoreSPI.java:174) ... 11 more Caused by: org.neo4j.kernel.impl.store.UnderlyingStorageException: Error performing check point at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointScheduler$1.constructCombinedFailure(CheckPointScheduler.java:100) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointScheduler$1.run(CheckPointScheduler.java:81) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) at org.neo4j.helpers.NamedThreadFactory$2.run(NamedThreadFactory.java:109) Suppressed: org.neo4j.kernel.impl.store.UnderlyingStorageException: Failed to flush at org.neo4j.kernel.impl.store.NeoStores.flush(NeoStores.java:253) at org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine.flushAndForce(RecordStorageEngine.java:447) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointerImpl.doCheckPoint(CheckPointerImpl.java:160) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointerImpl.checkPointIfNeeded(CheckPointerImpl.java:134) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointScheduler$1.run(CheckPointScheduler.java:64) ... 8 more Caused by: java.io.FileNotFoundException: /home/xiujiezhang/download/neo4j-community-3.2.11/data/databases/graph.db/neostore.counts.db.b (打开的文件过多) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(RandomAccessFile.java:316) at java.io.RandomAccessFile.(RandomAccessFile.java:243) at org.neo4j.io.fs.FileUtils.truncateFile(FileUtils.java:219) at org.neo4j.io.fs.DefaultFileSystemAbstraction.truncate(DefaultFileSystemAbstraction.java:210) at org.neo4j.kernel.impl.store.kvstore.KeyValueStoreFileFormat.create(KeyValueStoreFileFormat.java:150) at org.neo4j.kernel.impl.store.kvstore.KeyValueStoreFileFormat.createStore(KeyValueStoreFileFormat.java:59) at org.neo4j.kernel.impl.store.kvstore.RotationStrategy.next(RotationStrategy.java:106) at org.neo4j.kernel.impl.store.kvstore.RotationState$Rotation.rotate(RotationState.java:92) at org.neo4j.kernel.impl.store.kvstore.RotationState$Rotation.rotate(RotationState.java:52) at org.neo4j.kernel.impl.store.kvstore.AbstractKeyValueStore$RotationTask.rotate(AbstractKeyValueStore.java:316) at org.neo4j.kernel.impl.store.kvstore.AbstractKeyValueStore$RotationTask.rotate(AbstractKeyValueStore.java:293) at org.neo4j.kernel.impl.store.counts.CountsTracker.rotate(CountsTracker.java:126) at org.neo4j.kernel.impl.store.NeoStores.flush(NeoStores.java:247) ... 12 more

jexp commented 6 years ago

Without having much more details, no one can help you.

Please share your debug.log, neo4j.conf What kind of operations have you been running?

You are also running a very old version, it would be good if you could upgrade to the most recent 3.4.4

sshzhang commented 6 years ago

Ok, Thank you

sshzhang commented 6 years ago

Here is the detail information

dubug.log file content

2018-07-21 09:42:05.944+0000 ERROR [o.n.b.v.r.ErrorReporter] Client triggered an unexpected error [TransactionStartFailed]: Database has encountered some problem, please perform necessary action (tx recovery/restart), reference ae963963-b933-45c9-8625-98ad22ed6cc8. Database has encountered some problem, please perform necessary action (tx recovery/restart) org.neo4j.graphdb.TransactionFailureException: Database has encountered some problem, please perform necessary action (tx recovery/restart) at org.neo4j.kernel.impl.factory.ClassicCoreSPI.beginTransaction(ClassicCoreSPI.java:182) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransactionInternal(GraphDatabaseFacade.java:583) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:384) at org.neo4j.bolt.v1.runtime.TransactionStateMachineSPI.beginTransaction(TransactionStateMachineSPI.java:101) at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State$1.run(TransactionStateMachine.java:235) at org.neo4j.bolt.v1.runtime.TransactionStateMachine.run(TransactionStateMachine.java:78) at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$2.run(BoltStateMachine.java:405) at org.neo4j.bolt.v1.runtime.BoltStateMachine.run(BoltStateMachine.java:194) at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onRun$3(BoltMessageRouter.java:80) at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.execute(RunnableBoltWorker.java:148) at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.run(RunnableBoltWorker.java:104) at java.lang.Thread.run(Thread.java:748) Caused by: org.neo4j.kernel.api.exceptions.TransactionFailureException: Database has encountered some problem, please perform necessary action (tx recovery/restart) at sun.reflect.GeneratedConstructorAccessor43.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.neo4j.kernel.internal.DatabaseHealth.assertHealthy(DatabaseHealth.java:62) at org.neo4j.kernel.impl.api.Kernel.newTransaction(Kernel.java:90) at org.neo4j.kernel.impl.factory.ClassicCoreSPI.beginTransaction(ClassicCoreSPI.java:174) ... 11 more Caused by: org.neo4j.kernel.impl.store.UnderlyingStorageException: Error performing check point at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointScheduler$1.constructCombinedFailure(CheckPointScheduler.java:100) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointScheduler$1.run(CheckPointScheduler.java:81) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) at org.neo4j.helpers.NamedThreadFactory$2.run(NamedThreadFactory.java:109) Suppressed: org.neo4j.kernel.impl.store.UnderlyingStorageException: Failed to flush at org.neo4j.kernel.impl.store.NeoStores.flush(NeoStores.java:253) at org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine.flushAndForce(RecordStorageEngine.java:447) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointerImpl.doCheckPoint(CheckPointerImpl.java:160) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointerImpl.checkPointIfNeeded(CheckPointerImpl.java:134) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointScheduler$1.run(CheckPointScheduler.java:64) ... 8 more Caused by: java.io.FileNotFoundException: /home/xiujiezhang/download/neo4j-community-3.2.11/data/databases/graph.db/neostore.counts.db.a (打开的文件过多) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(RandomAccessFile.java:316) at java.io.RandomAccessFile.(RandomAccessFile.java:243) at org.neo4j.io.fs.DefaultFileSystemAbstraction.open(DefaultFileSystemAbstraction.java:68) at org.neo4j.io.fs.DefaultFileSystemAbstraction.open(DefaultFileSystemAbstraction.java:53) at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.(SingleFilePageSwapper.java:152) at org.neo4j.io.pagecache.impl.SingleFilePageSwapperFactory.createPageSwapper(SingleFilePageSwapperFactory.java:71) at org.neo4j.io.pagecache.impl.muninn.MuninnPagedFile.(MuninnPagedFile.java:137) at org.neo4j.io.pagecache.impl.muninn.MuninnPageCache.map(MuninnPageCache.java:368) at org.neo4j.kernel.impl.store.kvstore.KeyValueWriter$OpeningStreamWriter.open(KeyValueWriter.java:316) at org.neo4j.kernel.impl.store.kvstore.KeyValueWriter.openStoreFile(KeyValueWriter.java:108) at org.neo4j.kernel.impl.store.kvstore.KeyValueStoreFileFormat.create(KeyValueStoreFileFormat.java:206) at org.neo4j.kernel.impl.store.kvstore.KeyValueStoreFileFormat.createStore(KeyValueStoreFileFormat.java:59) at org.neo4j.kernel.impl.store.kvstore.RotationStrategy.next(RotationStrategy.java:106) at org.neo4j.kernel.impl.store.kvstore.RotationState$Rotation.rotate(RotationState.java:92) at org.neo4j.kernel.impl.store.kvstore.RotationState$Rotation.rotate(RotationState.java:52) at org.neo4j.kernel.impl.store.kvstore.AbstractKeyValueStore$RotationTask.rotate(AbstractKeyValueStore.java:316) at org.neo4j.kernel.impl.store.kvstore.AbstractKeyValueStore$RotationTask.rotate(AbstractKeyValueStore.java:293) at org.neo4j.kernel.impl.store.counts.CountsTracker.rotate(CountsTracker.java:126) at org.neo4j.kernel.impl.store.NeoStores.flush(NeoStores.java:247) ... 12 more Suppressed: org.neo4j.kernel.impl.store.UnderlyingStorageException: Failed to flush at org.neo4j.kernel.impl.store.NeoStores.flush(NeoStores.java:253) at org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine.flushAndForce(RecordStorageEngine.java:447) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointerImpl.doCheckPoint(CheckPointerImpl.java:160) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointerImpl.checkPointIfNeeded(CheckPointerImpl.java:134) at org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointScheduler$1.run(CheckPointScheduler.java:64) ... 8 more Caused by: java.io.FileNotFoundException: /home/xiujiezhang/download/neo4j-community-3.2.11/data/databases/graph.db/neostore.counts.db.a (打开的文件过多) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(RandomAccessFile.java:316) at java.io.RandomAccessFile.(RandomAccessFile.java:243) at org.neo4j.io.fs.DefaultFileSystemAbstraction.open(DefaultFileSystemAbstraction.java:68) at org.neo4j.io.fs.DefaultFileSystemAbstraction.open(DefaultFileSystemAbstraction.java:53) at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.(SingleFilePageSwapper.java:152) at org.neo4j.io.pagecache.impl.SingleFilePageSwapperFactory.createPageSwapper(SingleFilePageSwapperFactory.java:71) at org.neo4j.io.pagecache.impl.muninn.MuninnPagedFile.(MuninnPagedFile.java:137) at org.neo4j.io.pagecache.impl.muninn.MuninnPageCache.map(MuninnPageCache.java:368) at org.neo4j.kernel.impl.store.kvstore.KeyValueWriter$OpeningStreamWriter.open(KeyValueWriter.java:316) at org.neo4j.kernel.impl.store.kvstore.KeyValueWriter.openStoreFile(KeyValueWriter.java:108) at org.neo4j.kernel.impl.store.kvstore.KeyValueStoreFileFormat.create(KeyValueStoreFileFormat.java:206) at org.neo4j.kernel.impl.store.kvstore.KeyValueStoreFileFormat.createStore(KeyValueStoreFileFormat.java:59) at org.neo4j.kernel.impl.store.kvstore.RotationStrategy.next(RotationStrategy.java:106) at org.neo4j.kernel.impl.store.kvstore.RotationState$Rotation.rotate(RotationState.java:92) at org.neo4j.kernel.impl.store.kvstore.RotationState$Rotation.rotate(RotationState.java:52)

Here is the neo4j.conf file content

*****

Neo4j configuration

#

For more details and a complete list of settings, please see

https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/

*****

The name of the database to mount

dbms.active_database=graph.db

Paths of directories in the installation.

dbms.directories.data=data

dbms.directories.plugins=plugins

dbms.directories.certificates=certificates

dbms.directories.logs=logs

dbms.directories.lib=lib

dbms.directories.run=run

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.

dbms.directories.import=import

Whether requests to Neo4j are authenticated.

To disable authentication, uncomment this line

dbms.security.auth_enabled=false

Enable this to be able to upgrade a store from an older version.

dbms.allow_format_migration=true

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.

dbms.memory.heap.initial_size=512m

dbms.memory.heap.max_size=512m

The amount of memory to use for mapping the store files, in bytes (or

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.

The default page cache memory assumes the machine is dedicated to running

Neo4j, and is heuristically set to 50% of RAM minus the max Java heap size.

dbms.memory.pagecache.size=10g

*****

Network connector configuration

*****

With default configuration Neo4j only accepts local connections.

To accept non-local connections, uncomment this line:

dbms.connectors.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.

dbms.connectors.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.

Bolt connector

dbms.connector.bolt.enabled=true

dbms.connector.bolt.tls_level=OPTIONAL

dbms.connector.bolt.listen_address=:7687

HTTP Connector. There must be exactly one HTTP connector.

dbms.connector.http.enabled=true

dbms.connector.http.listen_address=:7474

HTTPS Connector. There can be zero or one HTTPS connectors.

dbms.connector.https.enabled=true

dbms.connector.https.listen_address=:7473

Number of Neo4j worker threads.

dbms.threads.worker_count=

*****

SSL system configuration

*****

Names of the SSL policies to be used for the respective components.

The legacy policy is a special policy which is not defined in

the policy configuration section, but rather derives from

dbms.directories.certificates and associated files

(by default: neo4j.key and neo4j.cert). Its use will be deprecated.

The policies to be used for connectors.

#

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

bolt.ssl_policy=legacy

https.ssl_policy=legacy

*****

SSL policy configuration

*****

Each policy is configured under a separate namespace, e.g.

dbms.ssl.policy..*

#

The example settings below are for a new policy named 'default'.

The base directory for cryptographic objects. Each policy will by

default look for its associated objects (keys, certificates, ...)

under the base directory.

#

Every such setting can be overriden using a full path to

the respective object, but every policy will by default look

for cryptographic objects in its base location.

#

Mandatory setting

dbms.ssl.policy.default.base_directory=certificates/default

Allows the generation of a fresh private key and a self-signed

certificate if none are found in the expected locations. It is

recommended to turn this off again after keys have been generated.

#

Keys should in general be generated and distributed offline

by a trusted certificate authority (CA) and not by utilizing

this mode.

dbms.ssl.policy.default.allow_key_generation=false

Enabling this makes it so that this policy ignores the contents

of the trusted_dir and simply resorts to trusting everything.

#

Use of this mode is discouraged. It would offer encryption but no security.

dbms.ssl.policy.default.trust_all=false

The private key for the default SSL policy. By default a file

named private.key is expected under the base directory of the policy.

It is mandatory that a key can be found or generated.

dbms.ssl.policy.default.private_key=

The private key for the default SSL policy. By default a file

named public.crt is expected under the base directory of the policy.

It is mandatory that a certificate can be found or generated.

dbms.ssl.policy.default.public_certificate=

The certificates of trusted parties. By default a directory named

'trusted' is expected under the base directory of the policy. It is

mandatory to create the directory so that it exists, because it cannot

be auto-created (for security purposes).

#

To enforce client authentication client_auth must be set to 'require'!

dbms.ssl.policy.default.trusted_dir=

Client authentication setting. Values: none, optional, require

The default is to require client authentication.

#

Servers are always authenticated unless explicitly overridden

using the trust_all setting. In a mutual authentication setup this

should be kept at the default of require and trusted certificates

must be installed in the trusted_dir.

dbms.ssl.policy.default.client_auth=require

A comma-separated list of allowed TLS versions.

By default TLSv1, TLSv1.1 and TLSv1.2 are allowed.

dbms.ssl.policy.default.tls_versions=

A comma-separated list of allowed ciphers.

The default ciphers are the defaults of the JVM platform.

dbms.ssl.policy.default.ciphers=

*****

Logging configuration

*****

To enable HTTP logging, uncomment this line

dbms.logs.http.enabled=true

Number of HTTP logs to keep.

dbms.logs.http.rotation.keep_number=5

Size of each HTTP log that is kept.

dbms.logs.http.rotation.size=20m

To enable GC Logging, uncomment this line

dbms.logs.gc.enabled=true

GC Logging Options

see http://docs.oracle.com/cd/E19957-01/819-0084-10/pt_tuningjava.html#wp57013 for more information.

dbms.logs.gc.options=-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution

Number of GC logs to keep.

dbms.logs.gc.rotation.keep_number=5

Size of each GC log that is kept.

dbms.logs.gc.rotation.size=20m

Size threshold for rotation of the debug log. If set to zero then no rotation will occur. Accepts a binary suffix "k",

"m" or "g".

dbms.logs.debug.rotation.size=20m

Maximum number of history files for the internal log.

dbms.logs.debug.rotation.keep_number=7

*****

Miscellaneous configuration

*****

Enable this to specify a parser other than the default one.

cypher.default_language_version=3.0

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

Retention policy for transaction logs needed to perform recovery and backups.

dbms.tx_log.rotation.retention_policy=1 days

Enable a remote shell server which Neo4j Shell clients can log in to.

dbms.shell.enabled=true

The network interface IP the shell will listen on (use 0.0.0.0 for all interfaces).

dbms.shell.host=127.0.0.1

The port the shell will listen on, default is 1337.

dbms.shell.port=1337

Only allow read operations from this Neo4j instance. This mode still requires

write access to the directory for lock purposes.

dbms.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}

dbms.unmanaged_extension_classes=org.neo4j.examples.server.unmanaged=/examples/unmanaged

****

JVM Parameters

****

G1GC generally strikes a good balance between throughput and tail

latency, without too much tuning.

dbms.jvm.additional=-XX:+UseG1GC

Have common exceptions keep producing stack traces, so they can be

debugged regardless of how often logs are rotated.

dbms.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.

dbms.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!

dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions dbms.jvm.additional=-XX:+TrustFinalNonStaticFields

Disable explicit garbage collection, which is occasionally invoked by the JDK itself.

dbms.jvm.additional=-XX:+DisableExplicitGC

Remote JMX monitoring, uncomment and adjust the following lines as needed. Absolute paths to jmx.access and

jmx.password files are required.

Also make sure to update the jmx.access and jmx.password files with appropriate permission roles and passwords,

the shipped configuration contains only a read only role called 'monitor' with password 'Neo4j'.

For more details, see: http://download.oracle.com/javase/8/docs/technotes/guides/management/agent.html

On Unix based systems the jmx.password file needs to be owned by the user that will run the server,

and have permissions set to 0600.

For details on setting these file permissions on Windows see:

http://docs.oracle.com/javase/8/docs/technotes/guides/management/security-windows.html

dbms.jvm.additional=-Dcom.sun.management.jmxremote.port=3637

dbms.jvm.additional=-Dcom.sun.management.jmxremote.authenticate=true

dbms.jvm.additional=-Dcom.sun.management.jmxremote.ssl=false

dbms.jvm.additional=-Dcom.sun.management.jmxremote.password.file=/absolute/path/to/conf/jmx.password

dbms.jvm.additional=-Dcom.sun.management.jmxremote.access.file=/absolute/path/to/conf/jmx.access

Some systems cannot discover host name automatically, and need this line configured:

dbms.jvm.additional=-Djava.rmi.server.hostname=$THE_NEO4J_SERVER_HOSTNAME

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.

dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048

This mitigates a DDoS vector.

dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true

****

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

dbms.windows_service_name=neo4j

****

Other Neo4j system properties

****

dbms.jvm.additional=-Dunsupported.dbms.udc.source=tarball

sel-fish commented 5 years ago

@sshzhang It seems that you have opened too many file handles, maybe you can modify the limitation by 'ulimit -n' to work around the problem.

tinwelint commented 4 years ago

Yes it could very well be a file handles limitation issue. Did you try to increase that limit? On another note version 4.0 will have a rewritten counts store which doesn't have the problem of switching between a/b files like that.