dapr: sidecar /healthz returns 204 before placement server can route to actors on running service

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release

What version of Dapr?

All

Expected Behavior

/healthz to not return a 204 until it can actually activate actors.

Actual Behavior

A 204 response is returned even though it isn’t possible to activate any actors on the service.

Steps to Reproduce the Problem

  1. Start a simple service that can host an actor. On startup, have it check that daprd is healthy, if it is, invoke an actor method.
  2. See the error: error invoke actor method: error finding address for actor type SimpleActor with id actor_60f2d9a578f5d

I discovered this while trying to remove the sleep 10 from the php integration tests. Here’s an example failure

Release Note

RELEASE NOTE:

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 20 (6 by maintainers)

Most upvoted comments

@shubham1172 I perfer to optimize healthz.

Hi @ChristopherLenz !

Just FYI, in the JS SDK we had a similar issue. We artificially implemented a check that polls the /metadata endpoint until it returns something. It’s kind of like the health endpoint.

Any update?

Agreed that this is crucial, we can never expect a server to startup correctly before placement has been checked