Sahina Bose has uploaded a new change for review. Change subject: dal: Get geo-rep session with slave host and volume ......................................................................
dal: Get geo-rep session with slave host and volume Added a query to get a geo-rep session given a slave host and volume name Change-Id: I1776500724a56acee9798066241e8b2c88b16836 Bug-Url: https://bugzilla.redhat.com/1125845 Signed-off-by: Sahina Bose <[email protected]> --- M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java M packaging/dbscripts/gluster_georep_sp.sql A packaging/dbscripts/upgrade/03_05_1350_add_idx_gluster_georep_slavehostname.sql 5 files changed, 35 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/39676/1 diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java index 7050b7c..b4058da 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java @@ -30,6 +30,8 @@ public GlusterGeoRepSession getGeoRepSession(String sessionKey); + public GlusterGeoRepSession getGeoRepSession(Guid masterVolumeId, String slaveHost, String slaveVolumeName); + public List<GlusterGeoRepSession> getGeoRepSessions(Guid masterVolumeId); public List<GlusterGeoRepSession> getGeoRepSessionsInCluster(Guid clusterId); diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java index c8879b9..f20120d 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java @@ -118,6 +118,14 @@ } @Override + public GlusterGeoRepSession getGeoRepSession(Guid masterVolumeId, String slaveHost, String slaveVolumeName) { + return getCallsHandler().executeRead("GetGlusterGeoRepSessionBySlaveHostAndVolume", georepSessionRowMapper, + getCustomMapSqlParameterSource().addValue("master_volume_id", masterVolumeId) + .addValue("slave_host_name", slaveHost) + .addValue("slave_volume_name", slaveVolumeName)); + } + + @Override public List<GlusterGeoRepSession> getGeoRepSessions(Guid masterVolumeId) { return getCallsHandler().executeReadList("GetGlusterGeoRepSessionsByVolumeId", georepSessionRowMapper, getCustomMapSqlParameterSource().addValue("master_volume_id", masterVolumeId)); diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java index dc85f3b..71b9995 100644 --- a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java @@ -149,4 +149,13 @@ assertNotNull(sessions); assertEquals(FixturesTool.GLUSTER_GEOREP_SESSION_ID, sessions.get(0).getId()); } + + @Test + public void testGetBySlaveHostAndVolume() { + GlusterGeoRepSession session = dao.getGeoRepSession(FixturesTool.GLUSTER_VOLUME_UUID1, + "192.168.122.17", "slave-replica"); + assertNotNull(session); + assertEquals(FixturesTool.GLUSTER_GEOREP_SESSION_ID, session.getId()); + } + } diff --git a/packaging/dbscripts/gluster_georep_sp.sql b/packaging/dbscripts/gluster_georep_sp.sql index f636058..59b9568 100644 --- a/packaging/dbscripts/gluster_georep_sp.sql +++ b/packaging/dbscripts/gluster_georep_sp.sql @@ -145,6 +145,20 @@ END; $procedure$ LANGUAGE plpgsql; +Create or replace FUNCTION GetGlusterGeoRepSessionBySlaveHostAndVolume(v_master_volume_id UUID, + v_slave_host_name VARCHAR(150), + v_slave_volume_name VARCHAR(150)) +RETURNS SETOF gluster_georep_sessions_view STABLE +AS $procedure$ +BEGIN + RETURN QUERY SELECT * + FROM gluster_georep_sessions_view + WHERE master_volume_id = v_master_volume_id + AND slave_host_name = v_slave_host_name + AND slave_volume_name = v_slave_volume_name; +END; $procedure$ +LANGUAGE plpgsql; + Create or replace FUNCTION UpdateGlusterGeoRepSessionStatus(v_session_id UUID, v_status VARCHAR(50)) RETURNS VOID diff --git a/packaging/dbscripts/upgrade/03_05_1350_add_idx_gluster_georep_slavehostname.sql b/packaging/dbscripts/upgrade/03_05_1350_add_idx_gluster_georep_slavehostname.sql new file mode 100644 index 0000000..03e6ed4 --- /dev/null +++ b/packaging/dbscripts/upgrade/03_05_1350_add_idx_gluster_georep_slavehostname.sql @@ -0,0 +1,2 @@ +DROP INDEX if exists IDX_georep_slave_host_name; +CREATE INDEX IDX_georep_slave_host_name ON gluster_georep_session(slave_host_name); -- To view, visit https://gerrit.ovirt.org/39676 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1776500724a56acee9798066241e8b2c88b16836 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5-gluster Gerrit-Owner: Sahina Bose <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
