Hello, I have reported this issue [1] about upgrading from Pulsar 2.7 to 2.8. More information is on the ticket, but the short version of the story is that in Pulsar 2.8 we introduced a breaking change in the Schema API, by switching SchemaInfo from a class to an interface.
This leads to an IncompatibleClassChangeError when you have a Function or a Connector that is using Schema.JSON(Pojo.class) and you upgrade your Pulsar cluster (the functions worker pod for instance) from Pulsar 2.7.x to Pulsar 2.8.0. The bad problem is that you cannot upgrade Pulsar without interrupting the service and coordinating with the upgrade of the Functions. Your functions need to be recompiled against the Pulsar 2.8 API and deployed again in production. I have tried to move back SchemaInfo to an "abstract class" but without success, because then you fall into errors. I am not sure there is a way to provide a good "upgrade path" for Functions/IO users. If we do not find a way we have to document the upgrade in the official Pulsar Documentation. We must do our best to prevent users from falling again into this bad situation. Any suggestions or thoughts ? Regards Enrico [1] https://github.com/apache/pulsar/issues/11338