Merge pull request #157 from safing/feature/delete-empty-filterlist-update-entries

Delete filterlist entry if update has no sources
This commit is contained in:
Daniel 2020-09-25 10:25:37 +02:00 committed by GitHub
commit 991d3eb7ba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -197,6 +197,7 @@ func normalizeEntry(entry *listEntry) {
func processEntry(ctx context.Context, filter *scopedBloom, entry *listEntry, records chan<- record.Record) error {
normalizeEntry(entry)
// Only add the entry to the bloom filter if it has any sources.
if len(entry.Sources) > 0 {
filter.add(entry.Type, entry.Entity)
}
@ -208,6 +209,12 @@ func processEntry(ctx context.Context, filter *scopedBloom, entry *listEntry, re
UpdatedAt: time.Now().Unix(),
}
// If the entry is a "delete" update, actually delete it to save space.
if entry.Whitelist {
r.CreateMeta()
r.Meta().Delete()
}
key := makeListCacheKey(strings.ToLower(r.Type), r.Value)
r.SetKey(key)