You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2016/01/12 14:50:04 UTC

svn commit: r1724235 - in /sling/trunk/contrib/extensions/distribution: core/ core/src/main/java/org/apache/sling/distribution/agent/impl/ core/src/main/java/org/apache/sling/distribution/impl/ core/src/main/java/org/apache/sling/distribution/queue/imp...

Author: mpetria
Date: Tue Jan 12 13:50:03 2016
New Revision: 1724235

URL: http://svn.apache.org/viewvc?rev=1724235&view=rev
Log:
SLING-5426: expose size for distribution packages

Modified:
    sling/trunk/contrib/extensions/distribution/core/pom.xml
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/impl/CompositeDistributionResponse.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultSharedDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
    sling/trunk/contrib/extensions/distribution/extensions/pom.xml
    sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionPackageBuilderTest.java
    sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoResourceDistributionPackageBuilderTest.java
    sling/trunk/contrib/extensions/distribution/it/pom.xml

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Tue Jan 12 13:50:03 2016
@@ -32,7 +32,7 @@
     <!-- P R O J E C T                                                           -->
     <!-- ======================================================================= -->
     <artifactId>org.apache.sling.distribution.core</artifactId>
-    <version>0.1.13-r1723031</version>
+    <version>0.1.13-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <name>Apache Sling Distribution Core</name>
@@ -202,7 +202,7 @@
         <dependency>
             <groupId>org.apache.jackrabbit.vault</groupId>
             <artifactId>org.apache.jackrabbit.vault</artifactId>
-            <version>3.0.0</version>
+            <version>3.1.24</version>
         </dependency>
         <!-- HTTP -->
         <dependency>

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java Tue Jan 12 13:50:03 2016
@@ -33,6 +33,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.PersistenceException;
@@ -204,11 +205,13 @@ public class SimpleDistributionAgent imp
             CompositeDistributionResponse distributionResponse = exportPackages(agentResourceResolver, distributionRequest, callingUser, requestId);
 
 
-            log.debug("STARTED {} {} paths={}, success={}, state={}, exportTime={}ms, noPackages={}, noQueues={}", new Object[]{
+            log.debug("STARTED {} {} paths={}, success={}, state={}, exportTime={}ms, noPackages={}, size={}B, noQueues={}", new Object[]{
                     requestId,
                     distributionRequest.getRequestType(), distributionRequest.getPaths(),
                     distributionResponse.isSuccessful(), distributionResponse.getState(),
-                    distributionResponse.getExportTime(), distributionResponse.getPackagesCount(), distributionResponse.getQueuesCount()
+                    distributionResponse.getExportTime(),
+                    distributionResponse.getPackagesCount(), distributionResponse.getPackagseSize(),
+                    distributionResponse.getQueuesCount()
             });
 
             return distributionResponse;
@@ -227,9 +230,6 @@ public class SimpleDistributionAgent imp
     }
 
     private CompositeDistributionResponse exportPackages(ResourceResolver agentResourceResolver, DistributionRequest distributionRequest, String callingUser, String requestId) throws DistributionException {
-        String actualUser =  agentResourceResolver != null ? agentResourceResolver.getUserID() : "N/A";
-        log.debug("exporting packages with user {} on behalf of {}", actualUser, callingUser);
-
         final long startTime = System.currentTimeMillis();
         PackageExporterProcessor packageProcessor =  new PackageExporterProcessor(callingUser, requestId, startTime);
 
@@ -240,8 +240,9 @@ public class SimpleDistributionAgent imp
         generatePackageEvent(DistributionEventTopics.AGENT_PACKAGE_CREATED);
         List<DistributionResponse> distributionResponses = packageProcessor.getAllResponses();
         int packagesCount = packageProcessor.getPackagesCount();
+        long packagesSize = packageProcessor.getPackagesSize();
 
-        return new CompositeDistributionResponse(distributionResponses, packagesCount, endTime - startTime);
+        return new CompositeDistributionResponse(distributionResponses, packagesCount, packagesSize, endTime - startTime);
     }
 
 
@@ -266,11 +267,9 @@ public class SimpleDistributionAgent imp
         } catch (DistributionException e) {
             log.error("an error happened during dispatching items to the queue(s)", e);
             distributionResponses.add(new SimpleDistributionResponse(DistributionRequestState.DROPPED, e.toString()));
-        } finally {
-            distributionPackage.close();
         }
 
-        log.debug("scheduled package {} with info {}", distributionPackage.getId(), distributionPackage.getInfo());
+        log.debug("SCHEDULED packageId={}, info={}", distributionPackage.getId(), distributionPackage.getInfo());
 
 
         return distributionResponses;
