The feeder does not purge results that where marked as "didn't need" (server_state=5,outcome=5) from the shmem array. This lead to the case where one result was unsent (and in shmem) but no client was assigned because a lot of other results for this appid where in the shmem segment but they were all in state "didn't need" and thus infeasible to be send out. The fastest way to clear this was to restart the feeder.
A better and more automatic solution would be that the feeder (or the scheduler) delete results from the shmem when it detects them as "didn't need" analogue to the detection of workunits with a non zero error_mask in the feeder. This does not have to happen often (once an hour?) as it is only really needed if there are "didn't need" results for an app.
The feeder does not purge results that where marked as "didn't need" (server_state=5,outcome=5) from the shmem array. This lead to the case where one result was unsent (and in shmem) but no client was assigned because a lot of other results for this appid where in the shmem segment but they were all in state "didn't need" and thus infeasible to be send out. The fastest way to clear this was to restart the feeder.
A better and more automatic solution would be that the feeder (or the scheduler) delete results from the shmem when it detects them as "didn't need" analogue to the detection of workunits with a non zero error_mask in the feeder. This does not have to happen often (once an hour?) as it is only really needed if there are "didn't need" results for an app.