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