4 ms·
I didn't understand the tracing part. Is tracing 100% inside of polaris? If not does it start at the database? The first cache? Does the invalidation need to b
by ArrayBoundCheck 4y ago
I didn't understand the tracing part. Is tracing 100% inside of polaris? If not does it start at the database? The first cache?
Does the invalidation need to be predictable before you can use tracing? What kind of parameters do you have so you don't have too much logging or too little?
- uvdn7 4y agoTracing is not in polaris. It's a separate library that runs in every cache host. Its main job is logging every cache state mutation for traced writes. So when polaris detects cache inconsistencies, we know what happened and why cache is inconsistent. It starts all the way from client initiated write (where we mint a unique id, and plumb it all the way through). > What kind of parameters do you have so you don't have too much logging or too little? This is the key question! If you go to the second half of the post, it talks about an insight about how we managed to log only when and where cache inconsistencies _can_ be introduced. There's only a small window after mutation/write where cache can become inconsistent due to invalidation. So it's very cheap to trace and provide the information we need.