Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 15414 invoked from network); 2 Sep 2006 12:08:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Sep 2006 12:08:51 -0000 Received: (qmail 67497 invoked by uid 500); 2 Sep 2006 12:08:50 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 67465 invoked by uid 500); 2 Sep 2006 12:08:50 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 67456 invoked by uid 99); 2 Sep 2006 12:08:50 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Sep 2006 05:08:50 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Sep 2006 05:08:49 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id BC64A7142FE for ; Sat, 2 Sep 2006 12:05:25 +0000 (GMT) Message-ID: <18876534.1157198725769.JavaMail.jira@brutus> Date: Sat, 2 Sep 2006 05:05:25 -0700 (PDT) From: "Stefan Guggisberg (JIRA)" To: dev@jackrabbit.apache.org Subject: [jira] Closed: (JCR-551) Null values cause BLOB corruption In-Reply-To: <29268572.1157005942372.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/JCR-551?page=all ] Stefan Guggisberg closed JCR-551. --------------------------------- no problem, jaka. i'll close the issue for now as 'cannot reproduce'. feel free to reopen it if you manage to reproduce it with a test case or if you have more information about it. cheers stefan > Null values cause BLOB corruption > --------------------------------- > > Key: JCR-551 > URL: http://issues.apache.org/jira/browse/JCR-551 > Project: Jackrabbit > Issue Type: Bug > Components: core > Affects Versions: 1.0.1 > Reporter: Jaka Jaksic > Assigned To: Stefan Guggisberg > Priority: Critical > > Using the file persistence manager (not sure about other managers) there is a way to produce a corrupt property BLOB, which can then be neither read nor modified nor deleted. Once this happens, Jackrabbit starts throwing "failed to read property state" exceptions every time it hits that property, and essentially becomes useless until the BLOB is fixed (e.g. with a hex editor). > The problem is caused by passing a null value to a setProperty overload other than setProperty(String, Value). > For example: > node.setProperty("corruptionTest", null, PropertyType.STRING); > This produces a corrupt BLOB (the data in the BLOB indicates value count = 1, then the BLOB ends) instead of removing the property or at least throwing an exception. > setProperty(String, Value) properly removes the property if a null is passed to it, as documented in the JCR spec. I think other overloads should do the same, although this is not explicitly stated in the spec. In any case they should not corrupt repository data. -- 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