backend/server/rhnServer/server_packages.py
| 1
backend/spacewalk-backend.spec
| 6 +
java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
| 33 +++++++++-
java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
| 10 ++-
java/code/src/com/redhat/rhn/frontend/action/satellite/CobblerAction.java
| 3
java/code/src/com/redhat/rhn/frontend/action/systems/customkey/UpdateCustomKeyAction.java
| 10 ++-
java/code/src/com/redhat/rhn/frontend/action/systems/sdc/DeleteCustomDataAction.java
| 7 +-
java/code/src/com/redhat/rhn/manager/channel/ChannelEditor.java
| 3
java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
| 1
java/spacewalk-java.spec
| 14 +++-
rel-eng/packages/spacewalk-backend
| 2
rel-eng/packages/spacewalk-java
| 2
12 files changed, 81 insertions(+), 11 deletions(-)
New commits:
commit a973b2949b6cdcc3be814955600833bd6f9ac816
Merge: d56c348 d4f0e6a
Author: Silvio Moioli <smoioli(a)suse.de>
Date: Fri Jan 24 08:55:59 2014 +0100
Merge branch 'master' into master-bootstrap-css-fixes
commit d4f0e6a539bd8b47f20771aa7339eac8a35960e3
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Jan 23 10:10:56 2014 +0100
Automatic commit of package [spacewalk-backend] release [2.1.44-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index c8d356d..240f334 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -11,7 +11,7 @@ Name: spacewalk-backend
Summary: Common programs needed to be installed on the Spacewalk servers/proxies
Group: Applications/Internet
License: GPLv2
-Version: 2.1.43
+Version: 2.1.44
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -628,6 +628,10 @@ rm -f %{rhnconf}/rhnSecret.py*
%{pythonrhnroot}/satellite_tools/exporter/xmlWriter.py*
%changelog
+* Thu Jan 23 2014 Milan Zazrivec <mzazrivec(a)redhat.com> 2.1.44-1
+- 1056659 - commit after updating server's package profile
+- Add extra log folder /var/log/rhn/tasko/sat/ in spacewalk-debug.
+
* Mon Jan 20 2014 Michael Mraka <michael.mraka(a)redhat.com> 2.1.43-1
- python rhnSQL: proper cleanup after connection error
- fixed python tests
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index 0880a40..b2de22b 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-2.1.43-1 backend/
+2.1.44-1 backend/
commit d7b30cfcff73dc37537afe94ec824c2463ef8bd6
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Jan 23 10:07:13 2014 +0100
1056659 - commit after updating server's package profile
This is to prevent a race condition with another package
profile update and to fix the following server error:
Exception Handler Information
Traceback (most recent call last):
File "/usr/share/rhn/server/apacheRequest.py", line 120, in
call_function
response = apply(func, params)
File "/usr/share/rhn/server/handlers/xmlrpc/registration.py", line
993, in update_packages
server.save_packages()
File "/usr/share/rhn/server/rhnServer/server_wrapper.py", line 73, in
save_packages
ret = self.save_packages_byid(self.server["id"], schedule=schedule)
File "/usr/share/rhn/server/rhnServer/server_packages.py", line 218,
in save_packages_byid
h.execute_bulk(package_data)
File "/usr/share/rhn/server/rhnSQL/sql_base.py", line 202, in
execute_bulk
ret = ret + apply(self.executemany, (), subdict)
File "/usr/share/rhn/server/rhnSQL/sql_base.py", line 177, in
executemany
return apply(self._execute_wrapper, (self._executemany, ) + p, kw)
File "/usr/share/rhn/server/rhnSQL/driver_cx_Oracle.py", line 118, in
_execute_wrapper
raise apply(sql_base.SQLError, ret)
SQLError: (1, 'ORA-00001: unique constraint (RHNSAT.RHN_SP_SNEP_UQ)
violated\n', "insert
into rhnServerPackage (server_id, name_id, evr_id, package_arch_id,
installtime) values (:sysid,
LOOKUP_PACKAGE_NAME(:n), LOOKUP_EVR(:e, :v, :r),
LOOKUP_PACKAGE_ARCH(:a),
TO_DATE(:instime, 'YYYY-MM-DD HH24:MI:SS') )")
diff --git a/backend/server/rhnServer/server_packages.py
b/backend/server/rhnServer/server_packages.py
index 0e1f1a8..ed883df 100644
--- a/backend/server/rhnServer/server_packages.py
+++ b/backend/server/rhnServer/server_packages.py
@@ -226,6 +226,7 @@ class Packages:
}
try:
h.execute_bulk(package_data)
+ rhnSQL.commit()
except rhnSQL.SQLSchemaError, e:
# LOOKUP_PACKAGE_ARCH failed
if e.errno == 20243:
commit 939cc153c97d195076d79b55ca23a73761517e9e
Author: Jan Dobes <jdobes(a)redhat.com>
Date: Thu Jan 23 09:10:02 2014 +0100
fix exceptions when user is deleted
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/systems/customkey/UpdateCustomKeyAction.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/customkey/UpdateCustomKeyAction.java
index 76b23b6..7ef87d3 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/systems/customkey/UpdateCustomKeyAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/systems/customkey/UpdateCustomKeyAction.java
@@ -73,13 +73,19 @@ public class UpdateCustomKeyAction extends RhnAction implements
Listable {
request.setAttribute(CREATE_PARAM, key.getCreated());
request.setAttribute(MODIFY_PARAM, key.getModified());
- request.setAttribute(CREATOR_PARAM, key.getCreator().getLogin());
+
+ if (key.getCreator() != null) {
+ request.setAttribute(CREATOR_PARAM, key.getCreator().getLogin());
+ }
+ else {
+ request.setAttribute(CREATOR_PARAM, "");
+ }
if (key.getLastModifier() != null) {
request.setAttribute(MODIFIER_PARAM, key.getLastModifier().getLogin());
}
else {
- request.setAttribute(MODIFIER_PARAM, key.getCreator().getLogin());
+ request.setAttribute(MODIFIER_PARAM, "");
}
Map params = new HashMap();
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/systems/sdc/DeleteCustomDataAction.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/sdc/DeleteCustomDataAction.java
index 45d2aec..a416868 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/systems/sdc/DeleteCustomDataAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/systems/sdc/DeleteCustomDataAction.java
@@ -80,7 +80,12 @@ public class DeleteCustomDataAction extends RhnAction {
request.setAttribute(CIKID_PARAM, cikid);
request.setAttribute(LABEL_PARAM, cdv.getKey().getLabel());
request.setAttribute(DESC_PARAM, cdv.getValue());
- request.setAttribute(CREATOR_PARAM, cdv.getCreator().getLogin());
+ if (cdv.getCreator() != null) {
+ request.setAttribute(CREATOR_PARAM, cdv.getCreator().getLogin());
+ }
+ else {
+ request.setAttribute(CREATOR_PARAM, "");
+ }
request.setAttribute(CREATED_PARAM, cdv.getCreated());
if (cdv.getLastModifier() != null) {
request.setAttribute(LAST_MODIFIER_PARAM,
cdv.getLastModifier().getLogin());
commit 90279f128ca7ce5e6b06f7e7f8d052c0be5d158e
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Jan 23 08:34:00 2014 +0100
Automatic commit of package [spacewalk-java] release [2.1.127-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 65517a3..866cecc 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.126
+Version: 2.1.127
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -801,6 +801,9 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Thu Jan 23 2014 Milan Zazrivec <mzazrivec(a)redhat.com> 2.1.127-1
+- javadoc fix
+
* Wed Jan 22 2014 Milan Zazrivec <mzazrivec(a)redhat.com> 2.1.126-1
- Removed an unused line that broke compilation
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index e52c81b..f913c43 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.126-1 java/
+2.1.127-1 java/
commit cf553fbaa63c7c6192ba370f7f729e198c606f7d
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Jan 23 08:29:02 2014 +0100
javadoc fix
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
index 0116382..4c5884a 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
@@ -1180,7 +1180,7 @@ public class ChannelFactory extends HibernateFactory {
return ids;
}
- /*
+ /**
* Locks the given Channel for update on a database level
* @param c Channel to lock
*/
commit 06f8e1555b705caa0f8530da25d5fea93233aa93
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Wed Jan 22 18:37:07 2014 +0100
Automatic commit of package [spacewalk-java] release [2.1.126-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 633db9f..65517a3 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.125
+Version: 2.1.126
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -801,6 +801,9 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Wed Jan 22 2014 Milan Zazrivec <mzazrivec(a)redhat.com> 2.1.126-1
+- Removed an unused line that broke compilation
+
* Wed Jan 22 2014 Michael Mraka <michael.mraka(a)redhat.com> 2.1.125-1
- checkstyle fix
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 22a59cc..e52c81b 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.125-1 java/
+2.1.126-1 java/
commit dedd7d25135a4752528b16a50b70edbc6dff321e
Author: Silvio Moioli <smoioli(a)suse.de>
Date: Wed Jan 22 17:48:49 2014 +0100
Removed an unused line that broke compilation
diff --git a/java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
b/java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
index 502b995..eafebd4 100644
--- a/java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
+++ b/java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
@@ -29,7 +29,6 @@ import org.hibernate.LockMode;
import org.hibernate.MappingException;
import org.hibernate.Query;
import org.hibernate.Session;
-import org.hibernate.Version;
import org.hibernate.metadata.ClassMetadata;
import java.io.ByteArrayOutputStream;
@@ -401,7 +400,6 @@ public abstract class HibernateFactory {
try {
session = HibernateFactory.getSession();
- String hVersion = HibernateFactory.getHibernateVersion().substring(0, 3);
retval = session.get(clazz, id, LockMode.UPGRADE);
}
commit cff38ac5c38fd957e3dd935ebca808a8e3eedb50
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Wed Jan 22 17:02:32 2014 +0100
Automatic commit of package [spacewalk-java] release [2.1.125-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 55f1947..633db9f 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.124
+Version: 2.1.125
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -801,6 +801,9 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Wed Jan 22 2014 Michael Mraka <michael.mraka(a)redhat.com> 2.1.125-1
+- checkstyle fix
+
* Wed Jan 22 2014 Milan Zazrivec <mzazrivec(a)redhat.com> 2.1.124-1
- 1053591 - fix deadlock when cloning using spacewalk-clone-by-date
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 776cd27..22a59cc 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.124-1 java/
+2.1.125-1 java/
commit 7f0e0bde0b7bd5f3fa2a904c3156168fadee129d
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Wed Jan 22 16:51:03 2014 +0100
checkstyle fix
diff --git a/java/code/src/com/redhat/rhn/frontend/action/satellite/CobblerAction.java
b/java/code/src/com/redhat/rhn/frontend/action/satellite/CobblerAction.java
index c341eeb..829f848 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/satellite/CobblerAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/satellite/CobblerAction.java
@@ -53,7 +53,8 @@ public class CobblerAction extends RhnAction {
ValidatorError ve;
try {
ve = new CobblerSyncCommand(ctx.getLoggedInUser()).store();
- } catch (Exception ex) {
+ }
+ catch (Exception ex) {
this.getStrutsDelegate().addError(errors,
"cobbler.jsp.xmlrpc.fail",
ex.getLocalizedMessage());
commit 13e4df80c3d69a0c321af20bbac0f37ec60be7ab
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Wed Jan 22 16:41:09 2014 +0100
Automatic commit of package [spacewalk-java] release [2.1.124-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 7bdae62..55f1947 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 2.1.123
+Version: 2.1.124
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -801,6 +801,9 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Wed Jan 22 2014 Milan Zazrivec <mzazrivec(a)redhat.com> 2.1.124-1
+- 1053591 - fix deadlock when cloning using spacewalk-clone-by-date
+
* Wed Jan 22 2014 Michael Mraka <michael.mraka(a)redhat.com> 2.1.123-1
- Bugfix: ISE when cobbler components are missing (not installed)
- port reboot_confirm.pxt from perl to java
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index e538d17..776cd27 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-2.1.123-1 java/
+2.1.124-1 java/
commit bded6355c0ef72f980cbedac7ede350bf6b81fc6
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Wed Jan 22 16:38:24 2014 +0100
1053591 - fix deadlock when cloning using spacewalk-clone-by-date
We need to explicitly lock one row of rhnChannel table to avoid
a db deadlock.
diff --git a/java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
b/java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
index 8d1fcc2..502b995 100644
--- a/java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
+++ b/java/code/src/com/redhat/rhn/common/hibernate/HibernateFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2009--2012 Red Hat, Inc.
+ * Copyright (c) 2009--2014 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
@@ -25,9 +25,11 @@ import org.apache.log4j.Logger;
import org.hibernate.EntityMode;
import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
+import org.hibernate.LockMode;
import org.hibernate.MappingException;
import org.hibernate.Query;
import org.hibernate.Session;
+import org.hibernate.Version;
import org.hibernate.metadata.ClassMetadata;
import java.io.ByteArrayOutputStream;
@@ -385,6 +387,37 @@ public abstract class HibernateFactory {
}
/**
+ * Return a locked persistent instance of the given entity class with
+ * the given identifier, or null if there is no such persistent instance.
+ * (If the instance, or a proxy for the instance, is already associated
+ * with the session, return that instance or proxy.)
+ * @param clazz a persistent class
+ * @param id an identifier
+ * @return Object persistent instance or null
+ */
+ protected Object lockObject(Class clazz, Serializable id) {
+ Object retval = null;
+ Session session = null;
+
+ try {
+ session = HibernateFactory.getSession();
+ String hVersion = HibernateFactory.getHibernateVersion().substring(0, 3);
+
+ retval = session.get(clazz, id, LockMode.UPGRADE);
+ }
+ catch (MappingException me) {
+ getLogger().error("Mapping not found for " + clazz.getName(), me);
+
+ }
+ catch (HibernateException he) {
+ getLogger().error("Hibernate exception: " + he.toString());
+ }
+
+ return retval;
+ }
+
+
+ /**
* Util to reload an object using Hibernate
* @param obj to be reloaded
* @return Object found if not, null
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
index 1689ac3..0116382 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2009--2012 Red Hat, Inc.
+ * Copyright (c) 2009--2014 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
@@ -1179,4 +1179,12 @@ public class ChannelFactory extends HibernateFactory {
}
return ids;
}
+
+ /*
+ * Locks the given Channel for update on a database level
+ * @param c Channel to lock
+ */
+ public static void lock(Channel c) {
+ singleton.lockObject(Channel.class, c.getId());
+ }
}
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelEditor.java
b/java/code/src/com/redhat/rhn/manager/channel/ChannelEditor.java
index 90766c6..51036c7 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelEditor.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2009--2012 Red Hat, Inc.
+ * Copyright (c) 2009--2014 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
@@ -58,6 +58,7 @@ public class ChannelEditor {
* @param packageIds A list containing the ids of packages to add.
*/
public void addPackages(User user, Channel channel, Collection packageIds) {
+ ChannelFactory.lock(channel);
changePackages(user, channel, packageIds, true);
}
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index 18d9412..59e75ed 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -1338,6 +1338,7 @@ public class ErrataManager extends BaseManager {
public static void cloneErrataApiAsync(Channel chan, List<Long> errata,
User user, boolean inheritPackages) {
Logger.getLogger(ErrataManager.class).debug("Cloning");
+ ChannelFactory.lock(chan);
for (long eid : errata) {
NewCloneErrataEvent neve = new NewCloneErrataEvent(chan, eid, user,
inheritPackages);