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.