diff options
-rw-r--r-- | searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp | 4 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp b/searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp index e8d9259ad20..a05b39a74a9 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp +++ b/searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp @@ -543,6 +543,7 @@ FieldInverter::pushDocuments() uint32_t lastDocId = 0; vespalib::stringref word; bool emptyFeatures = true; + uint32_t last_field_length = 0; _inserter.rewind(); @@ -574,12 +575,15 @@ FieldInverter::pushDocuments() lastWordPos = NO_WORD_POS; const ElemInfo &elem = _elems[i._elemRef]; _features.set_field_length(elem.get_field_length()); + last_field_length = elem.get_field_length(); } else { continue; // ignore dup remove } } else { // removes must come before non-removes assert(!i.removed()); + const ElemInfo &elem = _elems[i._elemRef]; + assert(last_field_length == elem.get_field_length()); } const ElemInfo &elem = _elems[i._elemRef]; if (i._wordPos != lastWordPos || i._elemId != lastElemId) { diff --git a/searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp b/searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp index a6bb45620e4..1f2f660b0e6 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp +++ b/searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp @@ -145,6 +145,7 @@ OrderedFieldIndexInserter<interleaved_features>::add(uint32_t docId, assert(docId != noDocId); assert(_prevDocId == noDocId || _prevDocId < docId || (_prevDocId == docId && !_prevAdd)); + assert(features.num_occs() <= features.field_length()); vespalib::datastore::EntryRef featureRef = _fieldIndex.addFeatures(features); _adds.push_back(PostingListKeyDataType(docId, PostingListEntryType(featureRef, cap_u16(features.num_occs()), |