You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2013/05/15 14:20:02 UTC
svn commit: r1482785 - in
/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs:
JobManagerImpl.java MaintenanceTask.java TopologyCapabilities.java
Author: cziegeler
Date: Wed May 15 12:20:02 2013
New Revision: 1482785
URL: http://svn.apache.org/r1482785
Log:
SLING-2867 Improve implementation : Use improved change detection for earlier detection of cluster changes
Modified:
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/MaintenanceTask.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/TopologyCapabilities.java
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java?rev=1482785&r1=1482784&r2=1482785&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java Wed May 15 12:20:02 2013
@@ -529,7 +529,7 @@ public class JobManagerImpl
return job;
}
- private long stopProcessing() {
+ private void stopProcessing() {
this.backgroundLoader.stop();
// let's rename/close all queues and clear them
@@ -542,18 +542,15 @@ public class JobManagerImpl
}
// deactivate old capabilities - this stops all background processes
- long changeCount = 0;
if ( this.topologyCapabilities != null ) {
- changeCount = this.topologyCapabilities.getChangeCount() + 1;
this.topologyCapabilities.deactivate();
}
this.topologyCapabilities = null;
- return changeCount;
}
- private void startProcessing(final long changeCount, final TopologyView view) {
+ private void startProcessing(final TopologyView view) {
// create new capabilities and update view
- this.topologyCapabilities = new TopologyCapabilities(view, this.configuration.disableDistribution(), changeCount);
+ this.topologyCapabilities = new TopologyCapabilities(view, this.configuration.disableDistribution());
this.backgroundLoader.start();
}
@@ -581,10 +578,9 @@ public class JobManagerImpl
|| event.getType() == Type.TOPOLOGY_CHANGED
|| event.getType() == Type.PROPERTIES_CHANGED ) {
- // change count for new capabilities
- final long changeCount = this.stopProcessing();
+ this.stopProcessing();
- this.startProcessing(changeCount, event.getNewView());
+ this.startProcessing(event.getNewView());
}
}
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/MaintenanceTask.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/MaintenanceTask.java?rev=1482785&r1=1482784&r2=1482785&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/MaintenanceTask.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/MaintenanceTask.java Wed May 15 12:20:02 2013
@@ -279,7 +279,7 @@ public class MaintenanceTask {
private boolean topologyHasChanged(final TopologyCapabilities topologyCapabilities) {
boolean topologyChanged = false;
if ( topologyCapabilities != null ) {
- if ( this.topologyChangeCount < topologyCapabilities.getChangeCount() ) {
+ if ( this.topologyChangeCount != topologyCapabilities.getChangeCount() ) {
this.topologyChangeCount = topologyCapabilities.getChangeCount();
topologyChanged = true;
}
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/TopologyCapabilities.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/TopologyCapabilities.java?rev=1482785&r1=1482784&r2=1482785&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/TopologyCapabilities.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/TopologyCapabilities.java Wed May 15 12:20:02 2013
@@ -60,7 +60,7 @@ public class TopologyCapabilities {
private volatile boolean active = true;
/** Change count. */
- private final long changeCount;
+ private final long changeCount = System.currentTimeMillis();
/** All instances. */
private final Map<String, String> allInstances;
@@ -118,10 +118,9 @@ public class TopologyCapabilities {
return allInstances;
}
- public TopologyCapabilities(final TopologyView view, final boolean disableDistribution, final long changeCount) {
+ public TopologyCapabilities(final TopologyView view, final boolean disableDistribution) {
this.disableDistribution = disableDistribution;
this.instanceComparator = new InstanceDescriptionComparator(view.getLocalInstance().getClusterView().getId());
- this.changeCount = changeCount;
this.isLeader = view.getLocalInstance().isLeader();
this.allInstances = getAllInstancesMap(view);
final Map<String, List<InstanceDescription>> newCaps = new HashMap<String, List<InstanceDescription>>();