>From Michael Blow <mb...@apache.org>: Michael Blow has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20343 )
Change subject: [NO ISSUE][*DB][EXT] Avoid serialization of JsonFactory ...................................................................... [NO ISSUE][*DB][EXT] Avoid serialization of JsonFactory Use a static JsonFactory in JSONDataParserFactory to avoid serialization overhead and binary compatibility complications in the future. (cherry picked from commit 8a15298fb6) Ext-ref: MB-68387 Change-Id: I5b855538fff6530ae3ae6ce45e2b8d68801d1e94 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20343 Reviewed-by: Michael Blow <mb...@apache.org> Tested-by: Michael Blow <mb...@apache.org> --- M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/JSONDataParserFactory.java 1 file changed, 22 insertions(+), 4 deletions(-) Approvals: Michael Blow: Looks good to me, approved; Verified diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/JSONDataParserFactory.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/JSONDataParserFactory.java index f9d50d3..b672b20 100644 --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/JSONDataParserFactory.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/JSONDataParserFactory.java @@ -41,16 +41,15 @@ public class JSONDataParserFactory extends AbstractRecordStreamParserFactory<char[]> { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 2L; private static final List<String> PARSER_FORMAT = Collections.unmodifiableList( Arrays.asList(ExternalDataConstants.FORMAT_JSON_LOWER_CASE, ExternalDataConstants.FORMAT_JSON_UPPER_CASE)); private static final List<ATypeTag> UNSUPPORTED_TYPES = Collections .unmodifiableList(Arrays.asList(ATypeTag.MULTISET, ATypeTag.POINT3D, ATypeTag.CIRCLE, ATypeTag.RECTANGLE, ATypeTag.INTERVAL, ATypeTag.DAYTIMEDURATION, ATypeTag.DURATION, ATypeTag.BINARY)); + private static final JsonFactory jsonFactory; - private final JsonFactory jsonFactory; - - public JSONDataParserFactory() { + static { jsonFactory = new JsonFactory(); jsonFactory.configure(JsonParser.Feature.STRICT_DUPLICATE_DETECTION, true); jsonFactory.configure(JsonFactory.Feature.CANONICALIZE_FIELD_NAMES, true); -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20343 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: morpheus Gerrit-Change-Id: I5b855538fff6530ae3ae6ce45e2b8d68801d1e94 Gerrit-Change-Number: 20343 Gerrit-PatchSet: 3 Gerrit-Owner: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Michael Blow <mb...@apache.org> Gerrit-CC: Anon. E. Moose #1000171 Gerrit-MessageType: merged