tree 9bbe91a979813abd8300ccf1ca467fa0d28c32ce
parent 1a42174021935c955e8c2474db86c6fa785b867a
author jhorvitz <jhorvitz@google.com> 1639709544 -0800
committer Copybara-Service <copybara-worker@google.com> 1639709628 -0800

Let `SkyKey` alone declare its value's shareability.

There are currently three methods for declaring shareability:

* `SkyFunctionName#getShareabilityOfValue`
* `SkyKey#getShareabilityOfValue`
* `SkyValue#dataIsShareable`

The former two are just "hints" - a return of `SOMETIMES` still requires checking the value. However, there is no enforcement of consistency - for example, we can have a particular `SkyFunctionName#getShareabilityOfValue` return `NEVER`, but that function may compute a value whose `SkyValue#dataIsShareable` returns `true`. This currently happens in practice.

My original plan was to check consistency in `SerializationCheckingGraph`, but it turns out that it's not too difficult to just make `SkyKey` the sole proprietor of shareability. This is strictly better than giving the responsibility to `SkyValue` because a remote storage fetch for a value need not be attempted if the key is not shareable (this is what the "hint" in `SkyKey` intended to achieve).

Replace `ShareabilityOfValue` with a simple boolean since the return of `SkyKey#valueIsShareable` is now definite.

PiperOrigin-RevId: 416937942
