Author: toad
Date: 2008-10-29 20:26:50 +0000 (Wed, 29 Oct 2008)
New Revision: 23193
Modified:
branches/db4o/freenet/src/freenet/support/RandomGrabArray.java
Log:
Fix reqs[x.y] = null error, logging.
Modified: branches/db4o/freenet/src/freenet/support/RandomGrabArray.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/RandomGrabArray.java
2008-10-29 20:26:09 UTC (rev 23192)
+++ branches/db4o/freenet/src/freenet/support/RandomGrabArray.java
2008-10-29 20:26:50 UTC (rev 23193)
@@ -72,7 +72,7 @@
Logger.error(this, "Block "+i+" of
"+blocks.length+" is wrong size: "+block.reqs.length+" should be "+BLOCK_SIZE);
}
for(int j=0;j<block.reqs.length;j++) {
- if(x > index) break;
+ if(x >= index) break;
if(block.reqs[j] == req) {
if(logMINOR) Logger.minor(this,
"Already contains "+req+" : "+this+" size now "+index);
if(persistent)
container.deactivate(block, 1);
@@ -87,6 +87,8 @@
}
int oldBlockLen = blocks.length;
if(blocks.length <= targetBlock) {
+ if(logMINOR)
+ Logger.minor(this, "Adding blocks on
"+this);
Block[] newBlocks = new Block[targetBlock + 1];
System.arraycopy(blocks, 0, newBlocks, 0,
blocks.length);
for(int i=blocks.length;i<newBlocks.length;i++)
{
@@ -295,6 +297,8 @@
} else if(blocks.length > 1 &&
(((index + (BLOCK_SIZE/2)) /
BLOCK_SIZE) + 1) <
blocks.length) {
+ if(logMINOR)
+ Logger.minor(this, "Shrinking
blocks on "+this);
Block[] newBlocks = new Block[((index +
(BLOCK_SIZE/2)) / BLOCK_SIZE) + 1];
System.arraycopy(blocks, 0, newBlocks,
0, newBlocks.length);
if(persistent) {