You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2008/04/01 09:10:29 UTC
[jira] Commented: (JCR-1508) Setting a new property value causes a
read of the previous property value
[ https://issues.apache.org/jira/browse/JCR-1508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12584037#action_12584037 ]
angela commented on JCR-1508:
-----------------------------
> Well, I think this is a totally valid issue.
it depends what the issue is.
what i understood was: jcr2spi should simply set the value. and this would result in inconsistency.
therefore i'm inclined to resolve this invalid.
> Why not let the SPI implementation do the check?
you want a SPI call to check if the property exists and if it's value can be changed to a new value?
i'm not in favour of this. unless the property is a huge binary, i would argue that reading the propertyInfo is not more expensive that having an SPI call to check the existance and the validity of the new Value.
> Setting a new property value causes a read of the previous property value
> -------------------------------------------------------------------------
>
> Key: JCR-1508
> URL: https://issues.apache.org/jira/browse/JCR-1508
> Project: Jackrabbit
> Issue Type: Bug
> Components: jackrabbit-jcr2spi
> Affects Versions: 1.4
> Reporter: David Rauschenbach
>
> When using JCR2SPI with a custom SPI, getProperty is called when one attempts to set a new property value with disregard to the previous value. The current JCR2SPI implementation causes a getPropertyInfo, which requests the old value from the back-end. This is fundamentally unsound, and kills performance.
> An SPI has no choice but to guard against this by returning a PropertyInfo proxy that performs lazy-loading of the value. The problem is that if an error occurs when dereferencing the value, and when performing the lazy-load, JCR2SPI is ill-suited to hande an unchecked exception at such a time. Besides, it is a "hack upon a hack", because JCR2SPI could do this work itself, by making proper use of the SPI functions for requesting property type information.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.