Don't synchronize every time a session is created
Reported by Paul Jones | March 9th, 2011 @ 08:46 AM
Currently, we synchronize participants every time a session is created. This is fine in tests and on smaller systems, but when faced with participants where a synchronization is a very expensive operation, it results in some nasty behaviours (both in Diffa, and in the participants themselves).
To allow finer control over this operation on participants, I think there should be two ways that a sychronisation can occur:
- On a schedule;
- Via a REST/UI call;
Sessions can then be changed to just run an unmatchedVersions call to load themselves with content.
Comments and changes to this ticket
-

Ben Hood March 9th, 2011 @ 11:44 PM
Makes sense to me, but I'm wondering how you limit the scope of this ticket:
-
How do you (re)configure the schedule? Perhaps a simple cron string would suffice to start out, but is this something people are going to
want to re-adjust often? -
What does manual sync button look like in the UI?
BTW - what's the nasty behavior you see in the agent when you have a heavy sync?
-
-

Ben Hood March 11th, 2011 @ 08:02 AM
(from [92ebb563624febe92df91790db7813e69e68420b]) [#195] Draw a line between synchronization and differencing. Make the session manager only difference by default. https://github.com/lshift/diffa/commit/92ebb563624febe92df91790db78...
-

Ben Hood March 11th, 2011 @ 08:16 AM
(from [0abcdbcdf6719a1a1592d75ed6aee7862b263461]) [#195] Rename VersionPolicy.difference/5 to VersionPolicy.syncAndDifference to make intent clearer. https://github.com/lshift/diffa/commit/0abcdbcdf6719a1a1592d75ed6ae...
-

Ben Hood May 9th, 2011 @ 01:56 PM
- State changed from new to resolved
- Assigned user set to Paul Jones
I've resolved this ticket without the sync scheduling feature - this should probably be part of a new ticket.
-

Ben Hood May 9th, 2011 @ 03:07 PM
- State changed from resolved to open
- Assigned user changed from Paul Jones to Ben Hood
The admin page should probably display the current sync state of all known pairings.
-

Ben Hood May 9th, 2011 @ 07:13 PM
(from [c1df4ae36756452fd61d2aaf017556826c602b54]) [#195] Added poll loop to admin page to indicate the scan state on a per pairing basis https://github.com/lshift/diffa/commit/c1df4ae36756452fd61d2aaf0175...
-

Ben Hood May 9th, 2011 @ 07:18 PM
- State changed from open to resolved
- Milestone cleared.
- Assigned user changed from Ben Hood to Paul Jones
- Milestone order changed from 3 to 0
Added polling to admin page, resolving again.
-

Ben Hood May 11th, 2011 @ 09:37 AM
(from [2e5d8a0947edccf29f2b3b4dc47c4c3d22f805a0]) [#195] Downgrade to sitemesh 2.x to remove Jetty thread issue.
With Sitemesh 3, we were seeing threads in Jetty pile up in the output phase. Downgrading Sitemesh seemed to resolve it, so we're going to assume it is an alpha bug in the 3.x series.
https://github.com/lshift/diffa/commit/2e5d8a0947edccf29f2b3b4dc47c... -

Ben Hood May 11th, 2011 @ 09:48 AM
(from [9ebe2020ea17db71002f0ac866f7c93fbaef489d]) [#195] Make states update immediately when actions are performed. https://github.com/lshift/diffa/commit/9ebe2020ea17db71002f0ac866f7...
-

Paul Jones May 11th, 2011 @ 09:50 AM
- State changed from resolved to closed
After some fiddling around with the Sitemesh version and HTML version, QA+
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
A Real Time Differencing Tool.
People watching this ticket
Tags
Referenced by
-
215
Agent should not sync automatically on boot
This duplicates #195, hence invalidating
-
195
Don't synchronize every time a session is created
(from [c1df4ae36756452fd61d2aaf017556826c602b54])
[#195] ...
-
195
Don't synchronize every time a session is created
(from [2e5d8a0947edccf29f2b3b4dc47c4c3d22f805a0])
[#195] ...
-
195
Don't synchronize every time a session is created
(from [9ebe2020ea17db71002f0ac866f7c93fbaef489d])
[#195] ...
-
196
Sessions should be shared based on parameters
The initial design of the SessionManager always included ...
-
196
Sessions should be shared based on parameters
The initial design of the SessionManager always included ...
-
196
Sessions should be shared based on parameters
The change in the SessionManager is trivial to fix this.
...
-
196
Sessions should be shared based on parameters
Given I've come this far, I think the one final piece of
...
-
195
Don't synchronize every time a session is created
(from [92ebb563624febe92df91790db7813e69e68420b])
[#195] ...
-
195
Don't synchronize every time a session is created
(from [0abcdbcdf6719a1a1592d75ed6aee7862b263461])
[#195] ...