SLING-5264 follow-up : adding more logging to analyzeVotings/promote and AbstractDiscoveryServiceTest to track down still existing issue

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1712764 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java b/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java
index 68f285f..6f91257 100644
--- a/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java
+++ b/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java
@@ -241,7 +241,15 @@
             if (winningVote.isInitiatedBy(slingId)) {
                 logger.info("analyzeVotings: my voting was winning. I'll mark it as established then! "
 	                        + winningVote);
-                promote(resourceResolver, winningVote.getResource());
+                try{
+                    promote(resourceResolver, winningVote.getResource());
+                } catch (RuntimeException re) {
+                    logger.error("analyzeVotings: RuntimeException during promotion: "+re, re);
+                    throw re;
+                } catch (Error er) {
+                    logger.error("analyzeVotings: Error during promotion: "+er, er);
+                    throw er;
+                }
                 // SLING-3406: committing resourceResolver/session here, while we're in the synchronized
                 resourceResolver.commit();
                 
@@ -439,8 +447,10 @@
                 .getChildren().iterator();
         String leaderElectionId = null;
         String leaderid = null;
+        int membersCount = 0;
         while (it2.hasNext()) {
             Resource aMember = it2.next();
+            membersCount++;
             String leid = aMember.adaptTo(ValueMap.class).get(
                     "leaderElectionId", String.class);
             if (leaderElectionId == null
@@ -462,8 +472,8 @@
         // 3b: move the result under /established
         final String newEstablishedViewPath = establishedViewsResource.getPath()
                 + "/" + winningVoteResource.getName();
-        logger.info("promote: promote to new established node "
-	                + newEstablishedViewPath);
+        logger.info("promote: promoting to new established node (#members: " + membersCount + ", path: "
+                + newEstablishedViewPath + ")");
         ResourceHelper.moveResource(winningVoteResource, newEstablishedViewPath);
 
         // step 4: delete all ongoing votings...
@@ -473,6 +483,7 @@
             Iterator<Resource> it4 = ongoingVotingsChildren.iterator();
             while (it4.hasNext()) {
                 Resource anOngoingVoting = it4.next();
+                logger.info("promote: deleting ongoing voting: "+anOngoingVoting.getName());
                 resourceResolver.delete(anOngoingVoting);
             }
         }
@@ -502,6 +513,8 @@
 
         logger.debug("promote: done with promotiong. saving.");
         resourceResolver.commit();
+        logger.info("promote: promotion done (#members: " + membersCount + ", path: "
+                + newEstablishedViewPath + ")");
     }
 
     public void setLeaderElectionId(String leaderElectionId) {