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/04/26 18:16:29 UTC

svn commit: r1476276 - in /sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event: impl/jobs/config/ impl/jobs/queues/ jobs/

Author: cziegeler
Date: Fri Apr 26 16:16:29 2013
New Revision: 1476276

URL: http://svn.apache.org/r1476276
Log:
SLING-2829 : Remove dangerous wait for async configuration option again - it's not needed

Modified:
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/ConfigurationConstants.java
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/InternalQueueConfiguration.java
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/QueueConfiguration.java

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/ConfigurationConstants.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/ConfigurationConstants.java?rev=1476276&r1=1476275&r2=1476276&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/ConfigurationConstants.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/ConfigurationConstants.java Fri Apr 26 16:16:29 2013
@@ -38,5 +38,4 @@ public abstract class ConfigurationConst
     public static final String PROP_RETRIES = "queue.retries";
     public static final String PROP_RETRY_DELAY = "queue.retrydelay";
     public static final String PROP_PRIORITY = "queue.priority";
-    public static final String PROP_WAIT_FOR_ASYNC = "queue.waitforasync";
 }

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/InternalQueueConfiguration.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/InternalQueueConfiguration.java?rev=1476276&r1=1476275&r2=1476276&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/InternalQueueConfiguration.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/InternalQueueConfiguration.java Fri Apr 26 16:16:29 2013
@@ -63,8 +63,7 @@ import org.osgi.framework.Constants;
                      @PropertyOption(name="MIN",value="Min"),
                      @PropertyOption(name="MAX",value="Max")}),
     @Property(name=Constants.SERVICE_RANKING, intValue=0, propertyPrivate=false,
-              label="%queue.ranking.name", description="%queue.ranking.description"),
-    @Property(name=ConfigurationConstants.PROP_WAIT_FOR_ASYNC, boolValue=true)
+              label="%queue.ranking.name", description="%queue.ranking.description")
 })
 public class InternalQueueConfiguration
     implements QueueConfiguration, Comparable<InternalQueueConfiguration> {
@@ -99,9 +98,6 @@ public class InternalQueueConfiguration
     /** Valid flag. */
     private boolean valid = false;
 
-    /** Wait for async flag. */
-    private boolean waitForAsync = true;
-
     private String pid;
 
     /**
@@ -137,7 +133,6 @@ public class InternalQueueConfiguration
             this.topics = topicsParam;
         }
         this.serviceRanking = PropertiesUtil.toInteger(params.get(Constants.SERVICE_RANKING), 0);
-        this.waitForAsync = PropertiesUtil.toBoolean(params.get(ConfigurationConstants.PROP_WAIT_FOR_ASYNC), true);
         this.pid = (String)params.get(Constants.SERVICE_PID);
         this.valid = this.checkIsValid();
     }
@@ -274,14 +269,6 @@ public class InternalQueueConfiguration
         return null;
     }
 
-    /**
-     * @see org.apache.sling.event.jobs.QueueConfiguration#waitForAsyncJobConsumers()
-     */
-    @Override
-    public boolean waitForAsyncJobConsumers() {
-        return this.waitForAsync;
-    }
-
     @Override
     public String toString() {
         return "Queue-Configuration(" + this.hashCode() + ") : {" +

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java?rev=1476276&r1=1476275&r2=1476276&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java Fri Apr 26 16:16:29 2013
@@ -363,7 +363,7 @@ public abstract class AbstractJobQueue
             finishSuccessful = info.reschedule();
         }
 
-        if ( !isAsync || this.configuration.waitForAsyncJobConsumers() ) {
+        if ( !isAsync ) {
             if ( !finishSuccessful || !reschedule ) {
                 checkForNotify(null);
                 return false;
@@ -518,11 +518,12 @@ public abstract class AbstractJobQueue
                                     }
                                 }
                                 JobConsumer.JobResult result = JobConsumer.JobResult.CANCEL;
-                                final Object asyncLock = new Object();
-                                final AtomicBoolean asyncDone = new AtomicBoolean(false);
                                 final JobConsumer.AsyncHandler asyncHandler =
                                         new JobConsumer.AsyncHandler() {
 
+                                            final Object asyncLock = new Object();
+                                            final AtomicBoolean asyncDone = new AtomicBoolean(false);
+
                                             private void check(final JobConsumer.JobResult result) {
                                                 synchronized ( asyncLock ) {
                                                     if ( !asyncDone.get() ) {
@@ -566,19 +567,7 @@ public abstract class AbstractJobQueue
                                     }
                                 }
                                 if ( result == JobConsumer.JobResult.ASYNC ) {
-                                    if ( configuration.waitForAsyncJobConsumers() ) {
-                                        synchronized ( asyncLock ) {
-                                            while ( !asyncDone.get() ) {
-                                                try {
-                                                    asyncLock.wait();
-                                                } catch (final InterruptedException e) {
-                                                    ignoreException(e);
-                                                }
-                                            }
-                                        }
-                                    } else {
-                                        notifyFinished(null);
-                                    }
+                                    notifyFinished(null);
                                 }
                             }
 

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/QueueConfiguration.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/QueueConfiguration.java?rev=1476276&r1=1476275&r2=1476276&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/QueueConfiguration.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/QueueConfiguration.java Fri Apr 26 16:16:29 2013
@@ -80,10 +80,4 @@ public interface QueueConfiguration {
      * Get the ranking of this configuration.
      */
     int getRanking();
-
-    /**
-     * Wait for async job consumers
-     * @since 1.2
-     */
-    boolean waitForAsyncJobConsumers();
 }