diff --git a/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtoBeamConverter.java b/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtoBeamConverter.java index d3295b386d15..559b8dd1b518 100644 --- a/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtoBeamConverter.java +++ b/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtoBeamConverter.java @@ -505,12 +505,17 @@ public Message apply(Row row) { // writeObject() needs to be implemented because Descriptor is not serializable. private void writeObject(ObjectOutputStream oos) throws IOException { - ProtobufUtil.serializeDescriptor(oos, descriptor); + String messageFullName = descriptor.getFullName(); + ProtoDomain protoDomain = ProtoDomain.buildFrom(descriptor); + oos.writeObject(protoDomain); + oos.writeObject(messageFullName); } // readObject() needs to be implemented because Descriptor is not serializable. private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException { - initialize(ProtobufUtil.deserializeDescriptor(ois)); + ProtoDomain protoDomain = (ProtoDomain) ois.readObject(); + String messageFullName = (String) ois.readObject(); + initialize(protoDomain.getDescriptor(messageFullName)); } } diff --git a/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtobufUtil.java b/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtobufUtil.java index 92ad0de98b18..c54f098be5c2 100644 --- a/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtobufUtil.java +++ b/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtobufUtil.java @@ -22,9 +22,6 @@ import com.google.protobuf.ExtensionRegistry; import com.google.protobuf.ExtensionRegistry.ExtensionInfo; import com.google.protobuf.Message; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; import java.lang.reflect.InvocationTargetException; import java.util.HashSet; import java.util.Set; @@ -92,21 +89,6 @@ static void verifyDeterministic(ProtoCoder coder) throws NonDeterministicExce } } - static void serializeDescriptor(ObjectOutputStream oos, Descriptor descriptor) - throws IOException { - String messageFullName = descriptor.getFullName(); - ProtoDomain protoDomain = ProtoDomain.buildFrom(descriptor); - oos.writeObject(protoDomain); - oos.writeObject(messageFullName); - } - - static Descriptor deserializeDescriptor(ObjectInputStream ois) - throws IOException, ClassNotFoundException { - ProtoDomain protoDomain = (ProtoDomain) ois.readObject(); - String messageFullName = (String) ois.readObject(); - return protoDomain.getDescriptor(messageFullName); - } - //////////////////////////////////////////////////////////////////////////////////////////////// // Disable construction of utility class private ProtobufUtil() {}