reimplement push_down_filter to remove global-state
#4365
Merged
push_down_filter to remove global-state
#4365