Hi folks,
I was reading in the source about callnum and wondering: what is the purpose of callnum?
Is it a security feature, or just a way to maintain write operation order?
It looks like Koji writes a new callnum integer to the database for every authenticated RPC, even if that RPC is only doing a read-only operation like getBuild.
- Ken
Hi folks,
Could we remove callnum from Koji Hub? It would make the protocol simpler. Currently clients authenticate new sessions very frequently, putting a lot of stress on the hub's database. It would be easier to use the Koji API if we did not have to keep track of a callnum integer (eg. https://github.com/ktdreyer/koji-ansible/issues/32)
- Ken
On Sun, Dec 16, 2018 at 8:59 PM Ken Dreyer ktdreyer@ktdreyer.com wrote:
Hi folks,
I was reading in the source about callnum and wondering: what is the purpose of callnum?
Is it a security feature, or just a way to maintain write operation order?
It looks like Koji writes a new callnum integer to the database for every authenticated RPC, even if that RPC is only doing a read-only operation like getBuild.
- Ken
(I'm sorry I missed the first email)
Callnum is part of Koji's system for keeping retries sane. If a client makes a call and gets a network error, it necessarily tell if the hub got the call or not. We would not want to retry and perform the same action twice (or ten times). Callnum keeps the client and hub in sync and ensures that the hub will raise an error rather then rerunning a duplicate call.
So, we cannot simply remove it. There are probably other ways we could solve this, but we would need to be very careful. We also need to consider older clients.
There may be ways we can make the existing situation better in some of the ways you are concerned about. However, I suspect your main concern is the difficulty of managing sessions for parallel processing.
On Tue, Feb 19, 2019 at 1:53 PM Ken Dreyer ktdreyer@ktdreyer.com wrote:
Hi folks,
Could we remove callnum from Koji Hub? It would make the protocol simpler. Currently clients authenticate new sessions very frequently, putting a lot of stress on the hub's database. It would be easier to use the Koji API if we did not have to keep track of a callnum integer (eg. https://github.com/ktdreyer/koji-ansible/issues/32)
- Ken
On Sun, Dec 16, 2018 at 8:59 PM Ken Dreyer ktdreyer@ktdreyer.com wrote:
Hi folks,
I was reading in the source about callnum and wondering: what is the purpose of callnum?
Is it a security feature, or just a way to maintain write operation
order?
It looks like Koji writes a new callnum integer to the database for every authenticated RPC, even if that RPC is only doing a read-only operation like getBuild.
- Ken
koji-devel mailing list -- koji-devel@lists.fedorahosted.org To unsubscribe send an email to koji-devel-leave@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/koji-devel@lists.fedorahosted.o...
koji-devel@lists.stg.fedorahosted.org