Skip to content

v1.7.0-preview.2

Pre-release
Pre-release

Choose a tag to compare

@pdevito3 pdevito3 released this 26 Aug 02:48
· 127 commits to main since this release

BackWave 1.7.0-preview.2

Prerelease. This preview makes the Oracle adapter much cheaper on the network, and it corrects three worker-group defects that affect every adapter.

Added

  • The Oracle adapter can wake an idle worker on enqueue through DBMS_ALERT. Set OracleStoreOptions.EnableWakeUpHints to turn it on. It is off by default, and with it off no DBMS_ALERT call runs. Polling stays the only correctness mechanism. A missing EXECUTE grant on SYS.DBMS_ALERT, or a channel fault, logs one warning and keeps polling. Pickup latency drops from the 5 s poll interval to about 138 ms.

Changed

  • The Oracle adapter costs far fewer database round trips on its hot paths. A claim of 32 jobs goes from 71 statements and 32 LOB reads to 9 statements and 0 LOB reads. A report of 32 outcomes goes from 97 statements to 5. A sweep of 32 expired leases goes from 65 statements to 4. A 200-job monitor page goes from 400 LOB reads to 0. Measured across a 1 ms network hop, throughput is 4.1 times the previous preview.

Fixed

  • A worker group admitted many more jobs than PoolSize under a burst. Measured live concurrency reached 160 to 400 handlers at PoolSize 20. The driver now reserves a claim batch's pool slots when it issues the batch.
  • The idle-poll backoff saturated to MaxPollInterval within milliseconds after a drain. A job that became due right after that waited out the whole ceiling. The ramp now follows elapsed idle time. Pickup latency drops from about 30 s to about 1 s.
  • A worker group reported healthy while its store was down. A fault on a maintenance sweep also stranded a claim's pool reservation, which wedged the pool shut.

This is a preview package. Do not use it in production.