ArcadeDB Version: 22.8.1
JDK Version:
OS: Openshift on RH Linux 4.8
Expected behavior
Being able to deploy highly available statefulset on Kubernetes. I don't find a lot of information in the documentation itself:
Actual behavior
I'm seeing this error in each pod:
█████╗ ██████╗ ██████╗ █████╗ ██████╗ ███████╗██████╗ ██████╗
██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗
███████║██████╔╝██║ ███████║██║ ██║█████╗ ██║ ██║██████╔╝
██╔══██║██╔══██╗██║ ██╔══██║██║ ██║██╔══╝ ██║ ██║██╔══██╗
██║ ██║██║ ██║╚██████╗██║ ██║██████╔╝███████╗██████╔╝██████╔╝
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚═════╝ ╚═════╝
PLAY WITH DATA arcadedb.com
./server.sh: line 82: can't create /home/arcadedb/bin/arcadedb.pid: Permission denied
Can't load log handler "java.util.logging.FileHandler"
java.nio.file.NoSuchFileException: log/arcadedb.log.0.lck
java.nio.file.NoSuchFileException: log/arcadedb.log.0.lck
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:182)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:292)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:345)
at java.logging/java.util.logging.FileHandler.openFiles(FileHandler.java:512)
at java.logging/java.util.logging.FileHandler.<init>(FileHandler.java:279)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.Class.newInstance(Class.java:584)
at java.logging/java.util.logging.LogManager.createLoggerHandlers(LogManager.java:1000)
at java.logging/java.util.logging.LogManager$4.run(LogManager.java:970)
at java.logging/java.util.logging.LogManager$4.run(LogManager.java:966)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.logging/java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:966)
at java.logging/java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java:2417)
at java.logging/java.util.logging.LogManager$RootLogger.accessCheckedHandlers(LogManager.java:2511)
at java.logging/java.util.logging.Logger.getHandlers(Logger.java:2089)
at com.arcadedb.log.DefaultLogger.installCustomFormatter(DefaultLogger.java:79)
at com.arcadedb.log.DefaultLogger.<init>(DefaultLogger.java:41)
at com.arcadedb.log.DefaultLogger.<clinit>(DefaultLogger.java:36)
at com.arcadedb.log.LogManager.<init>(LogManager.java:31)
at com.arcadedb.log.LogManager.<clinit>(LogManager.java:29)
at com.arcadedb.server.ArcadeDBServer.start(ArcadeDBServer.java:98)
at com.arcadedb.server.ArcadeDBServer.main(ArcadeDBServer.java:90)
Can't load log handler "java.util.logging.FileHandler"
java.nio.file.NoSuchFileException: log/arcadedb.log.0.lck
java.nio.file.NoSuchFileException: log/arcadedb.log.0.lck
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:182)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:292)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:345)
at java.logging/java.util.logging.FileHandler.openFiles(FileHandler.java:512)
at java.logging/java.util.logging.FileHandler.<init>(FileHandler.java:279)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.Class.newInstance(Class.java:584)
at java.logging/java.util.logging.LogManager.createLoggerHandlers(LogManager.java:1000)
at java.logging/java.util.logging.LogManager$4.run(LogManager.java:970)
at java.logging/java.util.logging.LogManager$4.run(LogManager.java:966)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.logging/java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:966)
at java.logging/java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java:2417)
at java.logging/java.util.logging.LogManager$RootLogger.accessCheckedHandlers(LogManager.java:2511)
at java.logging/java.util.logging.Logger.getHandlers(Logger.java:2089)
at com.arcadedb.log.DefaultLogger.installCustomFormatter(DefaultLogger.java:79)
at com.arcadedb.log.DefaultLogger.<init>(DefaultLogger.java:41)
at com.arcadedb.log.LogManager.<init>(LogManager.java:31)
at com.arcadedb.log.LogManager.<clinit>(LogManager.java:29)
at com.arcadedb.server.ArcadeDBServer.start(ArcadeDBServer.java:98)
at com.arcadedb.server.ArcadeDBServer.main(ArcadeDBServer.java:90)
2022-12-23 12:27:22.249 INFO [ArcadeDBServer] <ArcadeDB_0> ArcadeDB Server v22.8.1 (build b63f0402a9206830c3ec100766302c18038c8f17/1659468151386/main) is starting up...
2022-12-23 12:27:22.250 INFO [ArcadeDBServer] <ArcadeDB_0> Starting ArcadeDB Server with plugins [] ...
2022-12-23 12:27:22.268 INFO [ArcadeDBServer] <ArcadeDB_0> - JMX Metrics Started...
2022-12-23 12:27:22.323 INFO [ServerSecurity] <ArcadeDB_0> Creating root user with the provided password<ArcadeDB_0> Error on saving security configuration to file 'server-users.jsonl'
java.io.FileNotFoundException: ../config/server-users.jsonl (Permission denied)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
at java.base/java.io.FileWriter.<init>(FileWriter.java:176)
at com.arcadedb.server.security.SecurityUserFileRepository.save(SecurityUserFileRepository.java:48)
at com.arcadedb.server.security.ServerSecurity.saveUsers(ServerSecurity.java:310)
at com.arcadedb.server.security.ServerSecurity.askForRootPassword(ServerSecurity.java:419)
at com.arcadedb.server.security.ServerSecurity.loadUsers(ServerSecurity.java:126)
at com.arcadedb.server.ArcadeDBServer.start(ArcadeDBServer.java:127)
at com.arcadedb.server.ArcadeDBServer.main(ArcadeDBServer.java:90)
2022-12-23 12:27:22.653 INFO [HttpServer] <ArcadeDB_0> - Starting HTTP Server (host=0.0.0.0 port=2480-2489)...
2022-12-23 12:27:22.711 INFO [undertow] starting server: Undertow - 2.2.18.Final
2022-12-23 12:27:22.722 INFO [xnio] XNIO version 3.8.7.Final
2022-12-23 12:27:22.735 INFO [nio] XNIO NIO Implementation Version 3.8.7.Final
2022-12-23 12:27:22.767 INFO [threads] JBoss Threads version 3.1.0.Final
2022-12-23 12:27:22.812 INFO [HttpServer] <ArcadeDB_0> - HTTP Server started (host=0.0.0.0 port=2480)Exception in thread "main" java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:221)
at java.base/java.util.Arrays$ArrayList.<init>(Arrays.java:4323)
at java.base/java.util.Arrays.asList(Arrays.java:4310)
at com.arcadedb.server.ha.ReplicationLogFile.openLastFileChunk(ReplicationLogFile.java:425)
at com.arcadedb.server.ha.ReplicationLogFile.<init>(ReplicationLogFile.java:95)
at com.arcadedb.server.ha.HAServer.startService(HAServer.java:152)
at com.arcadedb.server.ArcadeDBServer.start(ArcadeDBServer.java:139)
at com.arcadedb.server.ArcadeDBServer.main(ArcadeDBServer.java:90)
Steps to reproduce
I'm deploying the following kubernetes manifest:
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: arcadedb
spec:
# serviceName: "nginx"
replicas: 3
selector:
matchLabels:
app: arcadedb
template:
metadata:
labels:
app: arcadedb
spec:
containers:
- name: arcadedb
image: arcadedata/arcadedb:22.8.1
ports:
- containerPort: 2480
env:
- name: JAVA_OPTS
value: "-Darcadedb.server.rootPassword=playwithdata -Darcadedb.ha.enabled=true -Darcadedb.ha.k8s=true -Darcadedb.ha.serverList=arcadedb-0,arcadedb-1,arcadedb-2"
<An SQL script to reproduce the problem or a JUnit test case will increase A LOT the chance to have a quick fix>
ArcadeDB Version: 22.8.1
JDK Version:
OS: Openshift on RH Linux 4.8
Expected behavior
Being able to deploy highly available statefulset on Kubernetes. I don't find a lot of information in the documentation itself:
Actual behavior
I'm seeing this error in each pod:
Steps to reproduce
I'm deploying the following kubernetes manifest:
<An SQL script to reproduce the problem or a JUnit test case will increase A LOT the chance to have a quick fix>