You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tw...@apache.org on 2018/05/15 14:34:07 UTC
flink git commit: [FLINK-9361] [sql-client] Fix refresh interval in
changelog mode
Repository: flink
Updated Branches:
refs/heads/master 89ac3dbe4 -> 0b5e124ba
[FLINK-9361] [sql-client] Fix refresh interval in changelog mode
This closes #6012.
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/0b5e124b
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/0b5e124b
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/0b5e124b
Branch: refs/heads/master
Commit: 0b5e124ba24230026995cbb93444f30af7d51363
Parents: 89ac3db
Author: Timo Walther <tw...@apache.org>
Authored: Mon May 14 16:48:12 2018 +0200
Committer: Timo Walther <tw...@apache.org>
Committed: Tue May 15 16:32:38 2018 +0200
----------------------------------------------------------------------
.../client/cli/CliChangelogResultView.java | 5 ++-
.../flink/table/client/cli/CliResultView.java | 37 ++++++++++++++------
.../apache/flink/table/client/cli/CliView.java | 2 +-
3 files changed, 32 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/0b5e124b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliChangelogResultView.java
----------------------------------------------------------------------
diff --git a/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliChangelogResultView.java b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliChangelogResultView.java
index 7ffd432..cf17933 100644
--- a/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliChangelogResultView.java
+++ b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliChangelogResultView.java
@@ -89,6 +89,9 @@ public class CliChangelogResultView extends CliResultView<CliChangelogResultView
@Override
protected void display() {
// scroll down before displaying
+ if (scrolling > 0) {
+ selectedRow = NO_ROW_SELECTED;
+ }
scrollDown(scrolling);
scrolling = 0;
@@ -248,7 +251,7 @@ public class CliChangelogResultView extends CliResultView<CliChangelogResultView
@Override
protected List<AttributedString> computeFooterLines() {
- return formatTwoLineHelpOptions(client.getWidth(), getHelpOptions());
+ return formatTwoLineHelpOptions(getWidth(), getHelpOptions());
}
// --------------------------------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/0b5e124b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliResultView.java
----------------------------------------------------------------------
diff --git a/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliResultView.java b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliResultView.java
index 1d9df3f..9f893bb 100644
--- a/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliResultView.java
+++ b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliResultView.java
@@ -78,18 +78,24 @@ public abstract class CliResultView<O extends Enum<O>> extends CliView<O, Void>
protected void increaseRefreshInterval() {
refreshInterval = Math.min(REFRESH_INTERVALS.size() - 1, refreshInterval + 1);
- refreshThread.interrupt();
// reset view
resetAllParts();
+
+ synchronized (refreshThread) {
+ refreshThread.notify();
+ }
}
protected void decreaseRefreshInterval(int minInterval) {
refreshInterval = Math.max(minInterval, refreshInterval - 1);
- refreshThread.interrupt();
// reset view
resetAllParts();
+
+ synchronized (refreshThread) {
+ refreshThread.notify();
+ }
}
protected void selectRowUp() {
@@ -148,6 +154,9 @@ public abstract class CliResultView<O extends Enum<O>> extends CliView<O, Void>
protected void stopRetrieval() {
// stop retrieval
refreshThread.isRunning = false;
+ synchronized (refreshThread) {
+ refreshThread.notify();
+ }
}
protected boolean isRetrieving() {
@@ -234,10 +243,14 @@ public abstract class CliResultView<O extends Enum<O>> extends CliView<O, Void>
if (interval >= 0) {
// refresh according to specified interval
if (interval > 0) {
- try {
- Thread.sleep(interval);
- } catch (InterruptedException e) {
- continue;
+ synchronized (RefreshThread.this) {
+ if (isRunning) {
+ try {
+ RefreshThread.this.wait(interval);
+ } catch (InterruptedException e) {
+ continue;
+ }
+ }
}
}
@@ -254,10 +267,14 @@ public abstract class CliResultView<O extends Enum<O>> extends CliView<O, Void>
}
} else {
// keep the thread running but without refreshing
- try {
- Thread.sleep(100L);
- } catch (InterruptedException e) {
- // do nothing
+ synchronized (RefreshThread.this) {
+ if (isRunning) {
+ try {
+ RefreshThread.this.wait(100);
+ } catch (InterruptedException e) {
+ // continue
+ }
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/flink/blob/0b5e124b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliView.java
----------------------------------------------------------------------
diff --git a/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliView.java b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliView.java
index 3fa1aab..7cc3bb7 100644
--- a/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliView.java
+++ b/flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliView.java
@@ -57,7 +57,7 @@ public abstract class CliView<OP extends Enum<OP>, OUT> {
protected int offsetY;
- private boolean isRunning;
+ private volatile boolean isRunning;
private Thread inputThread;