-
Notifications
You must be signed in to change notification settings - Fork 36
Logging improvements #206
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
Open
NicoPiel
wants to merge
21
commits into
OpenIntegrationEngine:main
Choose a base branch
from
NicoPiel:feature/logging-improvements
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Logging improvements #206
NicoPiel
wants to merge
21
commits into
OpenIntegrationEngine:main
from
NicoPiel:feature/logging-improvements
+384
−271
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mgaffigan
requested changes
Nov 19, 2025
client/src/com/mirth/connect/plugins/serverlog/ServerLogPanel.java
Outdated
Show resolved
Hide resolved
donkey/src/main/java/com/mirth/connect/donkey/server/channel/DestinationChain.java
Show resolved
Hide resolved
server/src/com/mirth/connect/plugins/serverlog/ArrayAppender.java
Outdated
Show resolved
Hide resolved
server/src/com/mirth/connect/plugins/serverlog/ServerLogItem.java
Outdated
Show resolved
Hide resolved
donkey/src/main/java/com/mirth/connect/donkey/server/channel/DestinationConnector.java
Outdated
Show resolved
Hide resolved
mgaffigan
requested changes
Nov 19, 2025
donkey/src/main/java/com/mirth/connect/donkey/server/channel/Channel.java
Outdated
Show resolved
Hide resolved
donkey/src/main/java/com/mirth/connect/donkey/server/channel/Channel.java
Outdated
Show resolved
Hide resolved
donkey/src/main/java/com/mirth/connect/donkey/server/channel/DestinationChain.java
Outdated
Show resolved
Hide resolved
donkey/src/main/java/com/mirth/connect/donkey/server/channel/DestinationConnector.java
Show resolved
Hide resolved
server/src/com/mirth/connect/plugins/serverlog/ServerLogItem.java
Outdated
Show resolved
Hide resolved
server/src/com/mirth/connect/plugins/serverlog/ServerLogProvider.java
Outdated
Show resolved
Hide resolved
server/src/com/mirth/connect/server/util/javascript/JavaScriptTask.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Nico Piel <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]> Signed-off-by: Nico Piel <[email protected]>
…ngine#185) Signed-off-by: Nico Piel <[email protected]>
This script is the main launcher for the Open Integration Engine (OIE)
server. It prepares the Java environment and executes the server launcher
JAR file.
The script automatically finds a compatible Java runtime (version 17+ by
default) by searching for a valid executable in the following priority order:
1. The OIE_JAVA_PATH environment variable.
2. The -java-cmd directive in the oieserver.vmoptions file or included
.vmoptions files. Must specify the path to the 'java' executable.
This is the preferred way to declare the desired version for running
the server and can be overridden by OIE_JAVA_PATH. Can be a relative
path from the location of this script.
3. The JAVA_HOME environment variable.
4. The 'java' command available in the system's PATH.
It also parses the 'oieserver.vmoptions' file to configure JVM options,
system properties (-D...), and classpath modifications.
Signed-off-by: Tony Germano <[email protected]>
Co-authored-by: Mitch Gaffigan <[email protected]>
Issue: OpenIntegrationEngine#2
Signed-off-by: Nico Piel <[email protected]>
This addresses an upsert race condition that occurred when saving plugin properties (e.g., Data Pruner settings, third-party plugins) in environments with a read/write split database configuration where the read-only connection points to a replica. The Problem: The prior code attempted to determine whether to INSERT or UPDATE by first checking for the property's existence using the read-only database connection. Since updating all properties for a plugin involves deleting them all first, if this DELETE operation had not yet propagated to the replica, the read-only check would incorrectly indicate the property still existed. The Result: An UPDATE statement would be attempted, which would fail to match any rows (since the data had already been deleted from the primary) and silently return zero rows updated. This failure was not being checked, leading to data loss for the affected property. The Solution: This change eliminates the preliminary read check. It now attempts an UPDATE first. If the update affects zero rows, a guaranteed INSERT is performed. This pattern ensures atomicity and correctness regardless of replication latency. See https://sqlperformance.com/2020/09/locking/upsert-anti-pattern Issue: Innovar-Healthcare/BridgeLink#66 Signed-off-by: Tony Germano <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Mitch Gaffigan <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Mitch Gaffigan <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Many of the extensions do not include external dependencies, but for consistency in the build file all extensions attempt to copy libs if they exist. The copy tasks were already to configured to not fail if there was an error copying the files (because the source dir does not exist in this case.) This change also sets the quiet option so that a warning is not produced in the build output on a copy error. Signed-off-by: Tony Germano <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Tony Germano <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]> Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]>
Signed-off-by: Nico Piel <[email protected]>
Changes the ArrayAppender to construct a ServerLogItem directly instead of passing individual log properties. The ServerLogProvider now accepts a ServerLogItem, extracts the log properties, adds the server ID and log ID, and then passes the log item to the log controller. This change simplifies the code and makes it more efficient by reducing the number of parameters passed and centralizing the creation of the ServerLogItem. Signed-off-by: Nico Piel <[email protected]>
Ensures that the ServerLogItem properties are initialized with default values when retrieving them from the context. This prevents null pointer exceptions or unexpected behavior when these properties are not explicitly set in the context. Signed-off-by: Nico Piel <[email protected]>
9fce32c to
3c94136
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog:
Server:
ServerLogItemto includechannelName, updated constructor, getters/setters.ServerLogProviderto passchannelNametoServerLogItem.ArrayAppenderto extractchannelNameandchannelIdfrom Log4jThreadContext.JavaScriptTaskto populateThreadContextwith channel info.Donkey Engine:
Channelto populateThreadContextin dispatch and source queue threads.DestinationChainto populateThreadContextusing channel info.DestinationConnectorto populateThreadContextin queue threads.Client:
ServerLogPanelto add "Channel" column to the UI table.