@@ -435,6 +434,10 @@ public class SimpleDistributionAgent imp
             distributionPackage = distributionPackageExporter.getPackage(agentResourceResolver, queueItem.getId());
 
             if (distributionPackage != null) {
+                final DistributionRequestType requestType = distributionPackage.getInfo().getRequestType();
+                final long packageSize = distributionPackage.getSize();
+                final String[] paths = distributionPackage.getInfo().getPaths();
+
                 DistributionPackageUtils.mergeQueueEntry(distributionPackage.getInfo(), queueEntry);
 
                 if (processPackage(agentResourceResolver, distributionPackage)) {
@@ -448,11 +451,11 @@ public class SimpleDistributionAgent imp
 
                 final long endTime = System.currentTimeMillis();
 
-                log.info("END[{}] {} {} paths={}, time={}ms, importTime={}ms, packageId={}", new Object[] {
+                log.info("END[{}] {} {} paths={}, time={}ms, importTime={}ms, size={}B", new Object[] {
                         queueName, requestId,
-                        distributionPackage.getInfo().getRequestType(), distributionPackage.getInfo().getPaths(), endTime - globalStartTime, endTime - startTime,
-                        distributionPackage.getId()
-
+                        requestType, paths,
+                        endTime - globalStartTime, endTime - startTime,
+                        packageSize
                 });
             } else {
                 success = true; // return success if package does not exist in order to clear the queue.
@@ -476,7 +479,6 @@ public class SimpleDistributionAgent imp
             return false;
         }
 
-        log.debug("distribution package {} was delivered", distributionPackage.getId());
         return true;
     }
 
@@ -590,16 +592,16 @@ public class SimpleDistributionAgent imp
             DistributionQueueItem queueItem = queueEntry.getItem();
 
             try {
-                log.debug("queue {} processing item {}", queueName, queueItem);
+                log.debug("PROCESSING[{}] item={}", queueName, queueItem);
 
                 boolean success = processQueueItem(queueName, queueEntry);
 
-                log.debug("queue {} processing item {} ended with status {}", queueName, queueItem, success);
+                log.debug("PROCESSED[{}] item={}, status={}", queueName, queueItem, success);
 
                 return success;
 
             } catch (Throwable t) {
-                log.error("queue {} error while processing item {} {}", new Object[] { queueName, queueItem, t} );
+                log.error("FAILED[{}] item{}", queueName, queueItem, t);
                 return false;
             }
         }
@@ -612,6 +614,9 @@ public class SimpleDistributionAgent imp
         private final String requestId;
         private final long startTime;
         private final AtomicInteger packagesCount = new AtomicInteger();
+        private final AtomicLong packagesSize = new AtomicLong();
+        private final List<DistributionResponse> allResponses = new ArrayList<DistributionResponse>();
+
 
         public List<DistributionResponse> getAllResponses() {
             return allResponses;
@@ -621,7 +626,8 @@ public class SimpleDistributionAgent imp
             return packagesCount.get();
         }
 
-        private final List<DistributionResponse> allResponses = new ArrayList<DistributionResponse>();
+        public long getPackagesSize() { return packagesSize.get(); }
+
 
         PackageExporterProcessor(String callingUser, String requestId, long startTime) {
 
@@ -635,6 +641,7 @@ public class SimpleDistributionAgent imp
             Collection<SimpleDistributionResponse> responses = scheduleImportPackage(distributionPackage, callingUser, requestId, startTime);
 
             packagesCount.incrementAndGet();
+            packagesSize.addAndGet(distributionPackage.getSize());
             allResponses.addAll(responses);
         }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/impl/CompositeDistributionResponse.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/impl/CompositeDistributionResponse.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/impl/CompositeDistributionResponse.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/impl/CompositeDistributionResponse.java Tue Jan 12 13:50:03 2016
@@ -32,6 +32,7 @@ import org.apache.sling.distribution.Dis
 public class CompositeDistributionResponse extends SimpleDistributionResponse {
 
     private final int packagesCount;
+    private final long packagseSize;
     private final int queuesCount;
     private final long exportTime;
 
@@ -39,9 +40,10 @@ public class CompositeDistributionRespon
 
     private String message;
 
-    public CompositeDistributionResponse(List<DistributionResponse> distributionResponses, int packagesCount, long exportTime) {
+    public CompositeDistributionResponse(List<DistributionResponse> distributionResponses, int packagesCount, long packagseSize, long exportTime) {
         super(DistributionRequestState.DISTRIBUTED, null);
         this.packagesCount = packagesCount;
+        this.packagseSize = packagseSize;
         this.queuesCount = distributionResponses.size();
         this.exportTime = exportTime;
         if (distributionResponses.isEmpty()) {
@@ -116,4 +118,8 @@ public class CompositeDistributionRespon
     public int getQueuesCount() {
         return queuesCount;
     }
+
+    public long getPackagseSize() {
+        return packagseSize;
+    }
 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java Tue Jan 12 13:50:03 2016
@@ -20,14 +20,19 @@ package org.apache.sling.distribution.qu
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.sling.distribution.queue.DistributionQueueEntry;
 import org.apache.sling.distribution.queue.DistributionQueueItem;
 import org.apache.sling.distribution.queue.DistributionQueueItemState;
 import org.apache.sling.distribution.queue.DistributionQueueItemStatus;
 import org.apache.sling.event.jobs.Job;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class JobHandlingUtils {
+    private final static Logger log = LoggerFactory.getLogger(JobHandlingUtils.class);
+
 
     private static final String DISTRIBUTION_PACKAGE_PREFIX = "distribution.";
     private static final String ID = DISTRIBUTION_PACKAGE_PREFIX + "item.id";
@@ -35,15 +40,21 @@ public class JobHandlingUtils {
     public static DistributionQueueItem getItem(final Job job) {
 
         Map<String, Object> properties = new HashMap<String, Object>();
-        for (String key : job.getPropertyNames()) {
-            if (key.startsWith(DISTRIBUTION_PACKAGE_PREFIX)) {
-                String infoKey = key.substring(DISTRIBUTION_PACKAGE_PREFIX.length());
-                properties.put(infoKey, job.getProperty(key));
-            }
-        }
 
         String id = (String) job.getProperty(ID);
 
+        try {
+            Set<String> propertyNames = job.getPropertyNames();
+            for (String key : propertyNames) {
+                if (key.startsWith(DISTRIBUTION_PACKAGE_PREFIX)) {
+                    String infoKey = key.substring(DISTRIBUTION_PACKAGE_PREFIX.length());
+                    properties.put(infoKey, job.getProperty(key));
+                }
+            }
+        } catch (Throwable t) {
+            log.error("Cannot read job {} properties", job.getId(), t);
+        }
+
         return new DistributionQueueItem(id, properties);
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackage.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackage.java Tue Jan 12 13:50:03 2016
@@ -56,6 +56,13 @@ public interface DistributionPackage {
     @Nonnull
     InputStream createInputStream() throws IOException;
 
+
+    /**
+     *
+     * @return the size in bytes
+     */
+    long getSize();
+
     /**
      * closes all resources associated with this instance
      */

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultSharedDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultSharedDistributionPackage.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultSharedDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultSharedDistributionPackage.java Tue Jan 12 13:50:03 2016
@@ -102,6 +102,11 @@ public class DefaultSharedDistributionPa
         return distributionPackage.createInputStream();
     }
 
+    @Override
+    public long getSize() {
+        return distributionPackage.getSize();
+    }
+
     public void close() {
         distributionPackage.close();
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java Tue Jan 12 13:50:03 2016
@@ -55,6 +55,11 @@ public class DistributionPackageWrapper
         return wrappedPackage.createInputStream();
     }
 
+    @Override
+    public long getSize() {
+        return wrappedPackage.getSize();
+    }
+
     public void close() {
         wrappedPackage.close();
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java Tue Jan 12 13:50:03 2016
@@ -42,6 +42,7 @@ public class SimpleDistributionPackage e
     private final static String PACKAGE_START = "DSTRPCK:";
     private final static String DELIM = "|";
     private final static String PATH_DELIM = ",";
+    private final long size;
 
     public SimpleDistributionPackage(DistributionRequest request, String type) {
         super(toIdString(request, type), type);
@@ -50,6 +51,7 @@ public class SimpleDistributionPackage e
 
         this.getInfo().put(DistributionPackageInfo.PROPERTY_REQUEST_PATHS, paths);
         this.getInfo().put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, requestType);
+        this.size = getId().toCharArray().length;
     }
 
     public static String toIdString(DistributionRequest request, String type) {
@@ -111,6 +113,11 @@ public class SimpleDistributionPackage e
         return IOUtils.toInputStream(getId(), "UTF-8");
     }
 
+    @Override
+    public long getSize() {
+        return size;
+    }
+
 
     public void close() {
         // there's nothing to close

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java Tue Jan 12 13:50:03 2016
@@ -54,6 +54,11 @@ public class FileVaultDistributionPackag
         return new FileInputStream(pkg.getFile());
     }
 
+    @Override
+    public long getSize() {
+        return pkg.getFile().length();
+    }
+
     public void close() {
         pkg.close();
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java Tue Jan 12 13:50:03 2016
@@ -77,6 +77,11 @@ public class JcrVaultDistributionPackage
         }
     }
 
+    @Override
+    public long getSize() {
+        return jcrPackage.getSize();
+    }
+
     public void close() {
         jcrPackage.close();
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java Tue Jan 12 13:50:03 2016
@@ -105,7 +105,7 @@ public class SimpleHttpDistributionTrans
                 }
 
                 Content content = response.returnContent();
-                log.debug("delivered package {} to {}", distributionPackage.getId(), distributionEndpoint.getUri());
+                log.debug("DELIVERED packageId={}, endpoint={}", distributionPackage.getId(), distributionEndpoint.getUri());
             } catch (HttpHostConnectException e) {
                 log.debug("could not connect to {} - retrying", distributionEndpoint.getUri());
                 throw new RecoverableDistributionException(e);
@@ -173,7 +173,7 @@ public class SimpleHttpDistributionTrans
             executor = executor.auth(new HttpHost(distributionEndpoint.getUri().getHost(), distributionEndpoint.getUri().getPort()),
                     credentialsMap.get(USERNAME), credentialsMap.get(PASSWORD)).authPreemptive(
                     new HttpHost(distributionEndpoint.getUri().getHost(), distributionEndpoint.getUri().getPort()));
-            log.debug("authenticated executor HTTP client with user and password {}", secret.asCredentialsMap().get(USERNAME));
+            log.debug("AUTH user={}, endpoint={}", secret.asCredentialsMap().get(USERNAME), distributionEndpoint.getUri());
         }
         return executor;
     }

Modified: sling/trunk/contrib/extensions/distribution/extensions/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/pom.xml?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/extensions/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/extensions/pom.xml Tue Jan 12 13:50:03 2016
@@ -180,12 +180,12 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.distribution.api</artifactId>
-            <version>0.2.0</version>
+            <version>0.3.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.distribution.core</artifactId>
-            <version>0.1.11-SNAPSHOT</version>
+            <version>0.1.13-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>

Modified: sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackage.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackage.java Tue Jan 12 13:50:03 2016
@@ -57,6 +57,11 @@ public class FileDistributionPackage imp
         return new FileInputStream(file);
     }
 
+    @Override
+    public long getSize() {
+        return file.length();
+    }
+
     public void close() {
         // do nothing
     }

Modified: sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionPackageBuilderTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionPackageBuilderTest.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionPackageBuilderTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionPackageBuilderTest.java Tue Jan 12 13:50:03 2016
@@ -102,6 +102,12 @@ public class AvroDistributionPackageBuil
             public boolean isDeep(String path) {
                 return false;
             }
+
+            @Nonnull
+            @Override
+            public String[] getFilters(String path) {
+                return new String[0];
+            }
         });
         assertNotNull(distributionPackage);
         DistributionPackage readPackage = avroDistributionPackageBuilder.readPackage(resourceResolver, distributionPackage.createInputStream());

Modified: sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoResourceDistributionPackageBuilderTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoResourceDistributionPackageBuilderTest.java?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoResourceDistributionPackageBuilderTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoResourceDistributionPackageBuilderTest.java Tue Jan 12 13:50:03 2016
@@ -69,6 +69,12 @@ public class KryoResourceDistributionPac
             public boolean isDeep(String path) {
                 return true;
             }
+
+            @Nonnull
+            @Override
+            public String[] getFilters(String path) {
+                return new String[0];
+            }
         });
         assertNotNull(kryoPackage);
         DistributionPackage readPackage = kryoResourceDistributionPackageBuilder.readPackage(resourceResolver, kryoPackage.createInputStream());
