You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2015/11/04 18:51:06 UTC
svn commit: r1712599 -
/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java
Author: stefanegli
Date: Wed Nov 4 17:51:06 2015
New Revision: 1712599
URL: http://svn.apache.org/viewvc?rev=1712599&view=rev
Log:
SLING-5244 : added a retry-loop upon getting a test-related exception
Modified:
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java
Modified: sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java?rev=1712599&r1=1712598&r2=1712599&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandlerTest.java Wed Nov 4 17:51:06 2015
@@ -291,17 +291,40 @@ public class VotingHandlerTest {
boolean released = false;
try{
logger.info("asyncVote["+debugInfo+"] logging in...");
- ResourceResolver rr = factory.getAdministrativeResourceResolver(null);
- logger.info("asyncVote["+debugInfo+"] marking ready...");
- ready.release();
- logger.info("asyncVote["+debugInfo+"] waiting for go...");
- go.acquire();
- logger.info("asyncVote["+debugInfo+"] analyzeVotings...");
- Map<VotingView, VotingDetail> result = votingHandler.analyzeVotings(rr);
+ Map<VotingView, VotingDetail> result = null;
+ ResourceResolver rr = null;
+ int retries = 0;
+ while(true) {
+ try{
+ rr = factory.getAdministrativeResourceResolver(null);
+ if (retries == 0) {
+ logger.info("asyncVote["+debugInfo+"] marking ready...");
+ ready.release();
+ logger.info("asyncVote["+debugInfo+"] waiting for go...");
+ go.acquire();
+ } else {
+ logger.info("asyncVote["+debugInfo+"] not doing ready/go on retry.");
+ }
+ logger.info("asyncVote["+debugInfo+"] analyzeVotings...");
+ result = votingHandler.analyzeVotings(rr);
+ break;
+ } catch(Exception e) {
+ logger.warn("asyncVote["+debugInfo+"] Exception: "+e, e);
+ if (retries++<5) {
+ Thread.sleep(500);
+ logger.info("asyncVote["+debugInfo+"] retrying after Exception...");
+ continue;
+ }
+ throw e;
+ } finally {
+ if (rr != null) {
+ rr.close();
+ }
+ }
+ }
logger.info("asyncVote["+debugInfo+"] done, asserting results...");
assertNotNull(result);
votingDetails.addAll(result.values());
- rr.close();
logger.info("asyncVote["+debugInfo+"] marking done.");
done.release();
released = true;