From ffd65f090bd08da00834861701fead90de91dad8 Mon Sep 17 00:00:00 2001 From: Tglman Date: Thu, 6 Feb 2025 18:55:40 +0000 Subject: [PATCH] fix: make sure to set the database online only when present and active, issue #10386 --- .../distributed/impl/ODistributedDatabaseImpl.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/distributed/src/main/java/com/orientechnologies/orient/server/distributed/impl/ODistributedDatabaseImpl.java b/distributed/src/main/java/com/orientechnologies/orient/server/distributed/impl/ODistributedDatabaseImpl.java index 753bb4a6fe0..53c8c8620e1 100755 --- a/distributed/src/main/java/com/orientechnologies/orient/server/distributed/impl/ODistributedDatabaseImpl.java +++ b/distributed/src/main/java/com/orientechnologies/orient/server/distributed/impl/ODistributedDatabaseImpl.java @@ -595,7 +595,19 @@ public void removeProfilerHook() { public void initFirstOpen(ODatabaseDocumentInternal session) { ODistributedConfiguration cfg = this.context.getOrInitDistributedConfiguration(session); manager.checkNodeInConfiguration(databaseName, cfg); - setOnline(); + fillStatus(); + + // SET THE NODE.DB AS ONLINE + OStorage storage = context.getStorage(databaseName); + if (storage != null && !manager.isSyncronizing(databaseName)) { + logger.infoNode( + localNodeName, + "Publishing ONLINE status for database %s.%s...", + localNodeName, + databaseName); + manager.setDatabaseStatus(localNodeName, databaseName, DB_STATUS.ONLINE); + } + resume(); } protected String getLocalNodeName() {