You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by hy...@apache.org on 2014/03/07 12:57:11 UTC
git commit: TAJO-672: Wrong progress status when overwrites to
partition table. (hyoungjunkim via hyunsik)
Repository: incubator-tajo
Updated Branches:
refs/heads/master bd673e645 -> 1fb837e36
TAJO-672: Wrong progress status when overwrites to partition table. (hyoungjunkim via hyunsik)
Project: http://git-wip-us.apache.org/repos/asf/incubator-tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tajo/commit/1fb837e3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tajo/tree/1fb837e3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tajo/diff/1fb837e3
Branch: refs/heads/master
Commit: 1fb837e36487227b159129ac724ac8bc13ab1f55
Parents: bd673e6
Author: Hyunsik Choi <hy...@apache.org>
Authored: Fri Mar 7 20:56:58 2014 +0900
Committer: Hyunsik Choi <hy...@apache.org>
Committed: Fri Mar 7 20:56:58 2014 +0900
----------------------------------------------------------------------
CHANGES.txt | 3 +++
.../src/main/java/org/apache/tajo/worker/Task.java | 8 +++++++-
.../src/test/java/org/apache/tajo/worker/TestFetcher.java | 9 +++++++++
3 files changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/1fb837e3/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 5082b8d..552d7ec 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -273,6 +273,9 @@ Release 0.8.0 - unreleased
BUG FIXES
+ TAJO-672: Wrong progress status when overwrites to partition table.
+ (hyoungjunkim via hyunsik)
+
TAJO-663: CREATE TABLE USING RAW doesn't throw ERROR. (jaehwa)
TAJO-665: sort buffer size must be dealt as long type values.
http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/1fb837e3/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java
index c542afb..30f56ee 100644
--- a/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java
+++ b/tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java
@@ -18,6 +18,7 @@
package org.apache.tajo.worker;
+import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.commons.lang.exception.ExceptionUtils;
@@ -588,6 +589,11 @@ public class Task {
}
}
+ @VisibleForTesting
+ public static float adjustFetchProcess(int totalFetcher, int remainFetcher) {
+ return ((float)(totalFetcher - remainFetcher)) / (float)totalFetcher * FETCHER_PROGRESS;
+ }
+
private synchronized void fetcherFinished(TaskAttemptContext ctx) {
int fetcherSize = fetcherRunners.size();
if(fetcherSize == 0) {
@@ -599,7 +605,7 @@ public class Task {
if (numRunningFetcher == 0) {
context.setProgress(FETCHER_PROGRESS);
} else {
- context.setProgress(((float)(fetcherSize - numRunningFetcher)) / numRunningFetcher * FETCHER_PROGRESS);
+ context.setProgress(adjustFetchProcess(fetcherSize, numRunningFetcher));
}
} finally {
ctx.getFetchLatch().countDown();
http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/1fb837e3/tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestFetcher.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestFetcher.java b/tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestFetcher.java
index aa4a20c..0c47320 100644
--- a/tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestFetcher.java
+++ b/tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestFetcher.java
@@ -82,4 +82,13 @@ public class TestFetcher {
FileStatus outStatus = fs.getFileStatus(new Path(OUTPUT_DIR, "data"));
assertEquals(inStatus.getLen(), outStatus.getLen());
}
+
+ @Test
+ public void testAdjustFetchProcess() {
+ assertEquals(0.05f, Task.adjustFetchProcess(10, 9), 0);
+ assertEquals(0.1f, Task.adjustFetchProcess(10, 8), 0);
+ assertEquals(0.25f, Task.adjustFetchProcess(10, 5), 0);
+ assertEquals(0.45f, Task.adjustFetchProcess(10, 1), 0);
+ assertEquals(0.5f, Task.adjustFetchProcess(10, 0), 0);
+ }
}