You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rawstor-ost --queue-size's default raised from 256 to 4096, now that per-session write concurrency is bounded (see Fixed below) and no longer needs a small ring to keep worst-case exposure in check.
rawstor-ost.service exposes --queue-size/--write-throttle-limit/--write-backlog-capacity as the QUEUE_SIZE/WRITE_THROTTLE_LIMIT/WRITE_BACKLOG_CAPACITY environment variables, overridable in /etc/rawstor-ost.conf like the rest of its tuning knobs.
Fixed
rawstor-ost had no limit on how many WRITEs a session could have dispatched to storage at once; against a backing store much slower than the incoming write rate, that queue grew without bound instead of applying ordinary backpressure, eventually stalling the session (and, under sustained pressure, the whole process) for an effectively unbounded time. Now capped per session via the new --write-throttle-limit (default 128); rawstor-ost also now warns on startup if it's set too close to --queue-size to leave any real headroom.
Even with --write-throttle-limit in place, a session facing a backing store slower than its incoming write rate could still queue an unbounded number of already-received writes waiting for a dispatch slot, growing memory use without bound. Now capped in bytes via the new --write-backlog-capacity (default 256MiB); a write that would push the backlog over the cap is rejected with EBUSY instead of queued.