@@ -91,6 +97,12 @@ public class KryoResourceDistributionPac
             public boolean isDeep(String path) {
                 return true;
             }
+
+            @Nonnull
+            @Override
+            public String[] getFilters(String path) {
+                return new String[0];
+            }
         });
         assertNotNull(kryoPackage);
         assertNotNull(kryoPackage.getInfo());

Modified: sling/trunk/contrib/extensions/distribution/it/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/pom.xml?rev=1724235&r1=1724234&r2=1724235&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/it/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/it/pom.xml Tue Jan 12 13:50:03 2016
@@ -285,6 +285,7 @@
                         <sling.additional.bundle.32>org.apache.sling.serviceusermapper</sling.additional.bundle.32>
                         <sling.additional.bundle.33>org.apache.sling.jcr.api</sling.additional.bundle.33>
                         <sling.additional.bundle.34>org.apache.sling.jcr.base</sling.additional.bundle.34>
+                        <sling.additional.bundle.35>org.apache.sling.event</sling.additional.bundle.35>
                         <sling.additional.bundle.4>org.apache.sling.hc.core</sling.additional.bundle.4>
                         <sling.additional.bundle.5>org.apache.jackrabbit.vault</sling.additional.bundle.5>
                         <sling.additional.bundle.6>org.apache.sling.distribution.api</sling.additional.bundle.6>
@@ -421,6 +422,11 @@
             <version>1.2.0</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.event</artifactId>
+            <version>4.0.0</version>
+        </dependency>
+        <dependency>
             <groupId>javax.jcr</groupId>
             <artifactId>jcr</artifactId>
             <version>2.0</version>