You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mp...@apache.org on 2015/05/15 16:41:29 UTC
ambari git commit: AMBARI-11116. Upgrade to 2.0.1,
unable to RU (can't get installed). (mpapirkovskyy)
Repository: ambari
Updated Branches:
refs/heads/branch-2.0.maint f4777363e -> b66a5bcd9
AMBARI-11116. Upgrade to 2.0.1, unable to RU (can't get installed). (mpapirkovskyy)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b66a5bcd
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b66a5bcd
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b66a5bcd
Branch: refs/heads/branch-2.0.maint
Commit: b66a5bcd9d5c5c652f4129253d273a44dcc89ea9
Parents: f477736
Author: Myroslav Papirkovskyy <mp...@hortonworks.com>
Authored: Thu May 14 23:38:43 2015 +0300
Committer: Myroslav Papirkovskyy <mp...@hortonworks.com>
Committed: Fri May 15 17:41:13 2015 +0300
----------------------------------------------------------------------
.../DistributeRepositoriesActionListener.java | 1 +
.../server/orm/dao/AlertDefinitionDAO.java | 12 +++++++++++-
.../ambari/server/orm/dao/AlertDispatchDAO.java | 19 +++++++++++++++++++
.../apache/ambari/server/orm/dao/AlertsDAO.java | 6 ++++++
.../apache/ambari/server/orm/dao/GroupDAO.java | 2 ++
.../orm/dao/KerberosPrincipalHostDAO.java | 1 +
.../apache/ambari/server/orm/dao/MemberDAO.java | 1 +
.../ambari/server/orm/dao/PermissionDAO.java | 4 ++++
.../ambari/server/orm/dao/PrincipalDAO.java | 4 ++++
.../ambari/server/orm/dao/PrincipalTypeDAO.java | 3 +++
.../ambari/server/orm/dao/PrivilegeDAO.java | 6 ++++++
.../ambari/server/orm/dao/UpgradeDAO.java | 2 ++
.../apache/ambari/server/orm/dao/UserDAO.java | 2 ++
.../apache/ambari/server/orm/dao/ViewDAO.java | 3 +++
.../ambari/server/orm/dao/ViewInstanceDAO.java | 1 +
.../AmbariManagementControllerImplTest.java | 20 ++++++++++++++++++--
.../HostVersionOutOfSyncListenerTest.java | 4 ++++
.../server/orm/dao/AlertDefinitionDAOTest.java | 5 +++++
.../server/orm/dao/AlertDispatchDAOTest.java | 5 +++++
.../ambari/server/orm/dao/AlertsDAOTest.java | 6 ++++++
.../state/cluster/AlertDataManagerTest.java | 5 +++++
.../server/state/cluster/ClusterTest.java | 6 ++++++
22 files changed, 115 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java
index e4b26b1..bb508b5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java
@@ -162,6 +162,7 @@ public class DistributeRepositoriesActionListener {
// If we know exact host stack version, there will be single execution of a code below
if (hostVersion.getState() == RepositoryVersionState.INSTALLING) {
hostVersion.setState(newHostState);
+ hostVersionDAO.get().merge(hostVersion);
// Update state of a cluster stack version
try {
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java
index 659fb21..680bc2a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java
@@ -31,6 +31,7 @@ import org.apache.ambari.server.events.AlertDefinitionChangedEvent;
import org.apache.ambari.server.events.AlertDefinitionDeleteEvent;
import org.apache.ambari.server.events.AlertDefinitionRegistrationEvent;
import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
+import org.apache.ambari.server.orm.RequiresSession;
import org.apache.ambari.server.orm.entities.AlertDefinitionEntity;
import org.apache.ambari.server.orm.entities.AlertGroupEntity;
import org.apache.ambari.server.state.alert.AlertDefinition;
@@ -105,9 +106,10 @@ public class AlertDefinitionDAO {
* the ID of the definition to retrieve.
* @return the alert definition or {@code null} if none exists.
*/
+ @RequiresSession
public AlertDefinitionEntity findById(long definitionId) {
return entityManagerProvider.get().find(AlertDefinitionEntity.class,
- definitionId);
+ definitionId);
}
/**
@@ -120,6 +122,7 @@ public class AlertDefinitionDAO {
* the name of the definition (not {@code null}).
* @return the alert definition or {@code null} if none exists.
*/
+ @RequiresSession
public AlertDefinitionEntity findByName(long clusterId, String definitionName) {
TypedQuery<AlertDefinitionEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertDefinitionEntity.findByName", AlertDefinitionEntity.class);
@@ -136,6 +139,7 @@ public class AlertDefinitionDAO {
* @return all alert definitions or an empty list if none exist (never
* {@code null}).
*/
+ @RequiresSession
public List<AlertDefinitionEntity> findAll() {
TypedQuery<AlertDefinitionEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertDefinitionEntity.findAll", AlertDefinitionEntity.class);
@@ -149,6 +153,7 @@ public class AlertDefinitionDAO {
* @return all alert definitions or empty list if none exist (never
* {@code null}).
*/
+ @RequiresSession
public List<AlertDefinitionEntity> findAll(long clusterId) {
TypedQuery<AlertDefinitionEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertDefinitionEntity.findAllInCluster", AlertDefinitionEntity.class);
@@ -165,6 +170,7 @@ public class AlertDefinitionDAO {
* the IDs of the definitions to retrieve.
* @return the definition or an empty list (never {@code null}).
*/
+ @RequiresSession
public List<AlertDefinitionEntity> findByIds(List<Long> definitionIds) {
TypedQuery<AlertDefinitionEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertDefinitionEntity.findByIds", AlertDefinitionEntity.class);
@@ -185,6 +191,7 @@ public class AlertDefinitionDAO {
* @return all alert definitions for the service or empty list if none exist
* (never {@code null}).
*/
+ @RequiresSession
public List<AlertDefinitionEntity> findByService(long clusterId,
String serviceName) {
TypedQuery<AlertDefinitionEntity> query = entityManagerProvider.get().createNamedQuery(
@@ -208,6 +215,7 @@ public class AlertDefinitionDAO {
* @return all alert definitions for the services or empty list if none exist
* (never {@code null}).
*/
+ @RequiresSession
public List<AlertDefinitionEntity> findByServiceMaster(long clusterId,
Set<String> services) {
if (null == services || services.size() == 0) {
@@ -238,6 +246,7 @@ public class AlertDefinitionDAO {
* @return all alert definitions that are not bound to a service or an empty
* list (never {@code null}).
*/
+ @RequiresSession
public List<AlertDefinitionEntity> findByServiceComponent(long clusterId,
String serviceName, String componentName) {
if (null == serviceName || null == componentName) {
@@ -264,6 +273,7 @@ public class AlertDefinitionDAO {
* @return all alert definitions that are not bound to a service or an empty
* list (never {@code null}).
*/
+ @RequiresSession
public List<AlertDefinitionEntity> findAgentScoped(long clusterId) {
TypedQuery<AlertDefinitionEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertDefinitionEntity.findByServiceAndComponent",
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDispatchDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDispatchDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDispatchDAO.java
index 85973b1..22fb76f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDispatchDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDispatchDAO.java
@@ -36,6 +36,7 @@ import org.apache.ambari.server.controller.AlertNoticeRequest;
import org.apache.ambari.server.controller.RootServiceResponseFactory.Services;
import org.apache.ambari.server.controller.spi.Predicate;
import org.apache.ambari.server.controller.utilities.PredicateHelper;
+import org.apache.ambari.server.orm.RequiresSession;
import org.apache.ambari.server.orm.entities.AlertDefinitionEntity;
import org.apache.ambari.server.orm.entities.AlertGroupEntity;
import org.apache.ambari.server.orm.entities.AlertNoticeEntity;
@@ -91,6 +92,7 @@ public class AlertDispatchDAO {
* the ID of the group to retrieve.
* @return the group or {@code null} if none exists.
*/
+ @RequiresSession
public AlertGroupEntity findGroupById(long groupId) {
return entityManagerProvider.get().find(AlertGroupEntity.class, groupId);
}
@@ -102,6 +104,7 @@ public class AlertDispatchDAO {
* the IDs of the groups to retrieve.
* @return the groups or an empty list (never {@code null}).
*/
+ @RequiresSession
public List<AlertGroupEntity> findGroupsById(List<Long> groupIds) {
TypedQuery<AlertGroupEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertGroupEntity.findByIds", AlertGroupEntity.class);
@@ -118,6 +121,7 @@ public class AlertDispatchDAO {
* the ID of the target to retrieve.
* @return the target or {@code null} if none exists.
*/
+ @RequiresSession
public AlertTargetEntity findTargetById(long targetId) {
return entityManagerProvider.get().find(AlertTargetEntity.class, targetId);
}
@@ -129,6 +133,7 @@ public class AlertDispatchDAO {
* the IDs of the targets to retrieve.
* @return the targets or an empty list (never {@code null}).
*/
+ @RequiresSession
public List<AlertTargetEntity> findTargetsById(List<Long> targetIds) {
TypedQuery<AlertTargetEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertTargetEntity.findByIds", AlertTargetEntity.class);
@@ -145,6 +150,7 @@ public class AlertDispatchDAO {
* the ID of the notification to retrieve.
* @return the notification or {@code null} if none exists.
*/
+ @RequiresSession
public AlertNoticeEntity findNoticeById(long noticeId) {
return entityManagerProvider.get().find(AlertNoticeEntity.class, noticeId);
}
@@ -156,6 +162,7 @@ public class AlertDispatchDAO {
* the UUID of the notification to retrieve.
* @return the notification or {@code null} if none exists.
*/
+ @RequiresSession
public AlertNoticeEntity findNoticeByUuid(String uuid) {
TypedQuery<AlertNoticeEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertNoticeEntity.findByUuid", AlertNoticeEntity.class);
@@ -172,6 +179,7 @@ public class AlertDispatchDAO {
* @return the notices that are waiting to be dispatched, or an empty list
* (never {@code null}).
*/
+ @RequiresSession
public List<AlertNoticeEntity> findPendingNotices() {
TypedQuery<AlertNoticeEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertNoticeEntity.findByState", AlertNoticeEntity.class);
@@ -188,6 +196,7 @@ public class AlertDispatchDAO {
* the name of the group (not {@code null}).
* @return the alert group or {@code null} if none exists.
*/
+ @RequiresSession
public AlertGroupEntity findGroupByName(String groupName) {
TypedQuery<AlertGroupEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertGroupEntity.findByName", AlertGroupEntity.class);
@@ -207,6 +216,7 @@ public class AlertDispatchDAO {
* the name of the group (not {@code null}).
* @return the alert group or {@code null} if none exists.
*/
+ @RequiresSession
public AlertGroupEntity findGroupByName(long clusterId, String groupName) {
TypedQuery<AlertGroupEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertGroupEntity.findByNameInCluster", AlertGroupEntity.class);
@@ -225,6 +235,7 @@ public class AlertDispatchDAO {
* the name of the target (not {@code null}).
* @return the alert target or {@code null} if none exists.
*/
+ @RequiresSession
public AlertTargetEntity findTargetByName(String targetName) {
TypedQuery<AlertTargetEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertTargetEntity.findByName", AlertTargetEntity.class);
@@ -239,6 +250,7 @@ public class AlertDispatchDAO {
*
* @return all alert groups or empty list if none exist (never {@code null}).
*/
+ @RequiresSession
public List<AlertGroupEntity> findAllGroups() {
TypedQuery<AlertGroupEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertGroupEntity.findAll", AlertGroupEntity.class);
@@ -252,6 +264,7 @@ public class AlertDispatchDAO {
* @return all alert groups in the specified cluster or empty list if none
* exist (never {@code null}).
*/
+ @RequiresSession
public List<AlertGroupEntity> findAllGroups(long clusterId) {
TypedQuery<AlertGroupEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertGroupEntity.findAllInCluster", AlertGroupEntity.class);
@@ -266,6 +279,7 @@ public class AlertDispatchDAO {
*
* @return all alert targets or empty list if none exist (never {@code null}).
*/
+ @RequiresSession
public List<AlertTargetEntity> findAllTargets() {
TypedQuery<AlertTargetEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertTargetEntity.findAll", AlertTargetEntity.class);
@@ -279,6 +293,7 @@ public class AlertDispatchDAO {
* @return all global alert targets or empty list if none exist (never
* {@code null}).
*/
+ @RequiresSession
public List<AlertTargetEntity> findAllGlobalTargets() {
TypedQuery<AlertTargetEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertTargetEntity.findAllGlobal", AlertTargetEntity.class);
@@ -296,6 +311,7 @@ public class AlertDispatchDAO {
* definition and the definition's service default group or empty list
* if none exist (never {@code null}).
*/
+ @RequiresSession
public List<AlertGroupEntity> findGroupsByDefinition(
AlertDefinitionEntity definitionEntity) {
@@ -319,6 +335,7 @@ public class AlertDispatchDAO {
* for an installed service; otherwise {@code null} should not be
* possible.
*/
+ @RequiresSession
public AlertGroupEntity findDefaultServiceGroup(long clusterId,
String serviceName) {
TypedQuery<AlertGroupEntity> query = entityManagerProvider.get().createNamedQuery(
@@ -335,6 +352,7 @@ public class AlertDispatchDAO {
* @return all alert notifications or empty list if none exist (never
* {@code null}).
*/
+ @RequiresSession
public List<AlertNoticeEntity> findAllNotices() {
TypedQuery<AlertNoticeEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertNoticeEntity.findAll", AlertNoticeEntity.class);
@@ -350,6 +368,7 @@ public class AlertDispatchDAO {
* @return all alert notifications or empty list if none exist (never
* {@code null}).
*/
+ @RequiresSession
public List<AlertNoticeEntity> findAllNotices(AlertNoticeRequest request) {
EntityManager entityManager = entityManagerProvider.get();
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java
index 5435982..94a5660 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java
@@ -95,6 +95,7 @@ public class AlertsDAO {
* the ID of the alert to retrieve.
* @return the alert or {@code null} if none exists.
*/
+ @RequiresSession
public AlertHistoryEntity findById(long alertId) {
return entityManagerProvider.get().find(AlertHistoryEntity.class, alertId);
}
@@ -104,6 +105,7 @@ public class AlertsDAO {
*
* @return all alerts or an empty list if none exist (never {@code null}).
*/
+ @RequiresSession
public List<AlertHistoryEntity> findAll() {
TypedQuery<AlertHistoryEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertHistoryEntity.findAll", AlertHistoryEntity.class);
@@ -119,6 +121,7 @@ public class AlertsDAO {
* @return all alerts in the specified cluster or an empty list if none exist
* (never {@code null}).
*/
+ @RequiresSession
public List<AlertHistoryEntity> findAll(long clusterId) {
TypedQuery<AlertHistoryEntity> query = entityManagerProvider.get().createNamedQuery(
"AlertHistoryEntity.findAllInCluster", AlertHistoryEntity.class);
@@ -139,6 +142,7 @@ public class AlertsDAO {
* @return the alerts matching the specified states and cluster, or an empty
* list if none.
*/
+ @RequiresSession
public List<AlertHistoryEntity> findAll(long clusterId,
List<AlertState> alertStates) {
if (null == alertStates || alertStates.size() == 0) {
@@ -172,6 +176,7 @@ public class AlertsDAO {
* start date.
* @return the alerts matching the specified date range.
*/
+ @RequiresSession
public List<AlertHistoryEntity> findAll(long clusterId, Date startDate,
Date endDate) {
if (null == startDate && null == endDate) {
@@ -223,6 +228,7 @@ public class AlertsDAO {
* @param request
* @return
*/
+ @RequiresSession
public List<AlertHistoryEntity> findAll(AlertHistoryRequest request) {
EntityManager entityManager = entityManagerProvider.get();
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/GroupDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/GroupDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/GroupDAO.java
index bd5defb..255c5e6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/GroupDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/GroupDAO.java
@@ -72,6 +72,7 @@ public class GroupDAO {
*
* @return the list of groups matching the query
*/
+ @RequiresSession
public List<GroupEntity> findGroupsByPrincipal(List<PrincipalEntity> principalList) {
if (principalList == null || principalList.isEmpty()) {
return Collections.emptyList();
@@ -88,6 +89,7 @@ public class GroupDAO {
*
* @return the matching gropu entity
*/
+ @RequiresSession
public GroupEntity findGroupByPrincipal(PrincipalEntity principal) {
if (principal == null) {
return null;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/KerberosPrincipalHostDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/KerberosPrincipalHostDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/KerberosPrincipalHostDAO.java
index 64e18bb..26f55a5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/KerberosPrincipalHostDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/KerberosPrincipalHostDAO.java
@@ -219,6 +219,7 @@ public class KerberosPrincipalHostDAO {
*
* @param entities a collection of KerberosPrincipalHostEntity items to remove
*/
+ @Transactional
private void remove(List<KerberosPrincipalHostEntity> entities) {
if (entities != null) {
for (KerberosPrincipalHostEntity entity : entities) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/MemberDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/MemberDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/MemberDAO.java
index e831db2..15b2995 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/MemberDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/MemberDAO.java
@@ -65,6 +65,7 @@ public class MemberDAO {
return daoUtils.selectList(query);
}
+ @RequiresSession
public List<MemberEntity> findAllMembersByUser(UserEntity userEntity) {
TypedQuery<MemberEntity> query = entityManagerProvider.get().createQuery("SELECT m FROM MemberEntity m WHERE m.user = :userEntity", MemberEntity.class);
query.setParameter("userEntity", userEntity);
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PermissionDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PermissionDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PermissionDAO.java
index 939c32b..4108e7e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PermissionDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PermissionDAO.java
@@ -23,6 +23,7 @@ import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
+import org.apache.ambari.server.orm.RequiresSession;
import org.apache.ambari.server.orm.entities.PermissionEntity;
import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
@@ -63,6 +64,7 @@ public class PermissionDAO {
*
* @return a matching permission entity or null
*/
+ @RequiresSession
public PermissionEntity findById(Integer id) {
return entityManagerProvider.get().find(PermissionEntity.class, id);
}
@@ -72,6 +74,7 @@ public class PermissionDAO {
*
* @return all entities or an empty List
*/
+ @RequiresSession
public List<PermissionEntity> findAll() {
TypedQuery<PermissionEntity> query = entityManagerProvider.get().createQuery("SELECT p FROM PermissionEntity p", PermissionEntity.class);
return daoUtils.selectList(query);
@@ -85,6 +88,7 @@ public class PermissionDAO {
*
* @return a matching permission entity or null
*/
+ @RequiresSession
public PermissionEntity findPermissionByNameAndType(String name, ResourceTypeEntity resourceType) {
if (name.equals(PermissionEntity.VIEW_USE_PERMISSION_NAME)) {
// VIEW.USE permission should be available for any type of views
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalDAO.java
index 7ac4f05..3d09227 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalDAO.java
@@ -23,6 +23,7 @@ import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
+import org.apache.ambari.server.orm.RequiresSession;
import org.apache.ambari.server.orm.entities.PrincipalEntity;
import com.google.inject.Inject;
@@ -50,6 +51,7 @@ public class PrincipalDAO {
*
* @return a matching principal type or null
*/
+ @RequiresSession
public PrincipalEntity findById(Long id) {
return entityManagerProvider.get().find(PrincipalEntity.class, id);
}
@@ -59,6 +61,7 @@ public class PrincipalDAO {
*
* @return all principals or an empty List
*/
+ @RequiresSession
public List<PrincipalEntity> findAll() {
TypedQuery<PrincipalEntity> query = entityManagerProvider.get().createQuery("SELECT principal FROM PrincipalEntity principal", PrincipalEntity.class);
return daoUtils.selectList(query);
@@ -70,6 +73,7 @@ public class PrincipalDAO {
* @param id permission id
* @return all principals having specified permission
*/
+ @RequiresSession
public List<PrincipalEntity> findByPermissionId(Integer id) {
TypedQuery<PrincipalEntity> query = entityManagerProvider.get().createNamedQuery("principalByPrivilegeId", PrincipalEntity.class);
query.setParameter("permission_id", id);
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalTypeDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalTypeDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalTypeDAO.java
index 046345a..1e4f3d8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalTypeDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrincipalTypeDAO.java
@@ -23,6 +23,7 @@ import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.persist.Transactional;
+import org.apache.ambari.server.orm.RequiresSession;
import org.apache.ambari.server.orm.entities.PrincipalTypeEntity;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
@@ -53,6 +54,7 @@ public class PrincipalTypeDAO {
*
* @return a matching principal type or null
*/
+ @RequiresSession
public PrincipalTypeEntity findById(Integer id) {
return entityManagerProvider.get().find(PrincipalTypeEntity.class, id);
}
@@ -62,6 +64,7 @@ public class PrincipalTypeDAO {
*
* @return all principal types or an empty List
*/
+ @RequiresSession
public List<PrincipalTypeEntity> findAll() {
TypedQuery<PrincipalTypeEntity> query = entityManagerProvider.get().createQuery("SELECT principalType FROM PrincipalTypeEntity principalType", PrincipalTypeEntity.class);
return daoUtils.selectList(query);
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrivilegeDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrivilegeDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrivilegeDAO.java
index 4fda7bc..772d538 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrivilegeDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/PrivilegeDAO.java
@@ -23,6 +23,7 @@ import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
+import org.apache.ambari.server.orm.RequiresSession;
import org.apache.ambari.server.orm.entities.PermissionEntity;
import org.apache.ambari.server.orm.entities.PrincipalEntity;
import org.apache.ambari.server.orm.entities.PrivilegeEntity;
@@ -54,6 +55,7 @@ public class PrivilegeDAO {
*
* @return a matching privilege or null
*/
+ @RequiresSession
public PrivilegeEntity findById(Integer id) {
return entityManagerProvider.get().find(PrivilegeEntity.class, id);
}
@@ -63,6 +65,7 @@ public class PrivilegeDAO {
*
* @return all privileges or an empty List
*/
+ @RequiresSession
public List<PrivilegeEntity> findAll() {
TypedQuery<PrivilegeEntity> query = entityManagerProvider.get().createQuery("SELECT privilege FROM PrivilegeEntity privilege", PrivilegeEntity.class);
return daoUtils.selectList(query);
@@ -74,6 +77,7 @@ public class PrivilegeDAO {
* @param id ID of the resource
* @return all resource privileges or an empty list
*/
+ @RequiresSession
public List<PrivilegeEntity> findByResourceId(Long id) {
TypedQuery<PrivilegeEntity> query = entityManagerProvider.get().createQuery("SELECT privilege FROM PrivilegeEntity privilege WHERE privilege.resource.id = :resource_id", PrivilegeEntity.class);
query.setParameter("resource_id", id);
@@ -101,6 +105,7 @@ public class PrivilegeDAO {
*
* @return true if the privilege entity already exists
*/
+ @RequiresSession
public boolean exists(PrincipalEntity principalEntity, ResourceEntity resourceEntity, PermissionEntity permissionEntity) {
TypedQuery<PrivilegeEntity> query = entityManagerProvider.get().createQuery(
"SELECT privilege FROM PrivilegeEntity privilege WHERE privilege.principal = :principal AND privilege.resource = :resource AND privilege.permission = :permission", PrivilegeEntity.class);
@@ -120,6 +125,7 @@ public class PrivilegeDAO {
*
* @return the list of privileges matching the query
*/
+ @RequiresSession
public List<PrivilegeEntity> findAllByPrincipal(List<PrincipalEntity> principalList) {
if (principalList == null || principalList.isEmpty()) {
return Collections.emptyList();
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UpgradeDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UpgradeDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UpgradeDAO.java
index a9b913f..e6ba152 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UpgradeDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UpgradeDAO.java
@@ -126,6 +126,7 @@ public class UpgradeDAO {
* @param itemId the item id
* @return the upgrade item entity, or {@code null} if not found
*/
+ @RequiresSession
public UpgradeItemEntity findUpgradeItem(long itemId) {
TypedQuery<UpgradeItemEntity> query = entityManagerProvider.get().createQuery(
"SELECT p FROM UpgradeItemEntity p WHERE p.upgradeItemId = :itemId", UpgradeItemEntity.class);
@@ -141,6 +142,7 @@ public class UpgradeDAO {
* @param stageId the stage id
* @return the upgrade entity, or {@code null} if not found
*/
+ @RequiresSession
public UpgradeItemEntity findUpgradeItemByRequestAndStage(Long requestId, Long stageId) {
TypedQuery<UpgradeItemEntity> query = entityManagerProvider.get().createQuery(
"SELECT p FROM UpgradeItemEntity p WHERE p.stageId = :stageId AND p.upgradeGroupEntity.upgradeEntity.requestId = :requestId",
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UserDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UserDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UserDAO.java
index 2fcb087..12f975e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UserDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UserDAO.java
@@ -95,6 +95,7 @@ public class UserDAO {
*
* @return the matching list of user entities
*/
+ @RequiresSession
public List<UserEntity> findUsersByPrincipal(List<PrincipalEntity> principalList) {
if (principalList == null || principalList.isEmpty()) {
return Collections.emptyList();
@@ -111,6 +112,7 @@ public class UserDAO {
*
* @return the matching user entity
*/
+ @RequiresSession
public UserEntity findUserByPrincipal(PrincipalEntity principal) {
if (principal == null) {
return null;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java
index bbbab63..cdc107c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java
@@ -22,6 +22,7 @@ import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.persist.Transactional;
+import org.apache.ambari.server.orm.RequiresSession;
import org.apache.ambari.server.orm.entities.ViewEntity;
import javax.persistence.EntityManager;
@@ -46,6 +47,7 @@ public class ViewDAO {
*
* @return a matching view or null
*/
+ @RequiresSession
public ViewEntity findByName(String viewName) {
return entityManagerProvider.get().find(ViewEntity.class, viewName);
}
@@ -73,6 +75,7 @@ public class ViewDAO {
*
* @return all views or an empty List
*/
+ @RequiresSession
public List<ViewEntity> findAll() {
TypedQuery<ViewEntity> query = entityManagerProvider.get().
createNamedQuery("allViews", ViewEntity.class);
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewInstanceDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewInstanceDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewInstanceDAO.java
index 91a2e72..6e1d863 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewInstanceDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewInstanceDAO.java
@@ -37,6 +37,7 @@ import com.google.inject.persist.Transactional;
* View Instance Data Access Object.
*/
@Singleton
+@RequiresSession
public class ViewInstanceDAO {
/**
* JPA entity manager
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
index 208218c..e96568f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
@@ -23,6 +23,7 @@ import com.google.inject.Binder;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
+import com.google.inject.persist.UnitOfWork;
import com.google.inject.util.Modules;
import junit.framework.Assert;
import org.apache.ambari.server.AmbariException;
@@ -39,7 +40,10 @@ import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.internal.RequestStageContainer;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
+import org.apache.ambari.server.orm.dao.ClusterVersionDAO;
+import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
import org.apache.ambari.server.orm.entities.LdapSyncSpecEntity;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.security.authorization.Users;
import org.apache.ambari.server.security.ldap.AmbariLdapDataPopulator;
import org.apache.ambari.server.security.ldap.LdapBatchDto;
@@ -1678,15 +1682,20 @@ public class AmbariManagementControllerImplTest {
String JCE_NAME = "jceName";
String OJDBC_JAR_NAME = "OjdbcJarName";
String SERVER_DB_NAME = "ServerDBName";
+ String clusterName = "test_cluster";
ActionManager manager = createNiceMock(ActionManager.class);
StackId stackId = createNiceMock(StackId.class);
Cluster cluster = createNiceMock(Cluster.class);
Injector injector = createNiceMock(Injector.class);
Configuration configuration = createNiceMock(Configuration.class);
+ ClusterVersionDAO clusterVersionDAO = createNiceMock(ClusterVersionDAO.class);
+ ClusterVersionEntity clusterVersionEntity = createNiceMock(ClusterVersionEntity.class);
+ RepositoryVersionEntity repositoryVersionEntity = createNiceMock(RepositoryVersionEntity.class);
expect(cluster.getDesiredStackVersion()).andReturn(stackId);
+ expect(cluster.getClusterName()).andReturn(clusterName);
expect(stackId.getStackName()).andReturn(SOME_STACK_NAME).anyTimes();
expect(stackId.getStackVersion()).andReturn(SOME_STACK_VERSION).anyTimes();
expect(configuration.getMySQLJarName()).andReturn(MYSQL_JAR);
@@ -1695,8 +1704,11 @@ public class AmbariManagementControllerImplTest {
expect(configuration.getJCEName()).andReturn(JCE_NAME);
expect(configuration.getOjdbcJarName()).andReturn(OJDBC_JAR_NAME);
expect(configuration.getServerDBName()).andReturn(SERVER_DB_NAME);
+ expect(clusterVersionDAO.findByClusterAndStateCurrent(eq(clusterName))).andReturn(clusterVersionEntity);
+ expect(clusterVersionEntity.getRepositoryVersion()).andReturn(repositoryVersionEntity);
+ expect(repositoryVersionEntity.getVersion()).andReturn("stub");
- replay(manager, clusters, cluster, injector, stackId, configuration);
+ replay(manager, clusters, cluster, injector, stackId, configuration, clusterVersionDAO, clusterVersionEntity, repositoryVersionEntity);
AmbariManagementControllerImpl ambariManagementControllerImpl =
createMockBuilder(AmbariManagementControllerImpl.class)
@@ -1723,9 +1735,13 @@ public class AmbariManagementControllerImplTest {
f.setAccessible(true);
f.set(helper, configuration);
+ f = helperClass.getDeclaredField("clusterVersionDAO");
+ f.setAccessible(true);
+ f.set(helper, clusterVersionDAO);
+
Map<String, String> defaultHostParams = helper.createDefaultHostParams(cluster);
- assertEquals(defaultHostParams.size(), 10);
+ assertEquals(defaultHostParams.size(), 11);
assertEquals(defaultHostParams.get(DB_DRIVER_FILENAME), MYSQL_JAR);
assertEquals(defaultHostParams.get(STACK_NAME), SOME_STACK_NAME);
assertEquals(defaultHostParams.get(STACK_VERSION), SOME_STACK_VERSION);
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java
index f2417bd..c54aaf3 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java
@@ -39,6 +39,7 @@ import javax.persistence.RollbackException;
import com.google.inject.AbstractModule;
import com.google.inject.Singleton;
import com.google.inject.persist.Transactional;
+import com.google.inject.persist.UnitOfWork;
import com.google.inject.util.Modules;
import org.apache.ambari.server.AmbariException;
@@ -87,6 +88,8 @@ public class HostVersionOutOfSyncListenerTest {
public void setup() throws Exception {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
injector.getInstance(GuiceJpaInitializer.class);
+ //TODO unit tests rely on single session for all operations - probably should be fixed - testOnServiceEvent()
+ injector.getInstance(UnitOfWork.class).begin();
clusters = injector.getInstance(Clusters.class);
metaInfo = injector.getInstance(AmbariMetaInfo.class);
helper = injector.getInstance(OrmTestHelper.class);
@@ -107,6 +110,7 @@ public class HostVersionOutOfSyncListenerTest {
@After
public void teardown() {
+ injector.getInstance(UnitOfWork.class).end();
injector.getInstance(PersistService.class).stop();
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAOTest.java
index acf25d2..5d23a00 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAOTest.java
@@ -29,6 +29,7 @@ import java.util.List;
import java.util.TimeZone;
import java.util.UUID;
+import com.google.inject.persist.UnitOfWork;
import org.apache.ambari.server.controller.RootServiceResponseFactory;
import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
@@ -76,6 +77,8 @@ public class AlertDefinitionDAOTest {
public void setup() throws Exception {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
injector.getInstance(GuiceJpaInitializer.class);
+ //TODO unit tests rely on single session for all operations - probably should be fixed
+ injector.getInstance(UnitOfWork.class).begin();
dispatchDao = injector.getInstance(AlertDispatchDAO.class);
dao = injector.getInstance(AlertDefinitionDAO.class);
@@ -156,6 +159,8 @@ public class AlertDefinitionDAOTest {
@After
public void teardown() {
+ injector.getInstance(UnitOfWork.class).end();
+
injector.getInstance(PersistService.class).stop();
injector = null;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java
index 92866d7..1e30a0e 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertDispatchDAOTest.java
@@ -32,6 +32,7 @@ import java.util.List;
import java.util.Set;
import java.util.UUID;
+import com.google.inject.persist.UnitOfWork;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.controller.AlertNoticeRequest;
import org.apache.ambari.server.controller.internal.AlertNoticeResourceProvider;
@@ -97,6 +98,9 @@ public class AlertDispatchDAOTest {
public void setup() throws Exception {
m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
m_injector.getInstance(GuiceJpaInitializer.class);
+ //TODO unit tests rely on single session for all operations - probably should be fixed
+ m_injector.getInstance(UnitOfWork.class).begin();
+
m_dao = m_injector.getInstance(AlertDispatchDAO.class);
m_alertsDao = m_injector.getInstance(AlertsDAO.class);
m_definitionDao = m_injector.getInstance(AlertDefinitionDAO.class);
@@ -133,6 +137,7 @@ public class AlertDispatchDAOTest {
*/
@After
public void teardown() throws Exception {
+ m_injector.getInstance(UnitOfWork.class).end();
m_injector.getInstance(PersistService.class).stop();
m_injector = null;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertsDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertsDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertsDAOTest.java
index e6a95ae..5d5642e 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertsDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/AlertsDAOTest.java
@@ -32,6 +32,7 @@ import java.util.List;
import java.util.TimeZone;
import java.util.UUID;
+import com.google.inject.persist.UnitOfWork;
import org.apache.ambari.server.controller.AlertCurrentRequest;
import org.apache.ambari.server.controller.AlertHistoryRequest;
import org.apache.ambari.server.controller.internal.AlertHistoryResourceProvider;
@@ -100,6 +101,10 @@ public class AlertsDAOTest {
public void setup() throws Exception {
m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
m_injector.getInstance(GuiceJpaInitializer.class);
+
+ //TODO unit tests rely on single session for all operations - probably should be fixed - setup() method
+ m_injector.getInstance(UnitOfWork.class).begin();
+
m_helper = m_injector.getInstance(OrmTestHelper.class);
m_dao = m_injector.getInstance(AlertsDAO.class);
m_definitionDao = m_injector.getInstance(AlertDefinitionDAO.class);
@@ -194,6 +199,7 @@ public class AlertsDAOTest {
*/
@After
public void teardown() {
+ m_injector.getInstance(UnitOfWork.class).end();
m_injector.getInstance(PersistService.class).stop();
m_injector = null;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/AlertDataManagerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/AlertDataManagerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/AlertDataManagerTest.java
index c289bcc..156e441 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/AlertDataManagerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/AlertDataManagerTest.java
@@ -29,6 +29,7 @@ import java.util.Set;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicReference;
+import com.google.inject.persist.UnitOfWork;
import org.apache.ambari.server.events.AlertEvent;
import org.apache.ambari.server.events.AlertReceivedEvent;
import org.apache.ambari.server.events.AlertStateChangeEvent;
@@ -105,6 +106,9 @@ public class AlertDataManagerTest {
public void setup() throws Exception {
m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
m_injector.getInstance(GuiceJpaInitializer.class);
+ //TODO unit tests rely on single session for all operations - probably should be fixed - testAlertNotices()
+ m_injector.getInstance(UnitOfWork.class).begin();
+
m_helper = m_injector.getInstance(OrmTestHelper.class);
m_dao = m_injector.getInstance(AlertsDAO.class);
m_dispatchDao = m_injector.getInstance(AlertDispatchDAO.class);
@@ -140,6 +144,7 @@ public class AlertDataManagerTest {
@After
public void teardown() {
+ m_injector.getInstance(UnitOfWork.class).end();
m_injector.getInstance(PersistService.class).stop();
m_injector = null;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
index e444828..b3ece82 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
@@ -42,6 +42,7 @@ import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.RollbackException;
+import com.google.inject.persist.UnitOfWork;
import junit.framework.Assert;
import org.apache.ambari.server.AmbariException;
@@ -1432,6 +1433,9 @@ public class ClusterTest {
*/
@Test
public void testTransitionHostVersionAdvanced() throws Exception {
+ //TODO unit tests rely on single session for all operations - probably should be fixed - this test only
+ injector.getInstance(UnitOfWork.class).begin();
+
String clusterName = "c1";
String v1 = "2.2.0-123";
StackId stackId = new StackId("HDP-2.2.0");
@@ -1605,6 +1609,8 @@ public class ClusterTest {
Assert.assertEquals(hve.getState(), RepositoryVersionState.UPGRADED);
}
}
+
+ injector.getInstance(UnitOfWork.class).end();
}
@Test