(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.org