apache / apache/parquet-testing

Can't run ParquetMR tests in IDEs

Open
#52 0 comments 0 reactions 0 assignees View on GitHub
Component: Parquet Component: Testing Priority: Blocker Type: bug
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.