Datastore caching layer for "luci-config". |
||||||||
Issue descriptionIncreasingly, LUCI services depend on the availability of "luci-config" to load and refresh their configurations. If this service goes down, applications may become unable to function once their memcache config expires. The solution is to add a datastore caching layer for the latest configuration values. This would live in between the proccache/memcache layer and "luci-config" and would retain the last successfully-loaded config in datastore, where it would remain accessible even if the "luci-config" service goes down.
,
Jan 18 2017
If this is really a Pri-1, find an owner and update the priority. This is the result of a bulk edit that moved high priority available bugs to a lower priority in an attempt to be more honest with bug filers.
,
Jan 26 2017
,
Jan 26 2017
Not fixed yet :( Needs to be deployed to other luci-config-consuming services. Off the top of my head: - Milo - Scheduler - Dungeon Master Deployment is easy: - Add a cron task: https://github.com/luci/luci-go/blob/211540cd92322bcc7bc5e44791ff51ef0f07c5f7/appengine/gaemiddleware/resources.cfg#L10 - Go to /admin/settings/gaeconfig and set "Enable datastore-backed caching" to Enabled (works, but cache fail will fall through) or Strict (works, and any cache fail will be an error). luci-logdog production is set to "Strict" FWIW.
,
Jan 26 2017
,
Jan 26 2017
,
Jan 26 2017
,
Jan 26 2017
There we go.
,
Jan 26 2017
Scheduler doesn't need it. It calls luci-config from cron already. Adding one more layer of crons and caching will just complicate data flow. Same for Token Server. In both cases crons do some postprocessing of configs and store the result in datastore in a form suitable for fast consumption, so even if luci-config cached existed before, I'd still had separate cron to handle configs.
,
Mar 29 2017
this feature is implemented. Its adoption in concrete apps is outside of the scope |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by benhenry@chromium.org
, Aug 16 2016