diff --git a/changelog.md b/changelog.md
new file mode 100644
index 0000000..41e1155
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,16 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+
+## [Unreleased]
+
+## [1.6.0] - 2020-05-12
+
+### Added
+
+- added storagehub retry in InputsManager class, getLocalFile method
+
+### Changed
+ -
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index b1fa05b..d93d93d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
org.gcube.dataanalysis
dataminer
- 1.5.9-SNAPSHOT
+ 1.6.0-SNAPSHOT
dataminer
An e-Infrastructure service providing state-of-the art DataMining algorithms and ecological modelling approaches under the Web Processing Service (WPS) standard.
diff --git a/src/main/java/org/gcube/dataanalysis/wps/statisticalmanager/synchserver/mapping/InputsManager.java b/src/main/java/org/gcube/dataanalysis/wps/statisticalmanager/synchserver/mapping/InputsManager.java
index 074b72c..cc84cb5 100644
--- a/src/main/java/org/gcube/dataanalysis/wps/statisticalmanager/synchserver/mapping/InputsManager.java
+++ b/src/main/java/org/gcube/dataanalysis/wps/statisticalmanager/synchserver/mapping/InputsManager.java
@@ -5,6 +5,7 @@ import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
+import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
@@ -43,6 +44,8 @@ public class InputsManager {
private static final Logger LOGGER = LoggerFactory.getLogger(InputsManager.class);
+ private static final long SHUB_RETRY_MILLIS = 2000;
+
LinkedHashMap inputs;
List generatedTables;
List generatedFiles;
@@ -242,8 +245,17 @@ public class InputsManager {
InputStream is = null;
HttpURLConnection urlConnection = null;
URL url = new URL(subfilelink);
- urlConnection = (HttpURLConnection) url.openConnection();
- is = new BufferedInputStream(urlConnection.getInputStream());
+ try {
+ urlConnection = (HttpURLConnection) url.openConnection();
+ is = new BufferedInputStream(urlConnection.getInputStream());
+ }catch(IOException e) {
+ LOGGER.warn("download from storagehub failed. Retry ongoing...");
+ LOGGER.debug("waiting "+SHUB_RETRY_MILLIS+" millis ");
+ Thread.sleep(SHUB_RETRY_MILLIS);
+ urlConnection = (HttpURLConnection) url.openConnection();
+ is = new BufferedInputStream(urlConnection.getInputStream());
+ LOGGER.debug(" retry success ");
+ }
// retrieve payload: for test purpose only
String fileNameTemp = inputNameFromHttpHeader(subfilelink);