Temporal docker container readiness check

Hi, I have some sort of timing-related issue when I try to use Temporal docker container (1.8.2)
I use it with the testcontainers Java library and need some sort of criteria of container’s readiness.
I can see in the logs that it emits “Default namespace registration complete.” message and that’s all.
If I use that as criteria for readiness, I get very strange behaviour:

  1. a separate grpc request for “default” namespace runs successfully and returns its description.
  2. however, if I try to start a workflow - I get an error (“default namespace not found”). If I wait 10-20 secs before starting - all works OK. But I don’t see any logs in the container output during this time…

Is there any other logic that I can use to make sure that container has started and ready to execute workflows?

At this point calling DescribeNamespace until it is available is the best option.

When these issues (#453 and #1336) are resolved the experience is going to improve.

Well, the problem is that DescribeNamespace runs OK and returns all relevant data. (That’s what I meant in my point 1)

Then sleep is the best way to deal with it :frowning:

OK, thanks a lot! At least I know that there’s nothing else I can do except a delay :wink:

I tried to use testcontainers with Temporal because the behaviour of TestWorkflowEnvironment (in java sdk) sometimes differs from the “real” temporal… (see the GH issue I opened today: Duplicate concurrent workflow - hangs on completion · Issue #456 · temporalio/sdk-java · GitHub)