[ 
https://issues.apache.org/jira/browse/OAK-2262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14353596#comment-14353596
 ] 

Michael Dürig commented on OAK-2262:
------------------------------------

It just occurred to me that a more general implementation might be more useful 
and lower on performance impact: what about adding before and/or after property 
values to all property events? On one hand this would mean that the client 
would need to figure out the actual difference in multi valued properties 
itself. On the other hand however the client could exercise full control over 
the process. No processing would take place at all if the client is not 
interested in the property values and thus no CPU cycles would be wasted. 

> Add metadata about the changed value to a PROPERTY_CHANGED event on a 
> multivalued property
> ------------------------------------------------------------------------------------------
>
>                 Key: OAK-2262
>                 URL: https://issues.apache.org/jira/browse/OAK-2262
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, jcr
>    Affects Versions: 1.1.2
>            Reporter: Tommaso Teofili
>            Assignee: Michael Dürig
>              Labels: observation
>             Fix For: 1.1.8
>
>
> When getting _PROPERTY_CHANGED_ events on non-multivalued properties only one 
> value can have actually changed so that handlers of such events do not need 
> any further information to process it and eventually work on the changed 
> value; on the other hand _PROPERTY_CHANGED_ events on multivalued properties 
> (e.g. String[]) may relate to any of the values and that brings a source of 
> uncertainty on event handlers processing such changes because there's no mean 
> to understand which property value had been changed and therefore to them to 
> react accordingly.
> A workaround for that is to create Oak specific _Observers_ which can deal 
> with the diff between before and after state and create a specific event 
> containing the "diff", however this would add a non trivial load to the 
> repository because of the _Observer_ itself and because of the additional 
> events being generated while it'd be great if the 'default' events would have 
> metadata e.g. of the changed value index or similar information that can help 
> understanding which value has been changed (added, deleted, updated). 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to