-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Server Programmability
-
None
-
None
-
None
-
None
-
None
-
None
-
None
We should reimplement our fromjson() and fromFuzzerJson() utilities to use a third-party JSON parser. The parser at a minimum needs to support an intermediate representation of the data that we can use to build a BSONObj without inspecting the input bytes directly, or support a way to hook into parsing events such that the BSONObj can be constructed inline during parsing.
Ideally, the library would also just support parsing directly to BSON; however, this only satisfies the requirements for fromjson(). The fromFuzzerJson() utility is an extension that is aware of domain-specific object schemas like DBRef; it may be costly to parse directly to BSON and then walk the BSONObj to detect and rewrite the domain-specific objects.
Assuming we are able to use a third-party library to reimplement fromjson() and fromFuzzerJson(), delete JParser and JParserUtil.
- is depended on by
-
SERVER-104025 Consolidate our uses of alternate JSON-to-BSON parsers onto the standard one
-
- Blocked
-
- is related to
-
SERVER-102008 Audit JSON parsers in our system, to determine if we can reduce duplication or replace some with third-party components.
-
- Closed
-
- related to
-
SERVER-102008 Audit JSON parsers in our system, to determine if we can reduce duplication or replace some with third-party components.
-
- Closed
-