[EEPUBLISH-56] Support publishing to a load balancer Created: 05/Dec/22  Updated: 20/Dec/22  Resolved: 13/Dec/22

Status: Closed
Project: Publishing Transactional
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.4, 1.3.0

Type: New Feature Priority: Neutral
Reporter: Roman Kovařík Assignee: Roman Kovařík
Resolution: Fixed Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
dependency
Sub-Tasks:
Key
Summary
Type
Status
Assignee
EEPUBLISH-57 Implementation Sub-task Completed Roman Kovařík  
EEPUBLISH-58 Rw Sub-task Closed Antonín Juran  
EEPUBLISH-59 QA on Dx Core 6.2 Sub-task Closed Antonín Juran  
Template:
Acceptance criteria:
Empty
Release notes required:
Yes
Sprint: Nucleus 25
Story Points: 0
Work Started:

 Description   

Steps to reproduce

  1. Configure load balancer with
    • two DX core public instances with JCR cluster
    • sticky sessions (or make sure multiple request of one publication operation are redirected to the same public instance)
  2. Point the only receiver to the load balancer
  3. Publish a content from author instance.

Expected results

The content is successfully published / can be retrieved from both public instances

Actual results

The COMMIT operation might end up on different public instance than the publication operation so the publication is not completed.

Workaround

Set the receiver URL directly to the public instance URL without the load balancer.

Development notes

The transactional publishing runs two operations

  • publication
  • commit

with the same headers except for one header:

mgnlexchangeaction: publish

mgnlexchangeaction: commit



 Comments   
Comment by Roman Kovařík [ 20/Dec/22 ]

The final implementation reuses the http client across multiple HTTP requests which are part of one publication action. Therefore a loadbalancer with sticky sessions makes sure the requests are redirected to the same public instance.

Generated at Mon Feb 12 10:38:18 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.