You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2015/12/07 22:55:47 UTC
ambari git commit: AMBARI-14249. Failing unit tests / Entity removal
using the entity manager instead of named queries. (Laszlo Puskas via swagle)
Repository: ambari
Updated Branches:
refs/heads/trunk 67edc4079 -> f65486346
AMBARI-14249. Failing unit tests / Entity removal using the entity manager instead of named queries. (Laszlo Puskas via swagle)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f6548634
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f6548634
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f6548634
Branch: refs/heads/trunk
Commit: f65486346807c7b5389fb4d6bd97f366f9f5d408
Parents: 67edc40
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Mon Dec 7 13:54:05 2015 -0800
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Mon Dec 7 13:54:05 2015 -0800
----------------------------------------------------------------------
.../ambari/server/orm/dao/AlertDispatchDAO.java | 11 +++++++----
.../org/apache/ambari/server/orm/dao/AlertsDAO.java | 16 +++++++++-------
.../server/orm/entities/AlertHistoryEntity.java | 2 ++
.../server/orm/entities/AlertNoticeEntity.java | 1 +
.../server/orm/dao/AlertDefinitionDAOTest.java | 3 ++-
.../ambari/server/orm/dao/AlertDispatchDAOTest.java | 11 ++++++++++-
.../apache/ambari/server/orm/dao/AlertsDAOTest.java | 12 ++++++++++++
.../ambari/server/orm/dao/RequestDAOTest.java | 3 +++
8 files changed, 46 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/f6548634/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 1f1aa45..d73c70e 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
@@ -684,12 +684,15 @@ public class AlertDispatchDAO {
@Transactional
public void removeNoticeByDefinitionId(long definitionId) {
EntityManager entityManager = entityManagerProvider.get();
- TypedQuery<AlertNoticeEntity> currentQuery = entityManager.createNamedQuery(
- "AlertNoticeEntity.removeByDefinitionId", AlertNoticeEntity.class);
+ TypedQuery<AlertNoticeEntity> currentQuery = entityManager.createNamedQuery(
+ "AlertNoticeEntity.findByDefinitionId", AlertNoticeEntity.class);
currentQuery.setParameter("definitionId", definitionId);
- currentQuery.executeUpdate();
- entityManager.clear();
+
+ for (AlertNoticeEntity alertNoticeEntity : currentQuery.getResultList()) {
+ entityManager.remove(alertNoticeEntity);
+ }
+
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/f6548634/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 145f841..1c7d0c1 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
@@ -736,18 +736,20 @@ public class AlertsDAO {
public void removeByDefinitionId(long definitionId) {
EntityManager entityManager = m_entityManagerProvider.get();
TypedQuery<AlertCurrentEntity> currentQuery = entityManager.createNamedQuery(
- "AlertCurrentEntity.removeByDefinitionId", AlertCurrentEntity.class);
-
+ "AlertCurrentEntity.findByDefinitionId", AlertCurrentEntity.class);
currentQuery.setParameter("definitionId", definitionId);
- currentQuery.executeUpdate();
- TypedQuery<AlertHistoryEntity> historyQuery = entityManager.createNamedQuery(
- "AlertHistoryEntity.removeByDefinitionId", AlertHistoryEntity.class);
+ for (AlertCurrentEntity alertCurrentEntity : currentQuery.getResultList()) {
+ entityManager.remove(alertCurrentEntity);
+ }
+ TypedQuery<AlertHistoryEntity> historyQuery = entityManager.createNamedQuery(
+ "AlertHistoryEntity.findByDefinitionId", AlertHistoryEntity.class);
historyQuery.setParameter("definitionId", definitionId);
- historyQuery.executeUpdate();
- entityManager.clear();
+ for (AlertHistoryEntity alertHistoryEntity : historyQuery.getResultList()) {
+ entityManager.remove(alertHistoryEntity);
+ }
// if caching is enabled, invalidate the cache to force the latest values
// back from the DB
http://git-wip-us.apache.org/repos/asf/ambari/blob/f6548634/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java
index 9091398..6963eeb 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java
@@ -51,6 +51,8 @@ import org.apache.ambari.server.state.AlertState;
@NamedQuery(name = "AlertHistoryEntity.findAllInClusterBetweenDates", query = "SELECT alertHistory FROM AlertHistoryEntity alertHistory WHERE alertHistory.clusterId = :clusterId AND alertHistory.alertTimestamp BETWEEN :startDate AND :endDate"),
@NamedQuery(name = "AlertHistoryEntity.findAllInClusterBeforeDate", query = "SELECT alertHistory FROM AlertHistoryEntity alertHistory WHERE alertHistory.clusterId = :clusterId AND alertHistory.alertTimestamp <= :beforeDate"),
@NamedQuery(name = "AlertHistoryEntity.findAllInClusterAfterDate", query = "SELECT alertHistory FROM AlertHistoryEntity alertHistory WHERE alertHistory.clusterId = :clusterId AND alertHistory.alertTimestamp >= :afterDate"),
+ @NamedQuery(name = "AlertHistoryEntity.findByDefinitionId", query = "SELECT alertHistory FROM AlertHistoryEntity " +
+ "alertHistory WHERE alertHistory.alertDefinition.definitionId = :definitionId"),
@NamedQuery(name = "AlertHistoryEntity.removeByDefinitionId", query = "DELETE FROM AlertHistoryEntity alertHistory WHERE alertHistory.alertDefinition.definitionId = :definitionId") })
public class AlertHistoryEntity {
http://git-wip-us.apache.org/repos/asf/ambari/blob/f6548634/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java
index c2f61b3..777321e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertNoticeEntity.java
@@ -49,6 +49,7 @@ import org.apache.ambari.server.state.NotificationState;
@NamedQuery(name = "AlertNoticeEntity.findAll", query = "SELECT notice FROM AlertNoticeEntity notice"),
@NamedQuery(name = "AlertNoticeEntity.findByState", query = "SELECT notice FROM AlertNoticeEntity notice WHERE notice.notifyState = :notifyState"),
@NamedQuery(name = "AlertNoticeEntity.findByUuid", query = "SELECT notice FROM AlertNoticeEntity notice WHERE notice.uuid = :uuid"),
+ @NamedQuery(name = "AlertNoticeEntity.findByDefinitionId", query = "SELECT notice FROM AlertNoticeEntity notice WHERE notice.alertHistory.alertDefinition.definitionId = :definitionId"),
@NamedQuery(name = "AlertNoticeEntity.removeByDefinitionId", query = "DELETE FROM AlertNoticeEntity notice WHERE notice.alertHistory.alertDefinition.definitionId = :definitionId") })
public class AlertNoticeEntity {
http://git-wip-us.apache.org/repos/asf/ambari/blob/f6548634/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 d0ad386..c7f1de9 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
@@ -381,7 +381,8 @@ public class AlertDefinitionDAOTest {
ClusterDAO clusterDAO = injector.getInstance(ClusterDAO.class);
ClusterEntity clusterEntity = clusterDAO.findById(clusterId);
clusterDAO.refresh(clusterEntity);
-
+ injector.getInstance(UnitOfWork.class).end();
+ injector.getInstance(UnitOfWork.class).begin();
Clusters clusters = injector.getInstance(Clusters.class);
Cluster cluster = clusters.getClusterById(clusterId);
cluster.delete();
http://git-wip-us.apache.org/repos/asf/ambari/blob/f6548634/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 9b269b4..f6b30ed 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
@@ -513,6 +513,8 @@ public class AlertDispatchDAOTest {
target = m_dao.findTargetById(target.getTargetId());
assertNull(target);
+ m_dao.refresh(group);
+
group = m_dao.findGroupById(group.getGroupId());
assertNotNull(group);
@@ -663,7 +665,9 @@ public class AlertDispatchDAOTest {
public void testAlertNoticePredicate() throws Exception {
Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
m_componentFactory, m_schFactory, HOSTNAME);
-
+ // end the UnitOfWork to clean the cache
+ m_injector.getInstance(UnitOfWork.class).end();
+ m_injector.getInstance(UnitOfWork.class).begin();
m_alertHelper.populateData(cluster);
Predicate clusterPredicate = null;
@@ -742,6 +746,9 @@ public class AlertDispatchDAOTest {
Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
m_componentFactory, m_schFactory, HOSTNAME);
+ m_injector.getInstance(UnitOfWork.class).end();
+ m_injector.getInstance(UnitOfWork.class).begin();
+
m_alertHelper.populateData(cluster);
AlertNoticeRequest request = new AlertNoticeRequest();
@@ -782,6 +789,8 @@ public class AlertDispatchDAOTest {
public void testAlertNoticeSorting() throws Exception {
Cluster cluster = m_helper.buildNewCluster(m_clusters, m_serviceFactory,
m_componentFactory, m_schFactory, HOSTNAME);
+ m_injector.getInstance(UnitOfWork.class).end();
+ m_injector.getInstance(UnitOfWork.class).begin();
m_alertHelper.populateData(cluster);
http://git-wip-us.apache.org/repos/asf/ambari/blob/f6548634/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 0bbe998..b224203 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
@@ -1175,6 +1175,10 @@ public class AlertsDAOTest {
public void testAlertHistoryPredicate() throws Exception {
m_helper.installHdfsService(m_cluster, m_serviceFactory,
m_componentFactory, m_schFactory, HOSTNAME);
+
+ m_injector.getInstance(UnitOfWork.class).end();
+ m_injector.getInstance(UnitOfWork.class).begin();
+
m_alertHelper.populateData(m_cluster);
Predicate clusterPredicate = null;
@@ -1268,6 +1272,10 @@ public class AlertsDAOTest {
public void testAlertHistoryPagination() throws Exception {
m_helper.installHdfsService(m_cluster, m_serviceFactory,
m_componentFactory, m_schFactory, HOSTNAME);
+
+ m_injector.getInstance(UnitOfWork.class).end();
+ m_injector.getInstance(UnitOfWork.class).begin();
+
m_alertHelper.populateData(m_cluster);
AlertHistoryRequest request = new AlertHistoryRequest();
@@ -1308,6 +1316,10 @@ public class AlertsDAOTest {
public void testAlertHistorySorting() throws Exception {
m_helper.installHdfsService(m_cluster, m_serviceFactory,
m_componentFactory, m_schFactory, HOSTNAME);
+
+ m_injector.getInstance(UnitOfWork.class).end();
+ m_injector.getInstance(UnitOfWork.class).begin();
+
m_alertHelper.populateData(m_cluster);
List<SortRequestProperty> sortProperties = new ArrayList<SortRequestProperty>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/f6548634/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java
index 384ef31..0f23218 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java
@@ -49,6 +49,7 @@ import org.junit.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.persist.PersistService;
+import com.google.inject.persist.UnitOfWork;
/**
* RequestDAO unit tests
@@ -72,11 +73,13 @@ public class RequestDAOTest {
hostRoleCommandDAO = injector.getInstance(HostRoleCommandDAO.class);
hostDAO = injector.getInstance(HostDAO.class);
requestDAO = injector.getInstance(RequestDAO.class);
+ injector.getInstance(UnitOfWork.class).begin();
}
@After
public void teardown() throws AmbariException {
+ injector.getInstance(UnitOfWork.class).end();
injector.getInstance(PersistService.class).stop();
}