[ 
https://issues.apache.org/jira/browse/HUDI-1737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roc Marshal updated HUDI-1737:
------------------------------
    Priority: Major  (was: Minor)

> Extract common method in HoodieCreateHandle & FlinkCreateHandle
> ---------------------------------------------------------------
>
>                 Key: HUDI-1737
>                 URL: https://issues.apache.org/jira/browse/HUDI-1737
>             Project: Apache Hudi
>          Issue Type: Improvement
>          Components: Code Cleanup
>            Reporter: Roc Marshal
>            Assignee: Roc Marshal
>            Priority: Major
>              Labels: hudi-client, pull-request-available
>
> {code:java}
> // HoodieCreateHandle.java
> //...
> @Override
> public List<WriteStatus> close() {
>   LOG.info("Closing the file " + writeStatus.getFileId() + " as we are done 
> with all the records " + recordsWritten);
>   try {
>     fileWriter.close();
>     HoodieWriteStat stat = new HoodieWriteStat();
>     stat.setPartitionPath(writeStatus.getPartitionPath());
>     stat.setNumWrites(recordsWritten);
>     stat.setNumDeletes(recordsDeleted);
>     stat.setNumInserts(insertRecordsWritten);
>     stat.setPrevCommit(HoodieWriteStat.NULL_COMMIT);
>     stat.setFileId(writeStatus.getFileId());
>     stat.setPath(new Path(config.getBasePath()), path);
>     long fileSizeInBytes = FSUtils.getFileSize(fs, path);
>     stat.setTotalWriteBytes(fileSizeInBytes);
>     stat.setFileSizeInBytes(fileSizeInBytes);
>     stat.setTotalWriteErrors(writeStatus.getTotalErrorRecords());
>     RuntimeStats runtimeStats = new RuntimeStats();
>     runtimeStats.setTotalCreateTime(timer.endTimer());
>     stat.setRuntimeStats(runtimeStats);
>     writeStatus.setStat(stat);
>     LOG.info(String.format("CreateHandle for partitionPath %s fileID %s, took 
> %d ms.", stat.getPartitionPath(),
>         stat.getFileId(), runtimeStats.getTotalCreateTime()));
>     return Collections.singletonList(writeStatus);
>   } catch (IOException e) {
>     throw new HoodieInsertException("Failed to close the Insert Handle for 
> path " + path, e);
>   }
> }
> //FlinkCreateHandle.java
> private void setUpWriteStatus() throws IOException {
>   long fileSizeInBytes = fileWriter.getBytesWritten();
>   long incFileSizeInBytes = fileSizeInBytes - lastFileSize;
>   this.lastFileSize = fileSizeInBytes;
>   HoodieWriteStat stat = new HoodieWriteStat();
>   stat.setPartitionPath(writeStatus.getPartitionPath());
>   stat.setNumWrites(recordsWritten);
>   stat.setNumDeletes(recordsDeleted);
>   stat.setNumInserts(insertRecordsWritten);
>   stat.setPrevCommit(HoodieWriteStat.NULL_COMMIT);
>   stat.setFileId(writeStatus.getFileId());
>   stat.setPath(new Path(config.getBasePath()), path);
>   stat.setTotalWriteBytes(incFileSizeInBytes);
>   stat.setFileSizeInBytes(fileSizeInBytes);
>   stat.setTotalWriteErrors(writeStatus.getTotalErrorRecords());
>   HoodieWriteStat.RuntimeStats runtimeStats = new 
> HoodieWriteStat.RuntimeStats();
>   runtimeStats.setTotalCreateTime(timer.endTimer());
>   stat.setRuntimeStats(runtimeStats);
>   writeStatus.setStat(stat);
> }{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to