[jira] [Updated] (SLING-3816) Use the same flow of operations for forward and reverse replication
[ https://issues.apache.org/jira/browse/SLING-3816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tommaso Teofili updated SLING-3816: --- Fix Version/s: Content Distribution 0.1.0 > Use the same flow of operations for forward and reverse replication > --- > > Key: SLING-3816 > URL: https://issues.apache.org/jira/browse/SLING-3816 > Project: Sling > Issue Type: Improvement > Components: Distribution >Reporter: Marius Petria >Assignee: Tommaso Teofili > Fix For: Content Distribution 0.1.0 > > Attachments: SLING-3816.patch > > > Current replication code treats differently the forward and reverse > replication. Forward replication creates a content package, adds it to a > queue and transports it to the other instance while reverse replication > creates a dummy POLL package, transports it to the other instance, retrieves > the result queues it and then installs it in the current instance. > The current flow for reverse replication complicates the code structure and > can be simplified by using three main entities: > 1. Package Importers: can import(install) a replication package > 1.a ReplicationPackageImporter > 1.b ReplicationPackageImporterServlet bound to replication/importer resource > type > 1.c http://localhost:4502/libs/sling/replication/importers.json > 2. Package Exporters - can export (create) a replication package > 2.a ReplicationPackageExporter > 2.b ReplicationPackageExporterServlet bound to replication/exporter resource > type > 2.c http://localhost:4502/libs/sling/replication/exporters.json > 3. Replication Agents - coordinate the interaction between an exporter and an > importer using the following flow: exports a package, adds it to a queue, and > the imports the package. > 3.a ReplicationAgent > 3.b ReplicationAgentServlet bound to replication/agent resource type > 3.c http://localhost:4502/libs/sling/replication/agents.json > Basically for forward replication the exporter is local and the importer is > remote while for reverse replication the difference is that the exporter is > remote and the importer is local. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (SLING-3816) Use the same flow of operations for forward and reverse replication
[ https://issues.apache.org/jira/browse/SLING-3816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tommaso Teofili updated SLING-3816: --- Component/s: (was: Extensions) Replication Labels: (was: replication) > Use the same flow of operations for forward and reverse replication > --- > > Key: SLING-3816 > URL: https://issues.apache.org/jira/browse/SLING-3816 > Project: Sling > Issue Type: Improvement > Components: Replication >Reporter: Marius Petria >Assignee: Tommaso Teofili > Attachments: SLING-3816.patch > > > Current replication code treats differently the forward and reverse > replication. Forward replication creates a content package, adds it to a > queue and transports it to the other instance while reverse replication > creates a dummy POLL package, transports it to the other instance, retrieves > the result queues it and then installs it in the current instance. > The current flow for reverse replication complicates the code structure and > can be simplified by using three main entities: > 1. Package Importers: can import(install) a replication package > 1.a ReplicationPackageImporter > 1.b ReplicationPackageImporterServlet bound to replication/importer resource > type > 1.c http://localhost:4502/libs/sling/replication/importers.json > 2. Package Exporters - can export (create) a replication package > 2.a ReplicationPackageExporter > 2.b ReplicationPackageExporterServlet bound to replication/exporter resource > type > 2.c http://localhost:4502/libs/sling/replication/exporters.json > 3. Replication Agents - coordinate the interaction between an exporter and an > importer using the following flow: exports a package, adds it to a queue, and > the imports the package. > 3.a ReplicationAgent > 3.b ReplicationAgentServlet bound to replication/agent resource type > 3.c http://localhost:4502/libs/sling/replication/agents.json > Basically for forward replication the exporter is local and the importer is > remote while for reverse replication the difference is that the exporter is > remote and the importer is local. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (SLING-3816) Use the same flow of operations for forward and reverse replication
[ https://issues.apache.org/jira/browse/SLING-3816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marius Petria updated SLING-3816: - Attachment: SLING-3816.patch I am attaching a patch for this that contains also tests for forward (add, delete) and reverse replication. You can also visualize changes at [1] [1] https://github.com/mpetria/sling/tree/dev-SLING-3816 > Use the same flow of operations for forward and reverse replication > --- > > Key: SLING-3816 > URL: https://issues.apache.org/jira/browse/SLING-3816 > Project: Sling > Issue Type: Improvement > Components: Extensions >Reporter: Marius Petria > Labels: replication > Attachments: SLING-3816.patch > > > Current replication code treats differently the forward and reverse > replication. Forward replication creates a content package, adds it to a > queue and transports it to the other instance while reverse replication > creates a dummy POLL package, transports it to the other instance, retrieves > the result queues it and then installs it in the current instance. > The current flow for reverse replication complicates the code structure and > can be simplified by using three main entities: > 1. Package Importers: can import(install) a replication package > 1.a ReplicationPackageImporter > 1.b ReplicationPackageImporterServlet bound to replication/importer resource > type > 1.c http://localhost:4502/libs/sling/replication/importers.json > 2. Package Exporters - can export (create) a replication package > 2.a ReplicationPackageExporter > 2.b ReplicationPackageExporterServlet bound to replication/exporter resource > type > 2.c http://localhost:4502/libs/sling/replication/exporters.json > 3. Replication Agents - coordinate the interaction between an exporter and an > importer using the following flow: exports a package, adds it to a queue, and > the imports the package. > 3.a ReplicationAgent > 3.b ReplicationAgentServlet bound to replication/agent resource type > 3.c http://localhost:4502/libs/sling/replication/agents.json > Basically for forward replication the exporter is local and the importer is > remote while for reverse replication the difference is that the exporter is > remote and the importer is local. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (SLING-3816) Use the same flow of operations for forward and reverse replication
[ https://issues.apache.org/jira/browse/SLING-3816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marius Petria updated SLING-3816: - Summary: Use the same flow of operations for forward and reverse replication (was: Use the same flow of operations for froward and reverse replication) > Use the same flow of operations for forward and reverse replication > --- > > Key: SLING-3816 > URL: https://issues.apache.org/jira/browse/SLING-3816 > Project: Sling > Issue Type: Improvement > Components: Extensions >Reporter: Marius Petria > Labels: replication > > Current replication code treats differently the forward and reverse > replication. Forward replication creates a content package, adds it to a > queue and transports it to the other instance while reverse replication > creates a dummy POLL package, transports it to the other instance, retrieves > the result queues it and then installs it in the current instance. > The current flow for reverse replication complicates the code structure and > can be simplified by using three main entities: > 1. Package Importers: can import(install) a replication package > 1.a ReplicationPackageImporter > 1.b ReplicationPackageImporterServlet bound to replication/importer resource > type > 1.c http://localhost:4502/libs/sling/replication/importers.json > 2. Package Exporters - can export (create) a replication package > 2.a ReplicationPackageExporter > 2.b ReplicationPackageExporterServlet bound to replication/exporter resource > type > 2.c http://localhost:4502/libs/sling/replication/exporters.json > 3. Replication Agents - coordinate the interaction between an exporter and an > importer using the following flow: exports a package, adds it to a queue, and > the imports the package. > 3.a ReplicationAgent > 3.b ReplicationAgentServlet bound to replication/agent resource type > 3.c http://localhost:4502/libs/sling/replication/agents.json > Basically for forward replication the exporter is local and the importer is > remote while for reverse replication the difference is that the exporter is > remote and the importer is local. -- This message was sent by Atlassian JIRA (v6.2#6252)