Closed jrudolph closed 1 year ago
This is caused by the protobuf message classes (like org.apache.pekko.cluster.ddata.protobuf.msg.ReplicatorMessages
) have not been regenerated after the rename of packages etc in the corresponding protobuf files. Instead, it seems in some strings in the binary data encoded as strings in those classes some oversimple replacements of akka->pekko has happened.
That does not work as those generated message files contain a binary representation of the corresponding protobuf files which is now broken. Instead those message classes need to be regenerated from the protobuf files. Hopefully, the protobuf format itself is still compatible (I think so, as plain protobuf does not carry metadata tags for data, though special wrappers like Any
may be more problematic).
This is caused by the protobuf message classes (like org.apache.pekko.cluster.ddata.protobuf.msg.ReplicatorMessages) have not been regenerated after the rename of packages etc in the corresponding protobuf files. Instead, it seems in some strings in the binary data encoded as strings in those classes some oversimple replacements of akka->pekko has happened.
That does not work as those generated message files contain a binary representation of the corresponding protobuf files which is now broken. Instead those message classes need to be regenerated from the protobuf files. Hopefully, the protobuf format itself is still compatible (I think so, as plain protobuf does not carry metadata tags for data, though special wrappers like Any may be more problematic).
So I am responsible for this, when I did the package rename change in Pekko I also had to deal with the fact that classes generated from Protobuff also change (or more specifically the packages). I installed protobuff locally and regenerated the binary data in the `java.lang.String[] descriptorData
fields but evidently in some places it was either missed or done incorrectly.
FWIW, I couldn't actually install the ancient version of protobuff that Pekko is tied to, so I had to use the latest one, regenerated the class with the newer protobuff and then manually copy the java.lang.String[] descriptorData
into the existing source.
FWIW, I couldn't actually install the ancient version of protobuff that Pekko is tied to,
I just copied the protoc
executable from https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protoc-3.11.4-linux-x86_64.zip somewhere in the filesystem and adapted the protoc
setting in sbt to make it work.
I just copied the protoc executable from https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protoc-3.11.4-linux-x86_64.zip somewhere in the filesystem and adapted the protoc setting in sbt to make it work.
My issue is that I am on an M1 and they didn't provide binaries for ARM at that point.
https://github.com/apache/incubator-pekko/actions/runs/4139596533/jobs/7157347234#step:6:26963