Author: toad
Date: 2009-04-09 13:07:52 +0000 (Thu, 09 Apr 2009)
New Revision: 26674
Modified:
trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
trunk/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java
Log:
No recentSuccesses for inserts. Fixes NPE in selecting inserts. :|
Modified: trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java 2009-04-09 10:19:17 UTC (rev 26673)
+++ trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java 2009-04-09 13:07:52 UTC (rev 26674)
@@ -498,7 +498,7 @@
* FIXME: Only replaces persistent requests with persistent requests (of similar priority and retry count), or transient with transient.
* Probably this is acceptable.
*/
- if(!req.persistent()) {
+ if(!req.persistent() && !isInsertScheduler) {
List recent = schedTransient.recentSuccesses;
SendableRequest altReq = null;
if(!recent.isEmpty()) {
@@ -526,7 +526,7 @@
recent.add(altReq);
}
}
- } else {
+ } else if(!isInsertScheduler) {
RandomGrabArray altRGA = null;
synchronized(recentSuccesses) {
if(!(recentSuccesses.isEmpty() || random.nextBoolean())) {
Modified: trunk/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java 2009-04-09 10:19:17 UTC (rev 26673)
+++ trunk/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java 2009-04-09 13:07:52 UTC (rev 26674)
@@ -26,7 +26,10 @@
ClientRequestSchedulerNonPersistent(ClientRequestScheduler sched, boolean forInserts, boolean forSSKs) {
super(forInserts, forSSKs);
this.sched = sched;
- recentSuccesses = new LinkedList<BaseSendableGet>();
+ if(!forInserts)
+ recentSuccesses = new LinkedList<BaseSendableGet>();
+ else
+ recentSuccesses = null;
logMINOR = Logger.shouldLog(Logger.MINOR, this);
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.