This is an automated email from the ASF dual-hosted git repository.
yunhong pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/main by this push:
new e9dbcf109 [hotfix] log info include table bucket for remote log
downloader when downloading (#2817)
e9dbcf109 is described below
commit e9dbcf109ae7743512efa440dc24fffdefb86eb1
Author: yunhong <[email protected]>
AuthorDate: Mon Mar 9 21:01:32 2026 +0800
[hotfix] log info include table bucket for remote log downloader when
downloading (#2817)
---
.../client/table/scanner/log/RemoteLogDownloader.java | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git
a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java
b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java
index 20b5ca5b8..b30458983 100644
---
a/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java
+++
b/fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java
@@ -25,6 +25,7 @@ import org.apache.fluss.config.ConfigOptions;
import org.apache.fluss.config.Configuration;
import org.apache.fluss.fs.FsPath;
import org.apache.fluss.fs.FsPathAndFileName;
+import org.apache.fluss.metadata.TableBucket;
import org.apache.fluss.metadata.TablePath;
import org.apache.fluss.remote.RemoteLogSegment;
import org.apache.fluss.utils.ExceptionUtils;
@@ -151,6 +152,7 @@ public class RemoteLogDownloader implements Closeable {
return;
}
+ TableBucket tableBucket = request.getTableBucket();
try {
// 1. cleanup the finished logs first to free up disk space
cleanupRemoteLogs();
@@ -167,8 +169,9 @@ public class RemoteLogDownloader implements Closeable {
(bytes, throwable) -> {
if (throwable != null) {
LOG.error(
- "Failed to download remote log
segment file {}.",
+ "Failed to download remote log
segment file {} for table bucket {}.",
fsPathAndFileName.getFileName(),
+ tableBucket,
ExceptionUtils.stripExecutionException(throwable));
// release the semaphore for the failed
request
prefetchSemaphore.release();
@@ -178,8 +181,10 @@ public class RemoteLogDownloader implements Closeable {
scannerMetricGroup.remoteFetchErrorCount().inc();
} else {
LOG.info(
- "Successfully downloaded remote
log segment file {} to local cost {} ms.",
+ "Successfully downloaded remote
log segment file {} to local for "
+ + "table bucket {} cost {}
ms.",
fsPathAndFileName.getFileName(),
+ tableBucket,
System.currentTimeMillis() -
startTime);
File localFile =
new File(
@@ -195,7 +200,7 @@ public class RemoteLogDownloader implements Closeable {
segmentsToFetch.add(request);
scannerMetricGroup.remoteFetchErrorCount().inc();
// log the error and continue instead of shutdown the download
thread
- LOG.error("Failed to download remote log segment.", t);
+ LOG.error("Failed to download remote log segment for table bucket
{}.", tableBucket, t);
}
}
@@ -301,6 +306,10 @@ public class RemoteLogDownloader implements Closeable {
return
RemoteLogDownloader.getFsPathAndFileName(remoteLogTabletDir, segment);
}
+ public TableBucket getTableBucket() {
+ return segment.tableBucket();
+ }
+
@Override
public int compareTo(RemoteLogDownloadRequest o) {
if (segment.tableBucket().equals(o.segment.tableBucket())) {