[ 
http://issues.apache.org/jira/browse/JCR-298?page=comments#action_12362464 ] 

Alexandru Popescu commented on JCR-298:
---------------------------------------

It looks like this part is missing:
[code]
InternalValue[] values = state.getValues();
        if (values != null) {
            for (int i = 0; i < values.length; i++) {
                InternalValue val = values[i];
                if (val != null) {
                    if (val.getType() == PropertyType.BINARY) {
                        BLOBFileValue blobVal = (BLOBFileValue) 
val.internalValue();
                        // delete internal resource representation of BLOB value
                        blobVal.delete(true);
                        // also remove from BLOBStore
                        String blobId = blobStore.createId((PropertyId) 
state.getId(), i);
                        try {
                            blobStore.remove(blobId);
                        } catch (Exception e) {
                            log.warn("failed to remove from BLOBStore: " + 
blobId, e);
                        }
                    }
                }
            }
        }
[/code]

./alex
--
.w( the_mindstorm )p.


> missing blob.remove in Berkeley DB persistance manager
> ------------------------------------------------------
>
>          Key: JCR-298
>          URL: http://issues.apache.org/jira/browse/JCR-298
>      Project: Jackrabbit
>         Type: Bug
>     Versions: 1.0
>     Reporter: scharles
>     Priority: Minor

>
> org/apache/jackrabbit/core/state/bdb/BerkeleyDBPersistenceManager.destroy(PropertyState
>  state) does not remove binary file from
> the BLOBStore (filesystem impl)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to