[Opendnssec-user] ods-signer taking a very long time to complete
jerry at opendnssec.org
Wed Jul 18 06:40:54 UTC 2012
On Tue, Jul 17, 2012 at 5:10 PM, Paul Wouters <paul at nohats.ca> wrote:
> I've been trying to figure out why at times, sending an "ods-signer
> sign zonename" command seems to just hang there for extremely long
> times. I can see why the ods-signerd takes some time, but just sending
> the command over the socket should not stall for like 20+ minutes, it
> should take at most a few seconds.
What does strace say if you strace the ods-signerd process before
sending the command and look at the output when sending command?
strace -fF -s 1024 -o /tmp/strace.log -p `pgrep ods-signerd` &
ods-signer sign <zonename>
> I'm a little worried here about locks that just last 1h. If handling
> things "every hour since startup" then timings between different two signers
> can be of by quite a time. Would it perhaps make sense to make this 3600
> a configurable item so we can have ods-signerd check more frequently to
> see if there is work to be done?
Your looking at the wrong place, this is the main loop of the engine
and it does not do any work. In daemon/worker.c you have worker_work()
which gets a task to work on, if there is no task to work on right now
(can be its not time to work on them just yet) it gets the next task
to work on and waits until its time to work on it.
Also it the main loop does not lock anything for 1 hour, the condition
signal it waits for releases the lock.
More information about the Opendnssec-user