apache / apache/parquet-testing
Can't run ParquetMR tests in IDEs
- Dominant language
- Python
- Stars
- 90
- Forks
- 79
- Avg merge
- 15d 20h
- Merged PRs (30d)
- 1
Description
ParquetMR contains a suite of self-tests. When one of those self-tests fails, it would be nice to be able to pull up the test in an IDE like IntelliJ. Then we can use the debugger and track down what the problem is. Unfortunately, this is impossible due to some unfortunate design choices.
If I open a test source file in IntelliJ and tell the IDE to run it, the first errors I get is a bunch of errors in org.apache.parquet.VersionTest, which evidently cannot find a bunch of symbols. If I hack VersionTest to no longer depend on those symbols, the next thing that happens is this error:
```java
/home/theosib/packages/PARQUET-2069/parquet-mr/parquet-column/src/main/java/org/apache/parquet/io/MessageColumnIO.java:43:46
java: cannot find symbol
symbol: class IncrementallyUpdatedFilterPredicateBuilder
location: package org.apache.parquet.filter2.recordlevel
```
Evidently, IncrementallyUpdatedFilterPredicateBuilder doesn't exist. Instead, it is auto-generated during the maven build process, but the code is stashed away somewhere where IntelliJ can't find it, and this is the end of the road.
If we want more people to be able to contribute to ParquetMR, I think we should work towards making it easier to debug.
**Environment**: In my case, IntelliJ IDEA.
**Reporter**: [Timothy Miller](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=theosib-amazon) / @theosib-amazon
**Note**: *This issue was originally created as [PARQUET-2147](https://issues.apache.org/jira/browse/PARQUET-2147). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the IntelliJ failure with the ParquetMR self-tests, beginning with org.apache.parquet.VersionTest. Inspect parquet-column/src/main/java/org/apache/parquet/io/MessageColumnIO.java and the Maven-generated IncrementallyUpdatedFilterPredicateBuilder. Done means the self-tests can be opened, run, and debugged in IntelliJ without missing symbols.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, developer-experience, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100