[Home]

Summary:ASTERISK-22864: Queue agent order when changing to linear strategy not correct on reload
Reporter:Scott Griepentrog (sgriepentrog)Labels:
Date Opened:2013-11-18 15:52:20.000-0600Date Closed:2013-12-10 13:02:21.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Applications/app_queue
Versions:1.8.24.0 Frequency of
Occurrence
Constant
Related
Issues:
duplicatesASTERISK-17049 [patch] Setting linear queue strategy requires asterisk restart
Environment:Attachments:
Description:Linear strategy requires that the in-memory list of agents matches the list provided in queue.conf.  However, starting Asterisk with random strategy, and then switching queue.conf to linear and reloading asterisk does not produce the correct order from queue show until Asterisk is restarted (core restart gracefully).

Sequence to reproduce:

1) Configure queue with 3 agents and random strategy:

{noformat}
[100]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=yes
autopause=no
autopausedelay=0
eventmemberstatus=yes
eventwhencalled=yes
joinempty=yes
leavewhenempty=no
maxlen=0
memberdelay=0
penaltymemberslimit=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
reportholdtime=no
retry=5
ringinuse=yes
servicelevel=60
setinterfacevar=yes
strategy=random
timeout=15
timeoutpriority=app
timeoutrestart=no
weight=0
wrapuptime=0
member=Local/201@from-queue/n,0,Test One,hint:201@ext-local
member=Local/202@from-queue/n,0,Test Two,hint:202@ext-local
member=Local/203@from-queue/n,0,Test Three,hint:203@ext-local
{noformat}

2) Result of CLI "queue show 100" is:

{noformat}
100 has 0 calls (max unlimited) in 'random' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 60s
  Members:
     Test Three (Local/203@from-queue/n) (Invalid) has taken no calls yet
     Test Two (Local/202@from-queue/n) (Invalid) has taken no calls yet
     Test One (Local/201@from-queue/n) (Invalid) has taken no calls yet
{noformat}

3) reconfigure strategy to linear and issue CLI "core reload":

{noformat}
strategy=linear
{noformat}

4) Result of CLI "queue show 100" is:

{noformat}
100 has 0 calls (max unlimited) in 'linear' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 60s
  Members:
     Test Three (Local/203@from-queue/n) (Invalid) has taken no calls yet
     Test Two (Local/202@from-queue/n) (Invalid) has taken no calls yet
     Test One (Local/201@from-queue/n) (Invalid) has taken no calls yet
{noformat}

Note that the agent order is still reversed from queue.conf

5) Issue CLI "core restart gracefully" and result of CLI "queue show 100" is:

{noformat}
100 has 0 calls (max unlimited) in 'linear' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 60s
  Members:
     Test One (Local/201@from-queue/n) (Invalid) has taken no calls yet
     Test Two (Local/202@from-queue/n) (Invalid) has taken no calls yet
     Test Three (Local/203@from-queue/n) (Invalid) has taken no calls yet
{noformat}

Note that the agent order is now matching queue.conf

This has been tested with the same results on 1.8 and 11.
Comments:By: David Woolley (davidw) 2013-11-20 05:48:53.379-0600

I thought that was a known limitation.  See ASTERISK-17049, of which I think this is a duplicate.

By: Rusty Newton (rnewton) 2013-12-09 18:23:24.617-0600

Pretty sure this is a duplicate. I'm pinging Scott (Digium dev) to verify with him.