`MessageTypeParser.parseMessageType()` Fails to Parse Valid Parquet Schemas with Special Characters in Field Names
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.6k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 33
Description
### Describe the bug, including details regarding any error messages, version, and platform.
The MessageTypeParser.parseMessageType(String) method fails when parsing Parquet schemas containing field names with special characters such as "name=id" or "first name". These field names are valid in Parquet schema definitions and Parquet files successfully support them. However, parseMessageType throws an error or fails to deserialize such schemas back into a valid MessageType object.
Steps to Reproduce:
Create a valid Parquet schema with a field name like name=id or first name.
Convert it to a string using .toString().
Attempt to parse it back using MessageTypeParser.parseMessageType(parquetSchema.toString()).
Suggested Fix:
Enhance MessageTypeParser to properly handle and deserialize field names containing special characters, ensuring compliance with the Parquet specification.
### Component(s)
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with MessageTypeParser.parseMessageType(String) and reproduce the round-trip using a valid Parquet schema whose field name contains "name=id" or "first name". Done means the schema string produced by toString() parses back into an equivalent valid MessageType without an error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data-engineering
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100