since we're allowing a nil @multi_cache object, setting it to nil not only means we don't
reload it, it means we completely ignore it and always fall back to Rails.cache
Change-Id: I9a537b00de860bb53a7cc34e605eb6ab8f6d1f6f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235685
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
so that the default shard will use it as well
this also means MultiCache will load earlier, so move #cluster to Canvas
instead of ApplicationController to reduce how much is loaded. and don't
memoize the value of Rails.cache at that point, since it might not be
fully configured yet if you're not using ha_cache.yml
Change-Id: I104d7a3dcd69c6cb97e4083e198ac06c60700f9e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234253
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
plz to just use HACache
Change-Id: I06bb7d23ee24e1ef11be87af7745880ddcebd4bf
Reviewed-on: https://gerrit.instructure.com/205564
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
RedisStore is no longer supported
somewhat surprisingly, the serialization formats are compatible, so we don't
need to do any namespacing
Change-Id: Iede3a023cada95313875f0ce419b649c364ee97c
Reviewed-on: https://gerrit.instructure.com/202663
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
just use fetch(key, node: :all) without a block
Change-Id: I9015b5db56991aebe599f143f4ea4d97beeb40b5
Reviewed-on: https://gerrit.instructure.com/90080
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
explicitly have one copy per node in a ring (instead of relying
on hashing of a different to hopefully evenly spread copies around
the ring).
test plan:
* configure a ring of redis servers for cache
* canvas should still work
Change-Id: I17e086aac28c1c095c9717a7625ca51c86d0598f
Reviewed-on: https://gerrit.instructure.com/48069
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
so that we can support variable keys
Change-Id: Ibd932e47cac57b6f57c62bf1ff3cc1c93460ce3c
Reviewed-on: https://gerrit.instructure.com/48062
Tested-by: Jenkins
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>