[asterisk-bugs] [JIRA] (ASTERISK-28701) app_queue: Core reload resets queue stats, even when keepstats=yes
George Joseph (JIRA)
noreply at issues.asterisk.org
Wed Feb 19 10:03:25 CST 2020
[ https://issues.asterisk.org/jira/browse/ASTERISK-28701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=249800#comment-249800 ]
George Joseph commented on ASTERISK-28701:
------------------------------------------
[~lukeescude] The fixes should be pretty straightforward if you want to take a crack at them. :)
There are actually 2 issues here and I was able to reproduce them with a simple 2 line queues.conf file and 2 phones.
queues.conf:
{noformat}
[queue1]
member => PJSIP/1172
{noformat}
extensions.conf
{noformat}
[default]
exten = 9998,1,Queue(queue1)
{noformat}
First issue... {{queue reload all}} resets all stats when it shouldn't.
Call the queue from another phone and talk for a few seconds then...
{{queue show queue1}} should show stats for both the queue and the member.
{{core reload}} preserves the stats as it should.
{{queue reload members}} preserves the stats as it should.
{{queue reload all}} resets all the stats which it SHOULDN'T.
This is because we're using the wrong flag mask in handle_queue_reload. When "all" is specified, we pass AST_FLAGS_ALL to reload_handler but AST_FLAGS_ALL also resets the stats besides reloading. We need to pass {{AST_FLAGS_ALL & ~QUEUE_RESET_STATS}} instead.
Second issue... {{core reload}}, {{module reload app_queue.so}}, {{config reload queues.conf}} reset ALL member stats if anything in queues.conf has changed even if the change had nothing whatsoever to do with the specific queue or members. When we do a config reload, we should check to see if the member already exists and carry over the stats instead of resetting them to zero. We already carry over some data, just not the stats.
> app_queue: Core reload resets queue stats, even when keepstats=yes
> ------------------------------------------------------------------
>
> Key: ASTERISK-28701
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-28701
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Applications/app_queue
> Affects Versions: 16.7.0
> Environment: Centos 7 x64
> Reporter: Luke Escude
> Severity: Minor
>
> Hello - When keepstats=yes in queues.conf (under general), the overall stats for each queue are kept after issuing a core reload: Avg talk time, hold time, call quantity, etc.
> However, the per-agent call stats (# calls taken, last call taken) get cleared out.
> This seems to go against the purpose of the keepstats directive.
> Expected results: Keepstats would keep stats ;)
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list