Skip to content

Commit 3b9834c

Browse files
committed
Keep old ProtoRecordConverter constructor as deprecated
1 parent 8b60d5f commit 3b9834c

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

parquet-protobuf/src/main/java/org/apache/parquet/proto/ProtoMessageConverter.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,16 @@ class ProtoMessageConverter extends GroupConverter {
6565
protected final Message.Builder myBuilder;
6666
protected final Map<String, String> extraMetadata;
6767

68-
// used in record converter
68+
/**
69+
* Used in record converter.
70+
*
71+
* @param conf Configuration for some customizable behavior,
72+
* eg. "parquet.proto.accept.unknown.enum" - whether to accept an unparsable (after trying with proto enum label and number) enum as `UNKNOWN` with a number -1 (the one generated automatically for each proto enum)
73+
* @param pvc The parent value containing the converted proto
74+
* @param protoClass The class of the converted proto
75+
* @param parquetSchema The (part of) parquet schema that should match to the expected proto
76+
* @param extraMetadata Metadata from parquet footer, containing useful information about parquet-proto convertion behavior
77+
*/
6978
ProtoMessageConverter(Configuration conf, ParentValueContainer pvc, Class<? extends Message> protoClass, GroupType parquetSchema, Map<String, String> extraMetadata) {
7079
this(conf, pvc, Protobufs.getMessageBuilder(protoClass), parquetSchema, extraMetadata);
7180
}

parquet-protobuf/src/main/java/org/apache/parquet/proto/ProtoRecordConverter.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.apache.hadoop.conf.Configuration;
2525
import org.apache.parquet.schema.MessageType;
2626

27+
import java.util.Collections;
2728
import java.util.Map;
2829

2930
/**
@@ -58,6 +59,18 @@ public ProtoRecordConverter(Configuration conf, Message.Builder builder, Message
5859
reusedBuilder = getBuilder();
5960
}
6061

62+
// Old version constructors, kept for code backward compatibility.
63+
// The instance will not be able to handle unknowned enum values written by parquet-proto (the behavior before PARQUET-1455)
64+
@Deprecated
65+
public ProtoRecordConverter(Class<? extends Message> protoclass, MessageType parquetSchema) {
66+
this(new Configuration(), protoclass, parquetSchema, Collections.emptyMap());
67+
}
68+
69+
@Deprecated
70+
public ProtoRecordConverter(Message.Builder builder, MessageType parquetSchema) {
71+
this(new Configuration(), builder, parquetSchema, Collections.emptyMap());
72+
}
73+
6174
@Override
6275
public void start() {
6376
reusedBuilder.clear();

0 commit comments

Comments
 (0)