-
.z01production-bag support (Vouch/ERP). Vouch keeps the CDX-format production index as<base>.z01instead of<base>.cdx. The server only STATed<base>.cdx, so everyUSEfell back to a speculative<base>.cdxAdsOpenIndexthat always failed with5018 AE_NO_FILE_FOUND— one wasted round-trip plus a synchronousads_err.dbfrow per open, with broken index orders. The serverOpenTableAcknow STATs.cdxthen.z01(src/network/session.cpp), the remote fallback tries.cdxthen.z01, and the local production auto-open (server ABI twin included) binds whichever exists (src/abi/ace_exports.cpp). Until the new binaries are deployed, symlinking each.z01to.cdxstops the5018flood on the old builds. -
Fixed-width
ads_err.logtext mirror. Every error-log entry is now also appended toads_err.login the same directory: all leading columns fixed-width, exactly 3 spaces apart, one line per entry, header written on creation. New developer columns the frozen DBF schema cannot carry:PID,TID(worker-thread hash for MT storms),SESSION(server sid),CLIENT(ip:port),OP(wire op/API),TABLE(basename).DETAILis the uncapped tail column (multi-line messages flattened with|). Rotation mirrors the DBF (drop oldest third) under the sameerror_log_maxcap.Session::process_framestamps per-frame context;Op: pathdetails backfillOP/TABLEfor older call sites (src/mgmt/error_log.*,src/network/session.*). The5018 OpenIndex: xxx.cdxflood that used to need DBF decoding is nowgrep OpenIndex ads_err.log. -
Linux build fix. Missing POSIX headers (
fcntl.h,sys/file.h) incdx_index.cppbroke the Linux build. -
Stress harness. 700-worker storm cap raised to 800 with
set_max_sessionsfor the in-process server (test-only).
error_log_test: newads_err.logcase (fixed widths, 3-space separators, context columns, DBF round-trip untouched) alongside the existing DBF round-trip / size-cap / engine-open cases.- Full
ctestsuite runs on release CI (Windows x64/x86, Linux, macOS) before publish.
openads-1.09.23-windows-x64.zipopenads-1.09.23-windows-x86.zipopenads-1.09.23-linux-x64.tar.gzopenads-1.09.23-macos-universal.tar.gz