Skip to content

Fixing log message spam - #386

Open
MaciejKaszynski wants to merge 1 commit into
eclipse-score:mainfrom
etas-contrib:fix-log-spam
Open

Fixing log message spam#386
MaciejKaszynski wants to merge 1 commit into
eclipse-score:mainfrom
etas-contrib:fix-log-spam

Conversation

@MaciejKaszynski

Copy link
Copy Markdown
Contributor

Fixes unlimited polling on the control channel for a response to be available causing the spam of info messages:

[2026-07-29 11:57:46.662] [INFO] [launch_manager] 2026/07/29 11:57:46.6266501 184502847 000 ECU1 LM LM log debug verbose 1 Failed to send response: response is not empty.
[2026-07-29 11:57:46.662] [INFO] [launch_manager] 2026/07/29 11:57:46.6266501 184502847 000 ECU1 LM LM log debug verbose 1 Control Client handler nudged
[2026-07-29 11:57:46.662] [INFO] [launch_manager] 2026/07/29 11:57:46.6266501 184502847 000 ECU1 LM LM log debug verbose 8 ProcessGroupManager::ControlClientHandler: Sending kSetStateSuccess ( 20 ) re state MainPG/fallback_run_target of PG MainPG

Also some small cleanup of mmaps

@github-actions

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: ead7bc92-2bce-4eab-a0c5-30f37ff89ab7
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (38 packages loaded, 10 targets configured)

Analyzing: target //:license-check (86 packages loaded, 10 targets configured)

Analyzing: target //:license-check (151 packages loaded, 3508 targets configured)

Analyzing: target //:license-check (161 packages loaded, 5547 targets configured)

Analyzing: target //:license-check (161 packages loaded, 5547 targets configured)

Analyzing: target //:license-check (161 packages loaded, 5547 targets configured)

Analyzing: target //:license-check (164 packages loaded, 7434 targets configured)

Analyzing: target //:license-check (166 packages loaded, 10255 targets configured)

Analyzing: target //:license-check (168 packages loaded, 10283 targets configured)

Analyzing: target //:license-check (168 packages loaded, 10283 targets configured)

Analyzing: target //:license-check (168 packages loaded, 10283 targets configured)

INFO: Analyzed target //:license-check (169 packages loaded, 10409 targets configured).
[14 / 16] [Prepa] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar
INFO: Found 1 target...
[16 / 16] no actions running
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 26.854s, Critical Path: 2.15s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@@ -464,10 +462,6 @@ bool ProcessGroupManager::sendResponse(ControlClientMessage msg)
<< static_cast<int>(msg.request_or_response_) << ") re state"
<< msg.process_group_state_.pg_state_name_ << "of PG" << msg.process_group_state_.pg_name_;
ret = scc->sendResponse(msg);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to clean up this variable which is not necessary since the if was removed

Suggested change
ret = scc->sendResponse(msg);
return scc->sendResponse(msg);

init_cv_.notify_all();
}

loadControlNudge();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we check for errors here?

@WilliamRoebuck WilliamRoebuck left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, I ran the complex rep failure test to make sure we don't lose 100ms due to the lack of polling, but look at these results!

Before:
Stats over 10 runs: max = 15.0s, min = 10.1s, avg = 12.9s, dev = 1.7s
After:
Stats over 10 runs: max = 9.2s, min = 7.4s, avg = 8.3s, dev = 0.6s

static void my_signal_handler(int)
{
em_cancelled.store(true);
ControlClientChannel::nudgeControlClientHandler();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: nudgeControlClientHandler uses SCORE_LANGUAGE_FUTURECPP_ASSERT_MESSAGE and we do not have a signal-safe assertion handler right now.
It also uses LM_LOG_DEBUG to log a message, which probably also not valid to call from a signal handler.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be called before the control client is setup? E.g. launch manager is started but directly receives a SIGTERM/SIGINT

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once #303 is merged we can use the new signal-safe logging functions from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

5 participants