You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by tm...@apache.org on 2017/08/17 15:50:56 UTC

svn commit: r1805305 - /sling/site/trunk/content/documentation/bundles/content-distribution.mdtext

Author: tmaret
Date: Thu Aug 17 15:50:56 2017
New Revision: 1805305

URL: http://svn.apache.org/viewvc?rev=1805305&view=rev
Log:
SLING-5755 - Complete Distribution documentation

Modified:
    sling/site/trunk/content/documentation/bundles/content-distribution.mdtext

Modified: sling/site/trunk/content/documentation/bundles/content-distribution.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/content-distribution.mdtext?rev=1805305&r1=1805304&r2=1805305&view=diff
==============================================================================
--- sling/site/trunk/content/documentation/bundles/content-distribution.mdtext (original)
+++ sling/site/trunk/content/documentation/bundles/content-distribution.mdtext Thu Aug 17 15:50:56 2017
@@ -33,6 +33,13 @@ A forward distribution setup allows one
         org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
             name="default"
 
+#### Trigger forward distribution
+
+Forward distribution can be triggered by sending a `POST` HTTP request to the agent resource on the source instance with the parameter `action=ADD` and parameters `path=<resourcePath>`.
+
+The example below distributes the path `/content/sample1`
+
+    $ curl -v -u admin:admin http://localhost:8080/libs/sling/distribution/services/agents/publish -d 'action=ADD' -d 'path=/content/sample1'
 
 ### Reverse distribution
 
@@ -63,6 +70,13 @@ A reverse distribution setup allows one
             agent.target="(name=reverse)"
             
             
+#### Trigger reverse distribution
+
+Reverse distribution can be triggered by sending a `POST` HTTP request to the agent resource on the target instance with the parameter `action=PULL`.
+
+The example below adds the the path `/content/sample1` and then reverse distribute it.
+
+    $ curl -v -u admin:admin http://localhost:8081/libs/sling/distribution/services/agents/publish -d 'action=PULL' -d 'path=/content/sample1'
 
 ### Sync distribution
 
@@ -161,11 +175,42 @@ A multidatacenter sync distribution setu
 
 ## Additional options
 
-### How to trigger distribution over HTTP?
-
 ### How to configure binary-less distribution?
 
-### How to configure priority paths?
+Binary-less distribution is supported for deployments over a shared data store and involving agents that leverage the
+Vault based Distribution package exporter (Factory PID:
+org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory) package builder.
+
+With binary-less mode enabled, the content packages distributed contain references to binaries rather than
+the actual binaries.
+
+SCD does not explicitly deal with binary references. Instead, it configures Apache Jackrabbit FileVault
+export options in order to assemble/import binary references.
+
+Upon import, if a referenced binary is not visible on the destination instance, SCD will retry distributing the content package
+after a delay has elapsed.
+
+Binary-less is configured by setting the 'useReferences' to true on the VaultDistributionPackageBuilderFactory.
+
+### How to configure priority queue?
+
+SCD agents allow to prioritize the distribution of content depending on its path.
+This feature improves the delays in use cases where a subset of the content to be distributed must meet tighter delay
+than the remaining one (e.g. news flash).
+
+Each agent can be configured with one or more priority queues.
+
+In order to setup the priority queues, configure the 'priorityQueues' agent property by providing the queuePrefix and path regular expression.
+
+### How to configure retry strategy?
+
+The agent behaviour upon failed distribution request can be configured via the Retry Strategy 'retry.strategy' and
+'retry.attempts' properties.
 
-### How to configure error queues?
+With the 'none' strategy, an agent will retry distributing an item forever, blocking the queue until the distribution succeeds.
+The 'none' strategy guarantees the distribution order but may block the queue until someone resolves the situation.
 
+With the 'errorQueue' strategy, an agent will automatically create an additional error queue. The agent will
+retry up to 'retry.attempts' attempts then move the failed item to the error queue. The error queue is passive and allow
+to keep track of the failed distribution item for post analysis.
+The 'errorQueue' strategy does not guarantee the distribution order, but it guarantee that the queue is stuck for a bounded number of retries.