Beyond Ringpop?

Context

I have a small hope that there will one day be support for an active-active Temporal configuration across datacenters, even though I have seen statements from Maxim such as, “Temporal doesn’t support active-active. A namespace is active in one cluster at a time.”

I have experience building and running active-active applications on top of Cassandra, and I believe that there is the possibility of Temporal growing to support such a configuration with the right underlying DB, consistency tuning, and sharding strategy.

Question

As part of my effort to understand the momentum vector of Temporal as an open-source project, I would first like to know if anyone can enlighten me about the deprecation of ringpop. I see that membership is pretty nicely abstracted now, so I wonder if there is a long-term strategy for replacing ringpop?

Definitely happy to take this to Github if it’s more appropriate as a discussion issue?

Raised an issue for discussion here: ringpop deprecation discussion · Issue #4748 · temporalio/temporal · GitHub

I believe the long term plan is to replace ringpop. It’s something that has been discussed. Will try to get latest update on this and get back to you.

1 Like

Any thoughts on what could be the potential replacement?

Also a similar issue in Cadence: uber/cadence#2471

AFAIK, I don’t see any good replacement in OSS today.

Even hashicorp serf is missing a lot of features compared to Ringpop for the use case of Cadence/Temporal

The most obvious would be technology-specific. For example, k8s one.

This is too narrow to use…

btw, can I get more info about the deprecation of ringpop?

I can see some reasons like

  • It’s missing improvement for troubleshooting
  • it’s built on TChannel which is also deprecated

But those can be fixed if we want. What are the key reasons that Uber/Cadence/Temporal no longer want to use it?