-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider adding max_task_lifetime to force retire a task #291
Comments
This is a neat idea, especially in conjunction with the notion in #290 about clients being able to define tasks. We might think of a client sending task parameters to aggregators as implying the client's consent to those parameters, so having tasks expire and thus requiring clients to periodically re-affirm their consent to participate in a task is interesting. |
I filed #299 forgetting about this issue. I think we should do this, and more see this as a minimum amount of time the aggregators must hang onto task-related data before feeling free to start discarding things. |
I'm writing a PR for this feature, I realised there are two things this issue is trying to cover:
For 1. If we send task parameters to client for transparency, then client SHOULD check this timestamp before sending any queries to aggregators. To prevent malicious client from sending data to out of date task, aggregators should check the timestamp on these endpoint too. But this brings a lot of other issues: clock screw between client and aggregator, and clock screw between aggregators. On the collector side, aggregator cannot reject collect queries since the collect flow is asynchronous. Especially for interval based query and max_batch_lifetime > 1, collector may query a batch after the task itself is no longer active. Based on the current draft text, I agree with @chris-wood that |
Addressing issue ietf-wg-ppm#291: ietf-wg-ppm#291
Addressing issue ietf-wg-ppm#291: ietf-wg-ppm#291
Addressing issue ietf-wg-ppm#291: ietf-wg-ppm#291
The current spec doesn't explain how to retire or delete a task. For some use cases, it's useful to have a hard task deadline, when expired, the task and all its aggregations must be made inactive and eventually deleted. This can be a new Duration type task parameter called
max_task_lifetime
, ormax_task_duration
to avoid similar named but int typedmax_batch_lifetime
.Other than the practical benefit, for clients that uploads repeatedly and periodically, this can add privacy benefit to limit the number of uploads from the same client to the same task (related to #210).
PS. I feel like "lifetime" is more appropriate for a deadline than a max allowed count.
The text was updated successfully, but these errors were encountered: