Author: toad
Date: 2009-01-28 17:22:00 +0000 (Wed, 28 Jan 2009)
New Revision: 25352
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
mustWait is meaningless, and ignored by callers. Log an error if metadata is
already resolved, and don't insert it. Log at minor if already started insert
for metadata.
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2009-01-28 17:17:00 UTC (rev 25351)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2009-01-28 17:22:00 UTC (rev 25352)
@@ -701,18 +701,22 @@
* @throws InsertException
* @throws IOException
*/
- private boolean resolve(MetadataUnresolvedException e, ObjectContainer
container, ClientContext context) throws InsertException, IOException {
+ private void resolve(MetadataUnresolvedException e, ObjectContainer
container, ClientContext context) throws InsertException, IOException {
Metadata[] metas = e.mustResolve;
- boolean mustWait = false;
if(persistent())
container.activate(metadataPuttersByMetadata, 2);
for(int i=0;i<metas.length;i++) {
Metadata m = metas[i];
- if(!m.isResolved())
- mustWait = true;
synchronized(this) {
- if(metadataPuttersByMetadata.containsKey(m))
continue;
+ if(metadataPuttersByMetadata.containsKey(m)) {
+ if(logMINOR) Logger.minor(this,
"Already started insert for "+m+" in resolve() for "+metas.length+"
Metadata's");
+ continue;
+ }
}
+ if(m.isResolved()) {
+ Logger.error(this, "Already resolved: "+m+" in
resolve() - race condition???");
+ continue;
+ }
try {
Bucket b =
m.toBucket(context.getBucketFactory(persistent()));
@@ -730,7 +734,6 @@
}
if(persistent())
container.store(metadataPuttersByMetadata);
- return mustWait;
}
private void namesToByteArrays(HashMap putHandlersByName, HashMap
namesToByteArrays, ObjectContainer container) {
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs