diff --git a/pom.xml b/pom.xml
index a9b3ec47..bb453a52 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
cloudgene
cloudgene
- 2.8.2
+ 2.8.3
Cloudgene
http://www.cloudgene.io
diff --git a/src/main/html/webapp/package-lock.json b/src/main/html/webapp/package-lock.json
index 20c5e85a..83f2d96d 100644
--- a/src/main/html/webapp/package-lock.json
+++ b/src/main/html/webapp/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "cloudgene",
- "version": "2.8.2",
+ "version": "2.8.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cloudgene",
- "version": "2.8.2",
+ "version": "2.8.3",
"license": "AGPL-3.0",
"dependencies": {
"@fortawesome/fontawesome-free": "5.3.1",
diff --git a/src/main/html/webapp/package.json b/src/main/html/webapp/package.json
index 235fa51c..989041f9 100644
--- a/src/main/html/webapp/package.json
+++ b/src/main/html/webapp/package.json
@@ -1,6 +1,6 @@
{
"name": "cloudgene",
- "version": "2.8.2",
+ "version": "2.8.3",
"description": "Cloudgene web client",
"homepage": "http://www.cloudgene.io",
"author": "Lukas Forer oldJobs = dao.findAllNotifiedJobs();
int deleted = 0;
@@ -53,6 +56,9 @@ public static int executeRetire(Database database, Settings settings) {
job.setState(AbstractJob.STATE_RETIRED);
dao.update(job);
+
+ parameterDao.deleteAllByJob(job);
+
log.info("Job " + job.getId() + " retired.");
deleted++;
diff --git a/src/main/java/cloudgene/mapred/database/ParameterDao.java b/src/main/java/cloudgene/mapred/database/ParameterDao.java
index eb2decc2..6028b8b8 100644
--- a/src/main/java/cloudgene/mapred/database/ParameterDao.java
+++ b/src/main/java/cloudgene/mapred/database/ParameterDao.java
@@ -183,7 +183,30 @@ public CloudgeneParameterOutput findById(int id) {
}
}
- class ParameterInputMapper implements IRowMapper {
+ public boolean deleteAllByJob(AbstractJob job) {
+ try {
+
+ StringBuilder sql = new StringBuilder();
+ sql.append("delete ");
+ sql.append("from parameter ");
+ sql.append("where job_id = ?");
+
+ Object[] params = new Object[1];
+ params[0] = job.getId();
+
+ update(sql.toString(), params);
+
+ log.debug("delete all parameters by job_id '" + job.getId() + "' successful.");
+
+ return true;
+
+ } catch (SQLException e) {
+ log.error("delete all parameters by job_id '" + job.getId() + "' failed.", e);
+ return false;
+ }
+ }
+
+ class ParameterInputMapper implements IRowMapper {
@Override
public Object mapRow(ResultSet rs, int row) throws SQLException {