GlassFish Server Open Source Edition 3.1 - Synchronization

Introduction

This project will focus on remote server instance synchronization infrastructure for GlassFish Server Open Source Edition 3.1. We will look at the following high level tasks:

  • Synchronization with DAS during server boot
    • Improved diagnostics
  • Cleanup of stale files

Scope

Feature ID Priority Description Eng Response Owner(s) Estimate (Man Days) Source of Requirement Status / Comments
SYNC-001 P1 Sync during startup. Remote server instance downloads necessary configuration and application from DAS during startup Yes Bill, Tom 30 Feature parity Remote server instance should talk to DAS over SSL (secure by default) , Issue 12028 for SSL part
SYNC-002 P1 Clean up old stale files. Keep repository cache in-sync with central repository. If a file is removed from central repository, it should also be removed from repository cache under remote server instance at the end of synchronization process Yes Bill, Tom 10 Feature parity Completed
SYNC-003 P1 Server startup should not fail if DAS is not available Yes Bill, Tom 5 Feature parity Completed
SYNC-004 P2 Clearly define how symlinks are handled during synchronization. Implement the behavior Yes Bill, Tom 2 Feature parity Issue 12025
SYNC-005 P2 DAS should scale if multiple server instances are synchronizing at the same time Yes Bill, Tom 20 Feature parity Issue 4357
SYNC-006 P2 Provide a mechanism to trigger full synchronization. Expose the mechanism in CLI Yes Bill, Tom
5   Completed
SYNC-007 P3 Provide a mechanism to exclude user created files from being removed by cleaning process. Refer to v2.x docs . Yes Bill, Tom 5 Feature parity Issue 12026
SYNC-008 P3 Provide improved diagnostics to debug synchronization errors Yes Bill, Tom 5 Feature parity Issue 12027
SYNC-009 See issue
Leverage SSH implementation for synchronization when available Yes Tom 10   Issue 12029

Feature Overview

During server startup, each instance contacts DAS (Domain Administration Server) to download the necessary configuration and application bits. Synchronization process also cleans up any deleted files from the repository cache. Refer to "Data Synchronization" section and "Synchronization Issues" section for more details.

Design Document

Milestone Schedule

Note: For those deliverables that have a link to an issue in the status/comments column, see IssueTracker for status.

Item # Date/Milestone Feature-ID Description QA/Docs Handover? Status / Comments
01. MS2 (6/21) SYNC-001 Sync during startup Yes Completed
02. MS2 (6/21) SYNC-002 Clean up stale files Yes Completed
03. MS2 (6/21) SYNC-003 Graceful handing of DAS not available during startup Yes Completed
04. MS2 (6/21) SYNC-004 Handle symlinks Yes Issue 12025
06. MS2 (6/21) SYNC-006 Ability to trigger full sync Yes Completed
07. MS3 (7/19) SYNC-007 Exclude user created files from cleanup Yes Issue 12026
08. MS3 (7/19) SYNC-008 Improved diagnostics Yes Issue 12027
09. See issue
SYNC-009 Leverage SSH May be Issue 12029
10. See issue
SYNC-005 DAS scaling with multiple servers Yes Issue 4357
11. See issue
SYNC-001 Sync during startup over SSL Yes Issue 12028

Task List

Task Target Milestone Start Date End Date Owner(s) Feature ID Status / Comments
Synchronization backend MS1   5/24 Bill SYNC-001 Completed
Integrate with GlassFish MS1   5/24 Bill SYNC-001 Completed
Clean up stale files MS1   5/24 Bill SYNC-002 Completed
DAS scaling - perf test MS1 5/6 5/14 Bill, Tom SYNC-005 Completed
Triggering full sync MS2 5/26 6/2 Bill SYNC-006 Completed
DAS scaling with multiple servers MS2 6/3 6/18 Bill, Tom SYNC-007 Planned
Exclude user created files MS3 7/8 7/14 Bill, Tom SYNC-007 Completed
Secure communication between remote instance and DAS See issue
7/22 8/6 Bill, Tom SYNC-001 Planned

Dev Tests

References

Email Alias