Sahina Bose has posted comments on this change.
Change subject: engine:Sync gluster hooks
......................................................................
Patch Set 2: (7 inline comments)
Patchset to follow
....................................................
File
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterHookManager.java
Line 35:
Line 36: @OnTimerMethodAnnotation("refreshHooks")
Line 37: public void refreshHooks() {
Line 38: log.debug("Refreshing hooks list");
Line 39: List<VDSGroup> clusters = getClusterDao().getAll();
Yes, good point - will add compat check for glusterHookFeature and supports
gluster check
Line 40:
Line 41: for (VDSGroup cluster : clusters) {
Line 42: List<VDS> upServers =
getClusterUtils().getAllUpServers(cluster.getId());
Line 43:
Line 72: Map<HookKey, GlusterHookEntity> hooksWithConflictChanges = new
HashMap<HookKey,GlusterHookEntity>();
Line 73:
Line 74: for (Pair<VDS, VDSReturnValue> pairResult : pairResults) {
Line 75: VDS server = pairResult.getFirst();
Line 76: List<GlusterHookEntity> returnedHooks =
(List<GlusterHookEntity>) pairResult.getSecond().getReturnValue();
Right, will add a getSucceeded check
Line 77:
Line 78: for (GlusterHookEntity retHook: returnedHooks) {
Line 79: HookKey key=
HookKey.valueOf(retHook.getGlusterCommand(),retHook.getStage(),retHook.getName());
Line 80: GlusterHookEntity existingHook =
existingHookMap.get(key);
Line 78: for (GlusterHookEntity retHook: returnedHooks) {
Line 79: HookKey key=
HookKey.valueOf(retHook.getGlusterCommand(),retHook.getStage(),retHook.getName());
Line 80: GlusterHookEntity existingHook =
existingHookMap.get(key);
Line 81:
Line 82: addToReturnedHookKeyList(returnedHookKeyList, retHook);
Done
Line 83:
Line 84: if (existingHook != null) {
Line 85: GlusterServerHook serverHook =
getServerHookForServer(existingHook, server);
Line 86: // if gsh null, insert serverhook
Line 82: addToReturnedHookKeyList(returnedHookKeyList, retHook);
Line 83:
Line 84: if (existingHook != null) {
Line 85: GlusterServerHook serverHook =
getServerHookForServer(existingHook, server);
Line 86: // if gsh null, insert serverhook
refactoring name did not change comment :)
Line 87: if (serverHook == null) {
Line 88: log.infoFormat("Adding new server hook {0} in
server {1} ", key,server);
Line 89:
newServerHooks.add(buildServerHook(server.getId(), existingHook.getId(),
retHook));
Line 90: } else {
Line 98: }
Line 99:
Line 100: }
Line 101: Integer oldConflictValue =
existingHook.getConflictStatus();
Line 102: existingHook = setConflict(existingHook, retHook);
All conflicts are ORed. so the resultant hook entity conflict value, will be
superset of conflicts
Line 103: if
(!oldConflictValue.equals(existingHook.getConflictStatus())) {
Line 104: log.debugFormat("Conflict change detected for
hook {0} in server {1} ", key,server);
Line 105: if
(hooksWithConflictChanges.containsKey(key)) {
Line 106:
existingHook.setConflictStatus(existingHook.getConflictStatus() |
hooksWithConflictChanges.get(key).getConflictStatus());
Line 105: if
(hooksWithConflictChanges.containsKey(key)) {
Line 106:
existingHook.setConflictStatus(existingHook.getConflictStatus() |
hooksWithConflictChanges.get(key).getConflictStatus());
Line 107: }
Line 108: hooksWithConflictChanges.put(key,
existingHook);
Line 109: }
I would prefer to leave it as it is. The admin can intervene and check what
needs to be done in these cases
Line 110: } else {
Line 111: log.infoFormat("Adding new hook {0} in server {1}
", key,server);
Line 112: existingHook = newHookMap.get(key);
Line 113: if (existingHook == null) {
Line 116: }
Line 117: GlusterServerHook gsh =
buildServerHook(server.getId(), existingHook.getId(), retHook);
Line 118: existingHook.getServerHooks().add(gsh);
Line 119: existingHook = setConflict(existingHook, retHook);
Line 120: newHookMap.put(key, existingHook);
the newhook map gets updated from each server's return value..so needs to be
here, I think
Line 121: }
Line 122: }
Line 123: }
Line 124:
--
To view, visit http://gerrit.ovirt.org/13943
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I2766edd4e810677a200cf5c45d334cabef5f2924
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Sahina Bose <[email protected]>
Gerrit-Reviewer: Kanagaraj M <[email protected]>
Gerrit-Reviewer: Sahina Bose <[email protected]>
Gerrit-Reviewer: Shireesh Anjal <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches