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/10/26 15:51:10 UTC
svn commit: r1710610 -
/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingView.java
Author: stefanegli
Date: Mon Oct 26 14:51:09 2015
New Revision: 1710610
URL: http://svn.apache.org/viewvc?rev=1710610&view=rev
Log:
SLING-4617 : in case of a local heartbeat timing out before even having a chance to be included in the view that the local instance generates - that vote is now not created an instead a warning is issued
Modified:
sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingView.java
Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingView.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingView.java?rev=1710610&r1=1710609&r2=1710610&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingView.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingView.java Mon Oct 26 14:51:09 2015
@@ -64,6 +64,14 @@ public class VotingView extends View {
public static VotingView newVoting(final ResourceResolver resourceResolver,
final Config config,
final String newViewId, String initiatorId, final Set<String> liveInstances) throws PersistenceException {
+ if (!liveInstances.contains(initiatorId)) {
+ // SLING-4617 : a voting, on a single instance, was created without the local instance
+ // this should in no case happen - the local instance should always be part of the live
+ // instances. if that's not the case, then something's fishy and we should not create
+ // the new voting - and instead rely on a retry later.
+ logger.warn("newVoting: liveInstances does not include initiatorId (local instance) - not creating new, invalid, voting");
+ return null;
+ }
final Resource votingResource = ResourceHelper.getOrCreateResource(
resourceResolver, config.getOngoingVotingsPath() + "/"
+ newViewId);