Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 94636 invoked from network); 13 Apr 2010 16:14:01 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 13 Apr 2010 16:14:01 -0000 Received: (qmail 47851 invoked by uid 500); 13 Apr 2010 16:14:01 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 47455 invoked by uid 500); 13 Apr 2010 16:14:00 -0000 Mailing-List: contact commits-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 commits@jackrabbit.apache.org Received: (qmail 47319 invoked by uid 99); 13 Apr 2010 16:13:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Apr 2010 16:13:59 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Apr 2010 16:13:56 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C8FAC23889FA; Tue, 13 Apr 2010 16:13:34 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r933699 - in /jackrabbit/branches/1.6: ./ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/daily/ItemStateHierarchyManagerDeadlockTest.java Date: Tue, 13 Apr 2010 16:13:34 -0000 To: commits@jackrabbit.apache.org From: jukka@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100413161334.C8FAC23889FA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jukka Date: Tue Apr 13 16:13:34 2010 New Revision: 933699 URL: http://svn.apache.org/viewvc?rev=933699&view=rev Log: 1.6: Merged revision 933646 (JCR-2525) Added: jackrabbit/branches/1.6/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/daily/ItemStateHierarchyManagerDeadlockTest.java - copied unchanged from r933646, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/daily/ItemStateHierarchyManagerDeadlockTest.java Modified: jackrabbit/branches/1.6/ (props changed) jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java Propchange: jackrabbit/branches/1.6/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Apr 13 16:13:34 2010 @@ -1,4 +1,4 @@ /jackrabbit/branches/1.5:794012,794100,794102 /jackrabbit/branches/1.x:801262-801983,812129,812371 /jackrabbit/branches/2.0:899183,900703 -/jackrabbit/trunk:770143-773197,773483,773525-773555,773584,773588,773828,773835-775756,775833,775836,775840,775868,775981,775986,776036,776256,776310,776313,776321-776322,776332,776356-776357,776362,776373,776650-776693,776737,776757,776776-776777,777024,777029,777034,777478,777509,777541,777548,777936,778445,778613,778616,778621,778645,778720,778802,779032,779040,779068-779071,779074,779076,779081,779084,779086-779088,779090-779092,779094-779096,779101,779223,779225,779227-779228,779230,779233-779234,779460,779475-779476,779504,779550,779552,779555,779561,779563,779583,779590,779618,779621-779622,779624,779642,779654,779657-779659,779661,779936,780006,780010,780025,780085,780985,780989,780993,781017,781051,781054,781294-781300,781305-781311,781318,781328,781338,781344,781347,781369,781372,781377,781416-781417,781423,782621-782622,782644,782646,782652,782669,782675,782677,782683,782694,782921,782925,782930,782936,783002,783004-783005,783042-783043,783239,783243,783245,78327 8,783304,783319-783321,783324,783326-783327,783330-783333,783337-783338,783340-783341,783343,783345-783347,783356,783359,783383,783386,783412,783435,783444,783447,783523,783688,783703,783708,783710,783719,783757,783759,783761,783786,783809,784011,784013,784039,784058,784060-784061,784090-784091,784106,784108-784109,784111,784117-784120,784124,784163,784261,784680,784691,784696,784760,784824,785112,785116,785157,785169,785209,785492,785517,785519,785529,785533,785535,785539-785540,785545,785580,785589-785590,785592,785594,785597,785602,785627,785629,785631,785635,785645,785668,785711,785725,785777,785863,785981,786003,786019,786028,786062,786075,786089-786090,786093-786094,786144,786146-786147,786149,786167,786280,786295,786319,786329-786330,786336,786409,786419,786423,786480,786485,786492,786513,786562,786565,786680,786685,787183,787219,787241,787942,787952,787964,787996,788002,788012-788013,788350-788351,788443,788446,788450,789245,789257,789269-789270,789279,789307,789312, 789324,789338,789347,789485,789629,789809,789986,790054,790056,790065-790066,790068,790070-790071,790118,790127,790153,790235-790236,790528,790537,790541,790557-790558,790568,790590,790600,790603,790629,790814,790826,790834,790887,790892,790901,790930,790939,791180,791253,791255,791438-791439,791441,791452,791457,791475,791492,791505,791520,791527,791737,791832,791884,791906,792102,792109,792118,792138,792152,792155-792156,792160,792162,792167-792168,792175,792180-792181,792211,792214,792218,792437,792453,792464,792467,792469,792485,792488,792496,792498,792508-792509,792547-792548,792588-792589,792849,792894-792895,792912,792932,792934,792968,793012-793013,793015-793016,793018,793046-793047,793072,793180,793238,793240,793243,793283,793484-793485,793507,793559,793571,793830,793836,793840,794162,794190,794193,794253,794278,794293-794294,794302,794304,794323,794329,794600,794617,794633,794641,794644,794652,794674,794702,794718,794743,794783,794994,795046,795049,795082,795096,79 5136,795138,795841-795842,795854,795866,796584,796586,796757,796845,796855,796876,796899,796955,796957,797094,797139,797158,797386,797399,797410,797414,797416-797417,797424,797470,797484,797488-797489,797539,797549,797634,797662,797836,798141,798183,798196,798209,798306,798834,798844,798847-798848,798889-798890,798940,798958,799188,799284,799550,799595,799599,799610,800269,800464,800466,800478,800483,800715,800807,800829,800854,800862-800863,801104,801125-801126,801128,801135,801169,801210,801213,801226,801241,801968,801973,802691,802754,812102,812369,815233,816124,818482,819491,820925,825772,829015,830575,830665,881283,889133,892253,899181,900702,927393 +/jackrabbit/trunk:770143-773197,773483,773525-773555,773584,773588,773828,773835-775756,775833,775836,775840,775868,775981,775986,776036,776256,776310,776313,776321-776322,776332,776356-776357,776362,776373,776650-776693,776737,776757,776776-776777,777024,777029,777034,777478,777509,777541,777548,777936,778445,778613,778616,778621,778645,778720,778802,779032,779040,779068-779071,779074,779076,779081,779084,779086-779088,779090-779092,779094-779096,779101,779223,779225,779227-779228,779230,779233-779234,779460,779475-779476,779504,779550,779552,779555,779561,779563,779583,779590,779618,779621-779622,779624,779642,779654,779657-779659,779661,779936,780006,780010,780025,780085,780985,780989,780993,781017,781051,781054,781294-781300,781305-781311,781318,781328,781338,781344,781347,781369,781372,781377,781416-781417,781423,782621-782622,782644,782646,782652,782669,782675,782677,782683,782694,782921,782925,782930,782936,783002,783004-783005,783042-783043,783239,783243,783245,78327 8,783304,783319-783321,783324,783326-783327,783330-783333,783337-783338,783340-783341,783343,783345-783347,783356,783359,783383,783386,783412,783435,783444,783447,783523,783688,783703,783708,783710,783719,783757,783759,783761,783786,783809,784011,784013,784039,784058,784060-784061,784090-784091,784106,784108-784109,784111,784117-784120,784124,784163,784261,784680,784691,784696,784760,784824,785112,785116,785157,785169,785209,785492,785517,785519,785529,785533,785535,785539-785540,785545,785580,785589-785590,785592,785594,785597,785602,785627,785629,785631,785635,785645,785668,785711,785725,785777,785863,785981,786003,786019,786028,786062,786075,786089-786090,786093-786094,786144,786146-786147,786149,786167,786280,786295,786319,786329-786330,786336,786409,786419,786423,786480,786485,786492,786513,786562,786565,786680,786685,787183,787219,787241,787942,787952,787964,787996,788002,788012-788013,788350-788351,788443,788446,788450,789245,789257,789269-789270,789279,789307,789312, 789324,789338,789347,789485,789629,789809,789986,790054,790056,790065-790066,790068,790070-790071,790118,790127,790153,790235-790236,790528,790537,790541,790557-790558,790568,790590,790600,790603,790629,790814,790826,790834,790887,790892,790901,790930,790939,791180,791253,791255,791438-791439,791441,791452,791457,791475,791492,791505,791520,791527,791737,791832,791884,791906,792102,792109,792118,792138,792152,792155-792156,792160,792162,792167-792168,792175,792180-792181,792211,792214,792218,792437,792453,792464,792467,792469,792485,792488,792496,792498,792508-792509,792547-792548,792588-792589,792849,792894-792895,792912,792932,792934,792968,793012-793013,793015-793016,793018,793046-793047,793072,793180,793238,793240,793243,793283,793484-793485,793507,793559,793571,793830,793836,793840,794162,794190,794193,794253,794278,794293-794294,794302,794304,794323,794329,794600,794617,794633,794641,794644,794652,794674,794702,794718,794743,794783,794994,795046,795049,795082,795096,79 5136,795138,795841-795842,795854,795866,796584,796586,796757,796845,796855,796876,796899,796955,796957,797094,797139,797158,797386,797399,797410,797414,797416-797417,797424,797470,797484,797488-797489,797539,797549,797634,797662,797836,798141,798183,798196,798209,798306,798834,798844,798847-798848,798889-798890,798940,798958,799188,799284,799550,799595,799599,799610,800269,800464,800466,800478,800483,800715,800807,800829,800854,800862-800863,801104,801125-801126,801128,801135,801169,801210,801213,801226,801241,801968,801973,802691,802754,812102,812369,815233,816124,818482,819491,820925,825772,829015,830575,830665,881283,889133,892253,899181,900702,927393,933646 Modified: jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java?rev=933699&r1=933698&r2=933699&view=diff ============================================================================== --- jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java (original) +++ jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/NodeState.java Tue Apr 13 16:13:34 2010 @@ -345,9 +345,12 @@ public class NodeState extends ItemState * @param id the id the new entry is refering to. * @return the newly added ChildNodeEntry */ - public synchronized ChildNodeEntry addChildNodeEntry(Name nodeName, + public ChildNodeEntry addChildNodeEntry(Name nodeName, NodeId id) { - ChildNodeEntry entry = childNodeEntries.add(nodeName, id); + ChildNodeEntry entry = null; + synchronized (this) { + entry = childNodeEntries.add(nodeName, id); + } notifyNodeAdded(entry); return entry; } @@ -361,12 +364,18 @@ public class NodeState extends ItemState * @return true if the entry was sucessfully renamed; * otherwise false */ - public synchronized boolean renameChildNodeEntry(Name oldName, int index, + public boolean renameChildNodeEntry(Name oldName, int index, Name newName) { - ChildNodeEntry oldEntry = childNodeEntries.remove(oldName, index); - if (oldEntry != null) { - ChildNodeEntry newEntry = + ChildNodeEntry oldEntry = null; + ChildNodeEntry newEntry = null; + synchronized (this) { + oldEntry = childNodeEntries.remove(oldName, index); + if (oldEntry != null) { + newEntry = childNodeEntries.add(newName, oldEntry.getId()); + } + } + if (oldEntry != null) { notifyNodeAdded(newEntry); notifyNodeRemoved(oldEntry); return true; @@ -382,8 +391,11 @@ public class NodeState extends ItemState * @return true if the specified child node entry was found * in the list of child node entries and could be removed. */ - public synchronized boolean removeChildNodeEntry(Name nodeName, int index) { - ChildNodeEntry entry = childNodeEntries.remove(nodeName, index); + public boolean removeChildNodeEntry(Name nodeName, int index) { + ChildNodeEntry entry = null; + synchronized (this) { + entry = childNodeEntries.remove(nodeName, index); + } if (entry != null) { notifyNodeRemoved(entry); } @@ -397,8 +409,11 @@ public class NodeState extends ItemState * @return true if the specified child node entry was found * in the list of child node entries and could be removed. */ - public synchronized boolean removeChildNodeEntry(NodeId id) { - ChildNodeEntry entry = childNodeEntries.remove(id); + public boolean removeChildNodeEntry(NodeId id) { + ChildNodeEntry entry = null; + synchronized (this) { + entry = childNodeEntries.remove(id); + } if (entry != null) { notifyNodeRemoved(entry); } @@ -408,8 +423,10 @@ public class NodeState extends ItemState /** * Removes all ChildNodeEntrys. */ - public synchronized void removeAllChildNodeEntries() { - childNodeEntries.removeAll(); + public void removeAllChildNodeEntries() { + synchronized (this) { + childNodeEntries.removeAll(); + } notifyNodesReplaced(); } @@ -419,15 +436,16 @@ public class NodeState extends ItemState * @param nodeEntries list of {@link ChildNodeEntry} or * a {@link ChildNodeEntries} list. */ - public synchronized void setChildNodeEntries(List nodeEntries) { - if (nodeEntries instanceof ChildNodeEntries) { - // optimization - ChildNodeEntries entries = (ChildNodeEntries) nodeEntries; - childNodeEntries = (ChildNodeEntries) entries.clone(); - } else { - childNodeEntries.removeAll(); - childNodeEntries.addAll(nodeEntries); - + public void setChildNodeEntries(List nodeEntries) { + synchronized (this) { + if (nodeEntries instanceof ChildNodeEntries) { + // optimization + ChildNodeEntries entries = (ChildNodeEntries) nodeEntries; + childNodeEntries = (ChildNodeEntries) entries.clone(); + } else { + childNodeEntries.removeAll(); + childNodeEntries.addAll(nodeEntries); + } } notifyNodesReplaced(); }