Skip to content

libeventlog: cap eventlogger kvs txn ops#7291

Merged
mergify[bot] merged 2 commits intoflux-framework:masterfrom
chu11:issue6910_eventlogger_cap_ops_count
Jan 20, 2026
Merged

libeventlog: cap eventlogger kvs txn ops#7291
mergify[bot] merged 2 commits intoflux-framework:masterfrom
chu11:issue6910_eventlogger_cap_ops_count

Conversation

@chu11
Copy link
Member

@chu11 chu11 commented Jan 16, 2026

Problem: The number of operations in a kvs txn generated by the eventlogger has no cap. In the future when the KVS may have a transaction operations cap, this could cause problems (see #6581).

If the number of operations in a eventlogger batch exceeds a cap, initiate the transaction immediately, even if a timer has not been reached.

For the time being, set the cap to a hard coded value. This may become configurable in the future.

This is built upon #7271

chu11 added 2 commits January 20, 2026 13:21
Problem: In the near future, the code used in a eventlogger
timer callback may need to be called directly.

Refactor eventlogger to have a separate async_commit() function
that can be called.  timer_cb() will now simply call async_commit().
Problem: The number of operations in a kvs txn generated by the
eventlogger has no cap.  In the future when the KVS may have a
transaction operations cap, this could cause problems.

If the number of operations in a eventlogger batch exceeds a cap,
initiate the transaction immediately, even if a timer has not
been reached.

For the time being, set the cap to a hard coded value.  This may
become configurable in the future.

Fixes flux-framework#6910
@chu11 chu11 force-pushed the issue6910_eventlogger_cap_ops_count branch from eb4283a to b588fd2 Compare January 20, 2026 21:23
Copy link
Contributor

@grondo grondo left a comment

Choose a reason for hiding this comment

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

LGTM!

@mergify mergify bot added the queued label Jan 20, 2026
@mergify mergify bot merged commit 60fa661 into flux-framework:master Jan 20, 2026
59 of 60 checks passed
@mergify
Copy link
Contributor

mergify bot commented Jan 20, 2026

Merge Queue Status

✅ The pull request has been merged at b588fd2

This pull request spent 6 seconds in the queue, with no time running CI.
The checks were run in-place.

Required conditions to merge
  • #approved-reviews-by >= 1 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = validate commits
    • check-neutral = validate commits
    • check-skipped = validate commits
  • any of [🛡 GitHub branch protection]:
    • check-success = address-sanitizer check
    • check-neutral = address-sanitizer check
    • check-skipped = address-sanitizer check
  • any of [🛡 GitHub branch protection]:
    • check-success = coverage
    • check-neutral = coverage
    • check-skipped = coverage
  • any of [🛡 GitHub branch protection]:
    • check-success = focal - py3.8
    • check-neutral = focal - py3.8
    • check-skipped = focal - py3.8
  • any of [🛡 GitHub branch protection]:
    • check-success = docs/readthedocs.org:flux-core
    • check-neutral = docs/readthedocs.org:flux-core
    • check-skipped = docs/readthedocs.org:flux-core
  • any of [🛡 GitHub branch protection]:
    • check-success = inception
    • check-neutral = inception
    • check-skipped = inception
  • any of [🛡 GitHub branch protection]:
    • check-success = flux-sched check
    • check-neutral = flux-sched check
    • check-skipped = flux-sched check
  • any of [🛡 GitHub branch protection]:
    • check-success = el8 - system,coverage
    • check-neutral = el8 - system,coverage
    • check-skipped = el8 - system,coverage
  • any of [🛡 GitHub branch protection]:
    • check-success = spelling
    • check-neutral = spelling
    • check-skipped = spelling
  • any of [🛡 GitHub branch protection]:
    • check-success = el8 - ascii
    • check-neutral = el8 - ascii
    • check-skipped = el8 - ascii
  • any of [🛡 GitHub branch protection]:
    • check-success = bookworm - 32 bit
    • check-neutral = bookworm - 32 bit
    • check-skipped = bookworm - 32 bit
  • any of [🛡 GitHub branch protection]:
    • check-success = flux-accounting check
    • check-neutral = flux-accounting check
    • check-skipped = flux-accounting check
  • any of [🛡 GitHub branch protection]:
    • check-success = python linting
    • check-neutral = python linting
    • check-skipped = python linting
  • any of [🛡 GitHub branch protection]:
    • check-success = el9 - test-install
    • check-neutral = el9 - test-install
    • check-skipped = el9 - test-install
  • any of [🛡 GitHub branch protection]:
    • check-success = fedora40 - clang-18
    • check-neutral = fedora40 - clang-18
    • check-skipped = fedora40 - clang-18
  • any of [🛡 GitHub branch protection]:
    • check-success = noble - test-install
    • check-neutral = noble - test-install
    • check-skipped = noble - test-install
  • any of [🛡 GitHub branch protection]:
    • check-success = alpine - test-install
    • check-neutral = alpine - test-install
    • check-skipped = alpine - test-install
  • any of [🛡 GitHub branch protection]:
    • check-success = fedora40 - test-install
    • check-neutral = fedora40 - test-install
    • check-skipped = fedora40 - test-install
  • any of [🛡 GitHub branch protection]:
    • check-success = bookworm - test-install
    • check-neutral = bookworm - test-install
    • check-skipped = bookworm - test-install
  • any of [🛡 GitHub branch protection]:
    • check-success = jammy - test-install
    • check-neutral = jammy - test-install
    • check-skipped = jammy - test-install
  • any of [🛡 GitHub branch protection]:
    • check-success = flux-pam check
    • check-neutral = flux-pam check
    • check-skipped = flux-pam check
  • any of [🛡 GitHub branch protection]:
    • check-success = flux-pmix check
    • check-neutral = flux-pmix check
    • check-skipped = flux-pmix check
  • any of [🛡 GitHub branch protection]:
    • check-success = bookworm - gcc-12,distcheck
    • check-neutral = bookworm - gcc-12,distcheck
    • check-skipped = bookworm - gcc-12,distcheck

@mergify mergify bot removed the queued label Jan 20, 2026
@codecov
Copy link

codecov bot commented Jan 20, 2026

Codecov Report

❌ Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 83.67%. Comparing base (91738ce) to head (b588fd2).
⚠️ Report is 4 commits behind head on master.

Files with missing lines Patch % Lines
src/common/libeventlog/eventlogger.c 87.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7291      +/-   ##
==========================================
+ Coverage   83.65%   83.67%   +0.01%     
==========================================
  Files         559      559              
  Lines       93267    93270       +3     
==========================================
+ Hits        78022    78040      +18     
+ Misses      15245    15230      -15     
Files with missing lines Coverage Δ
src/common/libeventlog/eventlogger.c 91.28% <87.50%> (+1.69%) ⬆️

... and 10 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@chu11 chu11 deleted the issue6910_eventlogger_cap_ops_count branch January 20, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants