diff --git a/htroot/yacy/transferRWI.java b/htroot/yacy/transferRWI.java index 9c868b087..92e0d3c66 100644 --- a/htroot/yacy/transferRWI.java +++ b/htroot/yacy/transferRWI.java @@ -37,11 +37,9 @@ import net.yacy.cora.protocol.HeaderFramework; import net.yacy.cora.protocol.RequestHeader; import net.yacy.cora.storage.HandleSet; import net.yacy.kelondro.data.meta.URIMetadataRow; -import net.yacy.kelondro.data.word.WordReference; import net.yacy.kelondro.data.word.WordReferenceRow; import net.yacy.kelondro.index.RowHandleSet; import net.yacy.kelondro.logging.Log; -import net.yacy.kelondro.rwi.IndexCell; import net.yacy.kelondro.util.FileUtils; import net.yacy.peers.EventChannel; import net.yacy.peers.Network; @@ -159,7 +157,6 @@ public final class transferRWI { int received = 0; int blocked = 0; int receivedURL = 0; - final IndexCell cell = sb.index.termIndex(); int count = 0; while (it.hasNext()) { serverCore.checkInterruption(); @@ -196,7 +193,7 @@ public final class transferRWI { // learn entry try { - cell.add(wordHash.getBytes(), iEntry); + sb.index.storeRWI(wordHash.getBytes(), iEntry); } catch (final Exception e) { Log.logException(e); } diff --git a/source/de/anomic/data/WorkTables.java b/source/de/anomic/data/WorkTables.java index 83eed31af..ef21ac917 100644 --- a/source/de/anomic/data/WorkTables.java +++ b/source/de/anomic/data/WorkTables.java @@ -302,8 +302,10 @@ public class WorkTables extends Tables { public void failURLsRegisterMissingWord(IndexCell indexCell, final DigestURI url, HandleSet queryHashes, final String reason) { // remove words from index - for (final byte[] word: queryHashes) { - indexCell.removeDelayed(word, url.hash()); + if (indexCell != null) { + for (final byte[] word: queryHashes) { + indexCell.removeDelayed(word, url.hash()); + } } // insert information about changed url into database diff --git a/source/net/yacy/peers/Protocol.java b/source/net/yacy/peers/Protocol.java index 4f37c4b01..3ee64eed6 100644 --- a/source/net/yacy/peers/Protocol.java +++ b/source/net/yacy/peers/Protocol.java @@ -852,7 +852,7 @@ public final class Protocol // insert the containers to the index for ( final ReferenceContainer c : container ) { try { - event.getQuery().getSegment().termIndex().add(c); + event.getQuery().getSegment().storeRWI(c); } catch ( final Exception e ) { Log.logException(e); } diff --git a/source/net/yacy/peers/dht/Dispatcher.java b/source/net/yacy/peers/dht/Dispatcher.java index 7a1722e43..f0b332884 100644 --- a/source/net/yacy/peers/dht/Dispatcher.java +++ b/source/net/yacy/peers/dht/Dispatcher.java @@ -433,7 +433,7 @@ public class Dispatcher { if (this.transmissionCloud != null) { outerLoop: for (final Map.Entry e : this.transmissionCloud.entrySet()) { for (final ReferenceContainer i : e.getValue()) try { - this.segment.termIndex().add(i); + this.segment.storeRWI(i); } catch (final Exception e1) { Log.logException(e1); break outerLoop; diff --git a/source/net/yacy/peers/dht/Transmission.java b/source/net/yacy/peers/dht/Transmission.java index db514b030..96b44e212 100644 --- a/source/net/yacy/peers/dht/Transmission.java +++ b/source/net/yacy/peers/dht/Transmission.java @@ -142,7 +142,7 @@ public class Transmission { for (final byte[] b : selected) container.removeReference(b); // put container back try { - Transmission.this.segment.termIndex().add(container); + Transmission.this.segment.storeRWI(container); } catch (final Exception e) { Log.logException(e); } @@ -161,7 +161,7 @@ public class Transmission { if (remaining <= 0) { // No space left in this chunk try { - Transmission.this.segment.termIndex().add(container); + Transmission.this.segment.storeRWI(container); } catch (final Exception e) { Log.logException(e); } @@ -304,7 +304,7 @@ public class Transmission { public void restore() { for (final ReferenceContainer ic : this) try { - Transmission.this.segment.termIndex().add(ic); + Transmission.this.segment.storeRWI(ic); } catch (final Exception e) { Log.logException(e); } diff --git a/source/net/yacy/search/index/Segment.java b/source/net/yacy/search/index/Segment.java index 05a98d3bc..a94dae56b 100644 --- a/source/net/yacy/search/index/Segment.java +++ b/source/net/yacy/search/index/Segment.java @@ -331,6 +331,14 @@ public class Segment { return language; } + public void storeRWI(final ReferenceContainer wordContainer) throws IOException, SpaceExceededException { + if (this.termIndex != null) this.termIndex.add(wordContainer); + } + + public void storeRWI(final byte[] termHash, final WordReference entry) throws IOException, SpaceExceededException { + if (this.termIndex != null) this.termIndex.add(termHash, entry); + } + public URIMetadata storeDocument( final DigestURI url, final DigestURI referrerURL,