| Summary: | No passive update mode and ChangeSubscriptionPolicies (compatibility with other transactional frameworks) | ||
|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Alex Lagarde <alex.lagarde> |
| Component: | cdo.core | Assignee: | Project Inbox <emf.cdo-inbox> |
| Status: | NEW --- | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | esteban.dugueperoux, lu.xingxiao, martin.fluegge, stepper, vroldanbet |
| Version: | 4.13 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Alex Lagarde
I'm still thinking about this one. Some comments so far: 1) A notification is a remote notification if it's an instanceof CDONotification. Maybe that's enough to exclude them from the change recorder's change description? 2) PassiveUpdates are really an aspect of a CDOSession, not of a CDOView. We had discussions about an additional property in the view options that controls whether incoming remote invalidation are directly processed by the view or stored in a queue for later processing. The detaiuls for this later processing are unclear, though. 3) A second session doesn't look like a very slim solution as it would involve a separate revision cache ;-( Just a quick side note: I solved this issue on Dawn with overriding the TDE to gain control over the TransactionChangeRecorder (see DawnChangeRecorder). We already started discussing the implementation of an CDO internal TED in this bugzilla (https://bugs.eclipse.org/bugs/show_bug.cgi?id=323792) (In reply to comment #2) > ... CDO internal TED ... You certainly mean a CDO-specific TED ;-) Certainly. ;) Moving all open enhancement requests to 4.1 Guys, I think the title of this enhancement request is confusing. Is it about adding a CDO-specific TED? If so, can someone please update the title accordingly? Hi, A little question, it is not better to have a IListener which listens CDOSessionInvalidationEvent to start a EMFT Transaction and listens CDOViewAdaptersNotifiedEvent to commit this EMFT Transaction or rollback it if a problem has occured during the invalidation. This solution could avoid to use a CDO specific TED, but a issue is that the CDOSessionInvalidationEvent is sent in a different thread than the CDOViewAdaptersNotifiedEvent. Eike: no, this issue is not about adding a CDO-specific TED, it's just one of the possible solutions (see first message of this ticket). > In order to be able to use both CDO and a transactional framework > (EMFTransaction for example), the passive update mode must be disabled. Let's see if I follow this assertion :P > Indeed, if the passive update mode is activated, remote changes won't be > integrated inside a Command of the EditingDomain commandStack, causing > IllegalState Exceptions. > On an other hand, we need to be notified of any remote changes in order to > integrate them properly to the EditingDomain. That sounds like a contradiction. > In order to allow CDO to work with other transactional frameworks, we have > identified two solutions : Two transactional layers on top of each other do sound more like a lot of trouble with not much benefit, eh? Undoubtedly a CDOTransaction is the superior choice among the two. Why would you want to add another layer? I would like to clarify this before we dive into possible technical solutions. Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master. Moving all outstanding enhancements to 4.3 Moving all open enhancement requests to 4.4 Moving all open enhancement requests to 4.4 Moving all open bugzillas to 4.5. Moving all unaddressed bugzillas to 4.6. Moving all open bugs to 4.7 Moving all unresolved issues to version 4.8- Moving all unresolved issues to version 4.9 Moving to 4.13. |