apache / apache/parquet-java

TransCompressionCommand Inoperable

Open
#2,552 2 comments 0 reactions 0 assignees View on GitHub
Component: Java Component: Parquet Priority: Blocker Type: bug
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

`TransCompressionCommand` in parquet-tools is intended to allow translation of compression types in parquet files.  We are intending to use this functionality to debug a corrupted file, but this command fails to run at the moment entirely. 

Running the following command (on the uncorrupted file):
```java

java -jar ./parquet-tools-1.11.1.jar trans-compression ~/Downloads/part-00048-69f65188-94b5-4772-8906-5c78989240b5_00048.c000.snappy.parquet
```
This results in 

 
```java

Unknown command: trans-compression
```
 

I believe this is due to the Registry class [silently catching any errors to initialize](https://github.com/apache/parquet-mr/blob/master/parquet-tools/src/main/java/org/apache/parquet/tools/command/Registry.java#L65) which subsequently is [misinterpreted as an unknown command](https://github.com/apache/parquet-mr/blob/master/parquet-tools/src/main/java/org/apache/parquet/tools/Main.java#L200).

We need to: 
1. Write a test for the TransCompressionCommand to figure out why it's showing up as unknown command
1. Probably expand these tests to cover all the other commands

 

This will then unblock our debugging work on the suspect file. 

**Environment**: I am using parquet-tools 1.11.1 on a Mac machine running Catalina, and my parquet-tools jar was downloaded from Maven Central. 
**Reporter**: [Shelby Vanhooser](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=vanhooser)

**Note**: *This issue was originally created as [PARQUET-1948](https://issues.apache.org/jira/browse/PARQUET-1948). 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 in parquet-tools/src/main/java/org/apache/parquet/tools/command/Registry.java and org/apache/parquet/tools/Main.java, then run the reported trans-compression command to reproduce the unknown-command result. Add a test for TransCompressionCommand and extend coverage to the other commands if applicable; done means the command is recognized and the tests explain why it previously failed.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.