Skip to main content

COMMIT_ACT

Short Description

This means a session is waiting for a COMMIT (or ROLLBACK) to complete.

Detailed Description​

This means a session is waiting for a COMMIT (or ROLLBACK) to complete.

At this point Db2 is doing the end-of-transaction work, which can include:

  • Flushing log buffers to disk (log I/O)
  • Coordinating commit ordering (especially under high concurrency)
  • Releasing locks
  • Two-phase commit work (if using HADR, XA, or distributed transactions)

In practice, COMMIT_ACT almost always points to log subsystem pressure, not slow SQL execution.

How to reduce this wait​

Most effective levers, roughly in order of impact:

1. Improve log I/O latency​

  • Put active logs on fast storage (NVMe > SSD > network disks)
  • Avoid sharing log disks with data files or backups
  • Check for spikes in log_disk_wait_time

2. Reduce commit frequency​

  • Batch work and commit less often
  • Avoid β€œcommit per row” patterns
  • Use larger transactions where safe

3. Increase log buffer size​

  • Increase LOGBUFSZ so commits don’t wait for buffer flushes as often
  • Especially important for high-throughput OLTP systems

4. Tune logging configuration​

  • Ensure LOGPRIMARY / LOGSECOND are sized appropriately
  • Avoid frequent log file allocation during peaks
  • Preallocate logs if possible

5. Check concurrency hot spots​

  • Many sessions committing at once can serialize on the log
  • Connection pools with aggressive auto-commit can amplify this

6. HADR / distributed transactions​

  • In HADR sync modes, commit waits may include standby acknowledgement
  • XA / federated work adds commit coordination overhead

Search online​

If this article doesn't have the information you need you can try searching online. Remember, you can contribute suggestions to this page.