apache / apache/hudi

Compaction repair,validate,unschedule commands failing on s3 due to wrong fs

Open
#15,573 0 comments 0 reactions 0 assignees View on GitHub
area:table-service component:cli component:compaction from-jira priority:high type:devtask
Dominant language
Java
Stars
6.2k
Forks
2.5k
Avg merge
2d 8h
Merged PRs (30d)
111

Description

hudi:hudi_basic_test_mor67302->compaction repair --instant 20220928213713680
Wrong FS: s3:/tmp/7546beec-097f-49c8-a89a-37f8b82619c4.ser, expected: s3://rahilc-dev
Details of the error have been omitted. You can use the stacktrace command to print the full stacktrace.
hudi:hudi_basic_test_mor67302->stacktrace
java.lang.IllegalArgumentException: Wrong FS: s3:/tmp/7546beec-097f-49c8-a89a-37f8b82619c4.ser, expected: s3://rahilc-dev
at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:814)
at org.apache.hadoop.fs.FileSystem.makeQualified(FileSystem.java:673)
at com.amazon.ws.emr.hadoop.fs.staging.DefaultStagingMechanism.isStagingDirectoryPath(DefaultStagingMechanism.java:49)
at com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem.getFileStatus(S3NativeFileSystem.java:496)
at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1767)
at com.amazon.ws.emr.hadoop.fs.EmrFileSystem.exists(EmrFileSystem.java:402)
at org.apache.hudi.common.fs.HoodieWrapperFileSystem.exists(HoodieWrapperFileSystem.java:558)
at org.apache.hudi.cli.commands.CompactionCommand.repairCompaction(CompactionCommand.java:643)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.shell.command.invocation.InvocableShellMethod.doInvoke(InvocableShellMethod.java:306)
at org.springframework.shell.command.invocation.InvocableShellMethod.invoke(InvocableShellMethod.java:232)
at org.springframework.shell.command.CommandExecution$DefaultCommandExecution.evaluate(CommandExecution.java:158)
at org.springframework.shell.Shell.evaluate(Shell.java:208)
at org.springframework.shell.Shell.run(Shell.java:140)
at org.springframework.shell.jline.InteractiveShellRunner.run(InteractiveShellRunner.java:73)
at org.springframework.shell.DefaultShellApplicationRunner.run(DefaultShellApplicationRunner.java:65)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:762)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:752)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295)
at org.apache.hudi.cli.Main.main(Main.java:35)

## JIRA info

- Link: https://issues.apache.org/jira/browse/HUDI-5224
- Type: Task

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with org.apache.hudi.cli.commands.CompactionCommand.repairCompaction, where the stack trace reports the failure, and compare the compaction repair, validate, and unschedule command paths. Reproduce the commands against the S3 path using the issue's instant and inspect the filesystem path handling. Done means these commands no longer raise the Wrong FS error on S3.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, java
Domain
cli, cloud, data-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.