Return Unavailable to frontend rpcs until healthy (#5069)
**What changed?**
Add an interceptor to return Unavailable to WorkflowService methods
until the frontend considers itself "healthy", which currently means
"membership is initialized".
**Why?**
Fixes #5015
**How did you test it?**
mostly manually
**Potential risks**
This adds a window of time where frontend can now return Unavailable
where previously it might have succeeded or returned a different error
code. Specifically note that client.Dial in go sdk (at least) will fail
fast on this error and the caller will need to retry.
---------
Co-authored-by: Tim Deeb-Swihart <email address hidden>
51ea367...
by
Tim Deeb-Swihart <email address hidden>
Remove the timestamp.Timestamp type (#5220)
## What changed?
I removed the now-unused timestamp.Timestamp type
## Why?
It's no longer necessary
## How did you test it?
Existing tests
## Potential risks
None
## Is hotfix candidate?
No
7e28dfe...
by
Tim Deeb-Swihart <email address hidden>
Don't rewrap marshalled DataBlobs (#5219)
## What changed?
I removed a handful of locations where we needlessly rewrap and
reallocate DataBlob objects
## Why?
These are unnecessary allocations: when we create a data blob we set
it's encoding type.
It's also incorrect to stomp that with proto3: were they serialized with
some other encoding we'd create blobs we could no longer deserialize
## Why?
I've copied some variant of this protoc.sh tool into three repos now.
This is unsustainable, so I've added a little build tool to api-go that
will handle proto generation and post-processing for us.