Persist session events
Reported by Ben Hood | July 14th, 2011 @ 05:33 PM
We need to persist session events for a number of use cases:
- So that not all events of all need to be kept in memory;
- It allows persistent state to be recorded against difference events (e.g. #295)
- Escalations require lifecycle context for events that occurred on a given entity over time (see #274);
A potential design for this might be:
- Tackle first:
Rename the SessionManager to be a DifferenceManager- Everything that exits the matching manager is created as a persistent difference
- Live difference events are stored using Hibernate
- The table contains the same structure as the current
SessionEvent bean, with the following change:
- The Difference has composite key based on the sequence id and domain id. It still contains the reference to the pair.
To persist differences found during a scan, the process implemented in #332 should just be made persistent.
The advantages of this technique is that it doesn't require holding all differences in memory at any point, and has processing complexity relative to the number of differences, not the number of entities.
Comments and changes to this ticket
-

Ben Hood July 14th, 2011 @ 05:51 PM
- no changes were found...
-

Ben Hood August 10th, 2011 @ 09:58 AM
- Tag changed from persistent session events to persistent session events, ignores
-

Ben Hood August 11th, 2011 @ 08:35 AM
(from [779a91689fb8c35c4b058e254071fe2c9e221d17]) [#294] Add persistent version of DomainCache. https://github.com/lshift/diffa/commit/779a91689fb8c35c4b058e254071...
-

Ben Hood August 11th, 2011 @ 08:58 AM
(from [d56a83b9a1f1b249a7bfd8d32138fc5885b36e2c]) [#294] Add persistent version of DomainCache. https://github.com/lshift/diffa/commit/d56a83b9a1f1b249a7bfd8d32138...
-

Ben Hood August 11th, 2011 @ 09:30 AM
(from [06fed7c1867ec8ba813567d09e959967d97f907e]) [#294]Wire in persistent Domain Cache. https://github.com/lshift/diffa/commit/06fed7c1867ec8ba813567d09e95...
-

Ben Hood August 11th, 2011 @ 01:38 PM
(from [ca27c4ce2c2eb85503bee028315bb2075b9168fd]) [#294] Add SQL builder framework for migrations (as discussed in [#322]). https://github.com/lshift/diffa/commit/ca27c4ce2c2eb85503bee028315b...
-

Ben Hood August 11th, 2011 @ 02:41 PM
(from [c3ce7a1f0cf797209cb04c750457a1dbb6cd6582]) [#294] Add migrations for persistent differences. https://github.com/lshift/diffa/commit/c3ce7a1f0cf797209cb04c750457...
-

Ben Hood August 14th, 2011 @ 09:22 PM
(from [3d73fc519330fb18e93ce3dc114f2aaf0abb0c21]) [#294] Initial introduction of performance tests for domain cache. https://github.com/lshift/diffa/commit/3d73fc519330fb18e93ce3dc114f...
-

Ben Hood August 14th, 2011 @ 09:57 PM
(from [3cbdeac61f5ff8fc900deda12a4153aaa8405951]) [#294] Validate that performance growth is stable. Quieten logging from ehcache.
https://github.com/lshift/diffa/commit/3cbdeac61f5ff8fc900deda12a41... -

Ben Hood August 14th, 2011 @ 10:30 PM
(from [fb177a2d19b9cf08343a702141b2dbb6095ee0e4]) [#294] Allow critical section to be indicated. Add query test. https://github.com/lshift/diffa/commit/fb177a2d19b9cf08343a702141b2...
-

Ben Hood August 15th, 2011 @ 11:05 AM
(from [e5551df35f8f64eca07f79eed20ab15d3d55d1a5]) [#294] Introduce constant time vs linear time tests. https://github.com/lshift/diffa/commit/e5551df35f8f64eca07f79eed20a...
-

Ben Hood August 15th, 2011 @ 11:59 AM
- Assigned user set to Paul Jones
- State changed from new to open
- Milestone cleared.
- Milestone order changed from 81 to 0
QA remarks (that are not in the pull request):
- The retrieveAllEventsInInterval/2 call does not appear to have been removed - is this by design?
- Should the diffs contain an enforced reference to the pair/domain?
- What happens with resolved diffs?
-

-

Ben Hood August 15th, 2011 @ 04:16 PM
(from [47e59c989fb19a8b645e07df8b5d61254aa28730]) [#294] Rename DomainCache to DomainDifferenceStore. https://github.com/lshift/diffa/commit/47e59c989fb19a8b645e07df8b5d...
-

Ben Hood August 15th, 2011 @ 04:39 PM
(from [e9d678f826c8ac47d5c64faa1936d31b3a3fd5ab]) [#294] Updated indexes created by migration. https://github.com/lshift/diffa/commit/e9d678f826c8ac47d5c64faa1936...
-

Ben Hood August 15th, 2011 @ 04:39 PM
(from [245991b2d8e71e52b8baf1db41ac0fcbf7a2348c]) [#294] Split queries out into multiple lines. https://github.com/lshift/diffa/commit/245991b2d8e71e52b8baf1db41ac...
-

Paul Jones August 15th, 2011 @ 04:45 PM
- retrieveAllEventsInInterval/2 is still necessary for the zooming functionality, which is to be resolved on a different ticket;
- Adding the foreign key is likely to be a bit fiddly since we need to post-process the Configuration object. Do we want to do it on this ticket, or in another one?
- Resolved diffs are dropped, as per the current code. We probably do need to add something to expire matched differences though, since at the moment they're just going to build up;
-

Ben Hood August 15th, 2011 @ 05:21 PM
- Assigned user changed from Paul Jones to Ben Hood
- State changed from open to resolved
-

-

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.