[
https://issues.apache.org/jira/browse/HUDI-9063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Y Ethan Guo updated HUDI-9063:
------------------------------
Fix Version/s: 1.1.0
> Fix all complete instant fetch from timeline in test
> ----------------------------------------------------
>
> Key: HUDI-9063
> URL: https://issues.apache.org/jira/browse/HUDI-9063
> Project: Apache Hudi
> Issue Type: Bug
> Reporter: Davis Zhang
> Priority: Major
> Fix For: 1.1.0
>
>
> As of today, when a test would like to read completed instant file, it
> typcially does:
> * use request time string as a key to fetch
> * create a dummy instant who only comes with request time yet no completion
> time.
> This is fine in old timeline layout version, yet it no longer works in new
> timeline version. We would end up with "file not found" since the instant
> file name generation based on the dummy instant does not exists in FS at all.
>
> So today the workaround is in the implementation code we fix this instant
> object on the fly.
> In future we should remove this logic and fix all the tests
> {code:java}
> @Override
> public Option<InputStream> getContentStream(HoodieInstant instant) {
> Option<HoodieInstant> actualInstant = Option.of(instant);
>
> if (instant.getCompletionTime().isEmpty() &&
> instant.getState().equals(HoodieInstant.State.COMPLETED)) {
> actualInstant = getInstantFromTimeline(instant, this, actualInstant);
> }
> if (actualInstant.isEmpty()) {
> return Option.empty();
> }
> StoragePath filePath =
> getInstantFileNamePath(instantFileNameGenerator.getFileName(actualInstant.get()));
> return Option.of(readDataStreamFromPath(filePath));
> } {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)