Currently, we use kuberay to deploy an application on K8s. The application is started using Ray Actor and runs in different Pods through Ray scheduling. The Actor code is Python + C++. The Python code is used to call C++ interfaces. as fuc (Int a, int b); If we upgrade the CCE image and perform rolling upgrade, some pod images have the latest version of the program, but the Python calls the C++ interface has changed fun (int a, float b), which will cause the remote execution to fail. Want to consult how to solve this problem?
You mean you have a C++ actor and a python caller to remote call it? Now that the C++ actor changed signature maybe you can give it a different name, and do backwards compatibility like:
in C++ actor:
int F(int i, int j) { return F_new_float(i, float(j); } }