From: <mar...@us...> - 2010-06-29 00:18:23
|
Revision: 10963 http://wonder.svn.sourceforge.net/wonder/?rev=10963&view=rev Author: mark-ritchie Date: 2010-06-29 00:16:54 +0000 (Tue, 29 Jun 2010) Log Message: ----------- removeAllObjects() should reset _keySetCache too! This caused an obscure case where headers were sometimes not handled properly in a Wonder application. I detected this case by noticing that the headers passed to the WOA were not the same as the headers in the recordings made by WORecordingPath. This may well have caused other weird problems too. Modified Paths: -------------- trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSMutableDictionary.java Modified: trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSMutableDictionary.java =================================================================== --- trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSMutableDictionary.java 2010-06-28 21:33:42 UTC (rev 10962) +++ trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSMutableDictionary.java 2010-06-29 00:16:54 UTC (rev 10963) @@ -113,6 +113,7 @@ _objectsCache = null; _entrySetCache = null; _keysCache = null; + _keySetCache = null; _deletionLimit = _NSCollectionPrimitives.deletionLimitForTableBuckets(_hashtableBuckets); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2010-06-29 16:41:13
|
Revision: 10965 http://wonder.svn.sourceforge.net/wonder/?rev=10965&view=rev Author: mark-ritchie Date: 2010-06-29 16:41:06 +0000 (Tue, 29 Jun 2010) Log Message: ----------- Fixed two more cases where the keySet cache was not being reset properly. I am not aware of any cases where this was a problem however it could have lead to subtle troubles. Thanks to Anjo for the suggestion that these cases should be checked too. Modified Paths: -------------- trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSMutableDictionary.java Modified: trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSMutableDictionary.java =================================================================== --- trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSMutableDictionary.java 2010-06-29 15:45:52 UTC (rev 10964) +++ trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSMutableDictionary.java 2010-06-29 16:41:06 UTC (rev 10965) @@ -78,6 +78,7 @@ if (_NSCollectionPrimitives.addValueInHashTable(key, object, _keys, _objects, _flags)) { _count = count; _keysCache = null; + _keySetCache = null; } _entrySetCache = null; _objectsCache = null; @@ -99,6 +100,7 @@ _objectsCache = null; _entrySetCache = null; _keysCache = null; + _keySetCache = null; } } return (V) result; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Anjo K. <an...@kr...> - 2010-06-29 10:00:00
|
I bet dollars to doughnuts that you also need this in every other place where _entrySetCache is cleared. I really wish I could get my hands on the guy who thought that making NS* implementing java.util.* was a good idea... Cheers, Anjo Am 29.06.2010 um 02:16 schrieb mar...@us...: > _keySetCache |
From: Mark R. <mar...@ma...> - 2010-06-29 17:44:17
|
On 29/Jun/2010, at 2:59 AM, Anjo Krank wrote: > I bet dollars to doughnuts that you also need this in every other place where _entrySetCache is cleared. Yup, that would appear to be the case! I found to more cases where the cache wasn't being reset properly. Insidious little thing which could cause such havoc and appear to be very random!! Thanks for the pointer! M. |
From: Mark R. <mar...@ma...> - 2010-06-29 17:53:51
|
[Sent again as a test... Dang bounces and auto unsubscribe. :-( ] On 29/Jun/2010, at 2:59 AM, Anjo Krank wrote: > I bet dollars to doughnuts that you also need this in every other place where _entrySetCache is cleared. Yup, that would appear to be the case! I found to more cases where the cache wasn't being reset properly. Insidious little thing which could cause such havoc and appear to be very random!! Thanks for the pointer! M. |