[Search] fix: add and delete (#94438)

[search] fix: add and delete from index
This commit is contained in:
Scott Lepper 2024-10-08 16:17:31 -04:00 committed by GitHub
parent 2d0ea60017
commit a3764ebeba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 10 deletions

View File

@ -87,7 +87,12 @@ func (i *Index) Index(ctx context.Context, data *Data) error {
if err != nil {
return err
}
err = shard.index.Index(res.Metadata.Uid, data.Value.Value)
var jsonDoc interface{}
err = json.Unmarshal(data.Value.Value, &jsonDoc)
if err != nil {
return err
}
err = shard.index.Index(res.Metadata.Uid, jsonDoc)
if err != nil {
return err
}

View File

@ -139,14 +139,9 @@ func (f *indexWatchServer) Add(we *WatchEvent) error {
}
func (f *indexWatchServer) Delete(we *WatchEvent) error {
// TODO: this seems flakey. Does a delete have a Resource or Previous?
// both cases have happened ( maybe because Georges pr was reverted )
rs := we.Resource
if rs == nil {
rs = we.Previous
}
if rs == nil {
return errors.New("resource not found")
rs, err := resource(we)
if err != nil {
return err
}
data, err := getData(rs)
if err != nil {
@ -160,7 +155,11 @@ func (f *indexWatchServer) Delete(we *WatchEvent) error {
}
func (f *indexWatchServer) Update(we *WatchEvent) error {
data, err := getData(we.Resource)
rs, err := resource(we)
if err != nil {
return err
}
data, err := getData(rs)
if err != nil {
return err
}
@ -208,3 +207,15 @@ func getData(wr *WatchEvent_Resource) (*Data, error) {
}
return &Data{Key: key, Value: value, Uid: r.Metadata.Uid}, nil
}
func resource(we *WatchEvent) (*WatchEvent_Resource, error) {
rs := we.Resource
if rs == nil || len(rs.Value) == 0 {
// for updates/deletes
rs = we.Previous
}
if rs == nil || len(rs.Value) == 0 {
return nil, errors.New("resource not found")
}
return rs, nil
}