@@ -215,10 +215,10 @@ func (im *IndexManager) SeekClass(cid rdx.ID, reader pebble.Reader) iter.Seq[rdx
215215
216216func (im * IndexManager ) HandleClassUpdate (id rdx.ID , cid rdx.ID , newFieldsBody []byte ) ([]ReindexTask , error ) {
217217 newFields := classes .ParseClass (newFieldsBody )
218- return im .HandleClassUpdateParsed (id , cid , newFields )
218+ return im .HandleClassUpdateParsed (id , cid , newFields , false )
219219}
220220
221- func (im * IndexManager ) HandleClassUpdateParsed (id rdx.ID , cid rdx.ID , newFields classes.Fields ) ([]ReindexTask , error ) {
221+ func (im * IndexManager ) HandleClassUpdateParsed (id rdx.ID , cid rdx.ID , newFields classes.Fields , force bool ) ([]ReindexTask , error ) {
222222 tasks := []ReindexTask {}
223223 for i , newField := range newFields {
224224 if newField .Index == classes .HashIndex {
@@ -244,7 +244,7 @@ func (im *IndexManager) HandleClassUpdateParsed(id rdx.ID, cid rdx.ID, newFields
244244 // field just created with index, no need to reindex
245245 continue
246246 }
247- if oldFields [oldField ].Index != classes .HashIndex && newField .Index == classes .HashIndex {
247+ if oldFields [oldField ].Index != classes .HashIndex && newField .Index == classes .HashIndex || force {
248248 ReindexTaskCount .WithLabelValues (id .String (), fmt .Sprintf ("%d" , i ), "created_new_index" ).Inc ()
249249 task := & ReindexTask {
250250 State : reindexTaskStatePending ,
0 commit comments