-
Notifications
You must be signed in to change notification settings - Fork 872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP - Improved HA stability #9854
Commits on Oct 31, 2022
-
Detect distributed setup early in activate process.
Split loading of enabled server plugins and starting of plugins to allow presence of a distributed server manager to be detected prior to network listeners being established and storage open. This allows guarding of constructs that require the distributed plugin to be present and running, which currently experience a race condition between the network listeners starting and the distributed plugin fully starting.
Configuration menu - View commit details
-
Copy full SHA for 1694e6f - Browse repository at this point
Copy the full SHA 1694e6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 392c94b - Browse repository at this point
Copy the full SHA 392c94bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 06cf474 - Browse repository at this point
Copy the full SHA 06cf474View commit details -
Add distinct openInternal operation that bypasses online checks.
The current usages of openNoAuthenticate include cases (like DB delta/full syncs) that need to bypass not only auth checks but distributed online status.
Configuration menu - View commit details
-
Copy full SHA for c6f96fd - Browse repository at this point
Copy the full SHA c6f96fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b88eca - Browse repository at this point
Copy the full SHA 3b88ecaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5808351 - Browse repository at this point
Copy the full SHA 5808351View commit details -
Configuration menu - View commit details
-
Copy full SHA for 345c9b6 - Browse repository at this point
Copy the full SHA 345c9b6View commit details -
Add tracing support to executors.
Errors in unbound tasks in executors that are launched from common points (e.g. OrientDBEmbedded#execute) are hard to trace. This change allows a task ID to be associated with each execution, which will be reported on any exception, and if debug logging is enabled, a full stack trace identifying the launching call site will be attached.
Configuration menu - View commit details
-
Copy full SHA for 11427e7 - Browse repository at this point
Copy the full SHA 11427e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb9170d - Browse repository at this point
Copy the full SHA fb9170dView commit details -
Add a global executor for use instead of general one-off threads.
This allows improved logging and tracing consistency over general use of new Thread()
Configuration menu - View commit details
-
Copy full SHA for 6ff2afd - Browse repository at this point
Copy the full SHA 6ff2afdView commit details -
Defer setting running to end of distributed plugin startup.
This prevents storage tasks that require the distributed status to be online from accessing distributed lifecycle objects that have not yet been set up (which shows up as NPEs during execution).
Configuration menu - View commit details
-
Copy full SHA for 0ce5af1 - Browse repository at this point
Copy the full SHA 0ce5af1View commit details -
Defer installation of databases until distributed plugin is online.
This avoids accesses to uninitialised distributed state during initial database setup from cluster.
Configuration menu - View commit details
-
Copy full SHA for 1c49c99 - Browse repository at this point
Copy the full SHA 1c49c99View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdcec5b - Browse repository at this point
Copy the full SHA cdcec5bView commit details -
Fix waiting for last task in ViewManager close.
Prefer attempting to cancel task before execution before waiting. Also removes double logging of execution exception, and avoids problem where get cannot be called after cancel.
Configuration menu - View commit details
-
Copy full SHA for 3c53320 - Browse repository at this point
Copy the full SHA 3c53320View commit details -
Use tracing executor service in OrientDBEmbedded
Provide tracing overrides to aid in tracking async errors.
Configuration menu - View commit details
-
Copy full SHA for db45760 - Browse repository at this point
Copy the full SHA db45760View commit details -
Use internal open for ViewManager init
Allows registering live updates to succeed when distributed plugin not online.
Configuration menu - View commit details
-
Copy full SHA for ad6363f - Browse repository at this point
Copy the full SHA ad6363fView commit details -
Make ViewManager updates resilient to offline DB status.
View update uses distributed state, which can break if view update occurs during a distributed state change, breaking the update loop.
Configuration menu - View commit details
-
Copy full SHA for ede8fbf - Browse repository at this point
Copy the full SHA ede8fbfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ec87b1 - Browse repository at this point
Copy the full SHA 4ec87b1View commit details -
Move DistributedDatabase registration out of constructor.
ODistributedDatabaseImpl construction registered the instance, leaking the this reference, and shut down the previous instance if present. The previous instance may not have been constructed fully however, so shutdown could NPE, resulting in the construction of the current instance aborting with uninitialised state, which would then be picked up by other threads finding it registered in the message service. This change externalises the construction into an atomic operation in the message service, and makes the state in the distributed database impl final. The warning about needing registration because of use "further in the call chain" appears to be spurious.
Configuration menu - View commit details
-
Copy full SHA for 8c8e67c - Browse repository at this point
Copy the full SHA 8c8e67cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d533fc8 - Browse repository at this point
Copy the full SHA d533fc8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 99a0bfb - Browse repository at this point
Copy the full SHA 99a0bfbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d6d5e5 - Browse repository at this point
Copy the full SHA 3d6d5e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for d042c99 - Browse repository at this point
Copy the full SHA d042c99View commit details -
Guard database create to avoid partially initialised storage being cr…
…eated. If the plugin isn't online, initialisation of newly created database will fail, resulting in a partially initialised database that will break when used (usually because the schema hasn't been loaded).
Configuration menu - View commit details
-
Copy full SHA for 5899101 - Browse repository at this point
Copy the full SHA 5899101View commit details -
DEV: Expand HazelcastPlugin startup time to widen window to expose ra…
…ce conditions on startup.
Configuration menu - View commit details
-
Copy full SHA for 61e3af5 - Browse repository at this point
Copy the full SHA 61e3af5View commit details