You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/09/08 12:06:00 UTC
[incubator-dlab] branch develop updated: [DLAB-2032] Turn off
autocomplete if receiving available lib list fails
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push:
new 0106748 [DLAB-2032] Turn off autocomplete if receiving available lib list fails
0106748 is described below
commit 010674823568f239d2402ac741ebdbee62c1fcf2
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Tue Sep 8 14:58:37 2020 +0300
[DLAB-2032] Turn off autocomplete if receiving available lib list fails
---
.../epam/dlab/backendapi/domain/ExploratoryLibCache.java | 12 +++++++-----
.../epam/dlab/backendapi/domain/ExploratoryLibList.java | 15 +++++++++++++--
.../backendapi/resources/callback/LibraryCallback.java | 4 ++--
3 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibCache.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibCache.java
index 3c768ad..a33756f 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibCache.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibCache.java
@@ -137,6 +137,7 @@ public class ExploratoryLibCache implements Managed, Runnable {
libs = cache.get(cacheKey);
if (libs.isUpdateNeeded() && !libs.isUpdating()) {
libs.setUpdating();
+ libs.setExpiredTime();
requestLibList(userInfo, userInstance, cacheKey);
}
}
@@ -158,13 +159,14 @@ public class ExploratoryLibCache implements Managed, Runnable {
}
/**
- * Remove the list of libraries for docker image from cache.
+ * Set updating library list to false
*
- * @param imageName docker image name
+ * @param groupName group name
*/
- public void removeLibList(String imageName) {
+ public void updateLibListStatus(String groupName) {
synchronized (cache) {
- cache.remove(imageName);
+ ExploratoryLibList exploratoryLibList = cache.get(groupName);
+ exploratoryLibList.setNotUpdating();
}
}
@@ -178,7 +180,7 @@ public class ExploratoryLibCache implements Managed, Runnable {
private void requestLibList(UserInfo userInfo, UserInstanceDTO userInstance, String group) {
try {
- LOGGER.debug("Ask docker for the list of libraries for user {} and exploratory {} computational {}",
+ LOGGER.info("Ask docker for the list of libraries for user {} and exploratory {} computational {}",
userInfo.getName(), userInstance.getExploratoryId(),
userInstance.getResources());
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibList.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibList.java
index b5a8d95..f264c78 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibList.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibList.java
@@ -145,8 +145,7 @@ public class ExploratoryLibList {
log.info("Update {} group with lib group {} with {} libraries", this.group, groupName, (group != null) ? group.size() : null);
libs.put(groupName, new TreeMap<>(group));
}
- expiredTimeMillis = System.currentTimeMillis() + EXPIRED_TIMEOUT_MILLIS;
- accessTimeMillis = System.currentTimeMillis();
+ setExpiredTime();
updating = false;
}
} catch (IOException e) {
@@ -154,6 +153,11 @@ public class ExploratoryLibList {
}
}
+ public void setExpiredTime() {
+ expiredTimeMillis = System.currentTimeMillis() + EXPIRED_TIMEOUT_MILLIS;
+ accessTimeMillis = System.currentTimeMillis();
+ }
+
/**
* Search and return the list of libraries for name's prefix <b>startWith</b>.
*
@@ -214,6 +218,13 @@ public class ExploratoryLibList {
}
/**
+ * Set updating to false.
+ */
+ public void setNotUpdating() {
+ updating = Boolean.FALSE;
+ }
+
+ /**
* Return <b>true</b> if the update in progress.
*/
public boolean isUpdating() {
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/LibraryCallback.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/LibraryCallback.java
index 53684e6..63af14b 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/LibraryCallback.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/LibraryCallback.java
@@ -85,8 +85,8 @@ public class LibraryCallback {
requestId.checkAndRemove(dto.getRequestId());
try {
if (UserInstanceStatus.FAILED == UserInstanceStatus.of(dto.getStatus())) {
- log.warn("Request for the list of libraries fails: {}", dto.getErrorMessage());
- ExploratoryLibCache.getCache().removeLibList(dto.getGroup());
+ log.warn("Request for the list of libraries for {} fails: {}", dto.getGroup(), dto.getErrorMessage());
+ ExploratoryLibCache.getCache().updateLibListStatus(dto.getGroup());
} else {
ExploratoryLibCache.getCache().updateLibList(dto.getGroup(), dto.getLibs());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org