On Sun, Jul 13, 2008 at 3:14 AM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:
> On Thursday 05 June 2008 16:32, j16sdiz at freenetproject.org wrote:
>> Author: j16sdiz
>> Date: 2008-06-05 15:32:27 +0000 (Thu, 05 Jun 2008)
>> New Revision: 20221
>>
>> Modified:
>>
> branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
>> Log:
>> newer and better resize scheme:-
>>  - does not deadlock
>>  - read entries in batch
>>
>>
>> Modified:
> branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
>> ===================================================================
>> ---
> branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
> 2008-06-05 15:32:00 UTC (rev 20220)
>> +++
> branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
> 2008-06-05 15:32:27 UTC (rev 20221)
> ...
>> -
>> +             private boolean resolveOldEntry(Entry entry) {
>> +                     if (!lockDigestedKey(entry.getDigestedRoutingKey(), 
>> false))
>> +                             return false;
>> +                     try {
>>                               entry.setStoreSize(storeSize);
>> +                             long[] offsets = entry.getOffset();
>>
>> -                             long[] newOffset = entry.getOffset();
>> +                             // Check for occupied entry with same key
>> +                             for (long offset : offsets) {
>> +                                     try {
>> +                                             if (!isFree(offset)
>> +                                                             && 
>> Arrays.equals(getDigestedKeyFromOffset(offset),
> entry.getDigestedRoutingKey())) {
>> +                                                     writeEntry(entry, 
>> offset);      // overwrite, don't update key count
>> +                                                     return true;
>
> Why do we need to write here, if it's already been written?
>

already fixed r20911.

Reply via email to