Sahina Bose has uploaded a new change for review. Change subject: engine: Corrected geo-replication status sync ......................................................................
engine: Corrected geo-replication status sync Corrected issues while syncing geo-replication session w.r.t saving slave uuids and retrieving status Change-Id: If30bda56f117fedf3d42b51971201e4557f1c2cf Bug-Url: https://bugzilla.redhat.com/1195699 Signed-off-by: Sahina Bose <sab...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterGeoRepSyncJob.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java 3 files changed, 15 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/75/39675/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterGeoRepSyncJob.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterGeoRepSyncJob.java index 08e7278..7210b18 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterGeoRepSyncJob.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterGeoRepSyncJob.java @@ -177,8 +177,14 @@ getGeoRepDao().save(session); logGeoRepMessage(AuditLogType.GLUSTER_GEOREP_SESSION_DETECTED_FROM_CLI, cluster.getId(), session); } else { - if (sessionInDb.getSlaveNodeUuid() == null && sessionInDb.getSlaveVolumeId() == null - && session.getSlaveNodeUuid() == null && session.getSlaveVolumeId() == null) { + // if retrieved session does not have the slave uuid's set + if (session.getSlaveNodeUuid() == null && session.getSlaveVolumeId() == null) { + // set it from the one in db + session.setSlaveNodeUuid(sessionInDb.getSlaveNodeUuid()); + session.setSlaveVolumeId(sessionInDb.getSlaveVolumeId()); + } + // if even the updated session has no slave ids, try setting it by querying db + if (session.getSlaveNodeUuid() == null && session.getSlaveVolumeId() == null) { updateSlaveNodeAndVolumeId(session); } session.setId(sessionInDb.getId()); 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 76a9584..c8879b9 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 @@ -46,7 +46,7 @@ entity.setSlaveNodeUuid(getGuid(rs, "slave_host_uuid")); entity.setSlaveVolumeId(getGuid(rs, "slave_volume_id")); entity.setSlaveVolumeName(rs.getString("slave_volume_name")); - entity.setStatus(GeoRepSessionStatus.from(rs.getString("status"))); + entity.setStatus(GeoRepSessionStatus.valueOf(rs.getString("status"))); return entity; } } @@ -268,6 +268,7 @@ }; } + @Override public List<GlusterGeoRepSession> getAllSessions() { return getCallsHandler().executeReadList("GetAllGlusterGeoRepSessions", georepSessionRowMapper, getCustomMapSqlParameterSource()); } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java index 1373807..2402440 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java @@ -1543,7 +1543,7 @@ @Override public GlusterVolumeGeoRepStatusForXmlRpc glusterVolumeGeoRepSessionList(String volumeName) { JsonRpcRequest request = new RequestBuilder("GlusterVolume.geoRepSessionList") - .withParameter("volName", volumeName) + .withParameter("volumeName", volumeName) .build(); Map<String, Object> response = new FutureMap(this.client, request).withIgnoreResponseKey(); return new GlusterVolumeGeoRepStatusForXmlRpc(response); @@ -1554,9 +1554,9 @@ String slaveHost, String slaveVolumeName) { JsonRpcRequest request = - new RequestBuilder("GlusterVolume.geoRepSessionList").withParameter("volName", volumeName) + new RequestBuilder("GlusterVolume.geoRepSessionList").withParameter("volumeName", volumeName) .withParameter("remoteHost", slaveHost) - .withParameter("remoteVolName", slaveVolumeName).build(); + .withParameter("remoteVolumeName", slaveVolumeName).build(); Map<String, Object> response = new FutureMap(this.client, request).withIgnoreResponseKey(); return new GlusterVolumeGeoRepStatusForXmlRpc(response); } @@ -1566,9 +1566,9 @@ String slaveHost, String slaveVolumeName) { JsonRpcRequest request = - new RequestBuilder("GlusterVolume.geoRepSessionStatus").withParameter("volName", volumeName) + new RequestBuilder("GlusterVolume.geoRepSessionStatus").withParameter("volumeName", volumeName) .withParameter("remoteHost", slaveHost) - .withParameter("remoteVolName", slaveVolumeName).build(); + .withParameter("remoteVolumeName", slaveVolumeName).build(); Map<String, Object> response = new FutureMap(this.client, request).withIgnoreResponseKey(); return new GlusterVolumeGeoRepStatusDetailForXmlRpc(response); } -- To view, visit https://gerrit.ovirt.org/39675 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If30bda56f117fedf3d42b51971201e4557f1c2cf Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5-gluster Gerrit-Owner: Sahina Bose <sab...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches