orientdb: Error "java.net.SocketException: Too many open files" when create class

OrientDB Version: 3.0.25

Java Version: 8

OS: Ubuntu 18.10

Expected behavior

Created success, not raise any error

Actual behavior

java.net.SocketException: Too many open files

Steps to reproduce

My OrientDB system has over 100 classes with over 50GB data, setup in cluster mode with 6 node.

  1. Open console (run ./console) and login to server…
  2. Run command “create class …” -> nothing problem
  3. Run command “create property …” -> nothing problem
  4. Run command “create index…” -> nothing problem …
  5. Run command to create other class : “create class gameapp_platform extends V”, it has been error . Detail error: Error on client connection java.net.SocketException: Too many open files (Accept failed) at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409) at java.net.ServerSocket.implAccept(ServerSocket.java:545) at java.net.ServerSocket.accept(ServerSocket.java:513) at com.orientechnologies.orient.server.network.OServerNetworkListener.run(OServerNetworkListener.java:188) I’ve tried create again but still has this error. Cluster seem to be failed. I’ve set ulimit open file for linux but seem to be not working.

Please help me. Thank you

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 17 (6 by maintainers)

Most upvoted comments

You see you have size 65K open files but database for som reason detects a bigger amount of open files. What you need is to change open files limit in DB to the 32K open files. Using this system property -Dstorage.openFiles.limit=32000

yes sure, you need to have room to open more files for “system” needs too.