StateCacheProperties

The cache of aggregate states each context keeps between commands.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

The aggregate states kept per context between commands; 0 keeps none. Not set (the default), each context's cache is bounded by bytes instead: a tenth of the maximum heap (-Xmx), split between the node's contexts, each state weighed at an estimated 1 KB plus 12 bytes per recent request it holds (its rings grow with the requests the aggregate commits, up to recent-requests), and at least 4096 states with full rings. Most aggregates commit few requests, so the default holds several times as many of them as a count sized for full rings. A miss costs a snapshot and a tail read before the command is decided, so the cache should hold the aggregates written often: set a capacity when states are much larger than 1 KB (a capacity times the average state size should stay well within the heap). The wow.state-cache counter (hit, miss, evicted) shows the fit.

Link copied to clipboard

The requests each cached aggregate keeps of those it committed last, derived from the log, so that most commands skip looking their request id up; 0 looks every request id up.

Functions

Link copied to clipboard