[asterisk-bugs] [JIRA] (ASTERISK-28858) Realtime linear queues losing the order of agents

Kevin Harwell (JIRA) noreply at issues.asterisk.org
Tue Apr 28 16:21:25 CDT 2020


    [ https://issues.asterisk.org/jira/browse/ASTERISK-28858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=250573#comment-250573 ] 

Kevin Harwell commented on ASTERISK-28858:
------------------------------------------

When using a linear (as used here) strategy items from the database get added to an internal list in the order received (or returned from the database). However, they are not sorted unless they already are in the database, or returned by the database as such.

In this case it appears some of your database records were updated (or removed and re-added) between calls to "show queue". In your example specifically the first, and third records.

>From first "show" (236 & 226 are at the beginning):
{noformat}
236 (Local/AG-000-NFR-16324 at fromotherpbx/n from Custom:236-14687) (ringinuse enabled) (realtime) (Not in use) has taken no calls yet
...
226 (Local/AG-002-NFR-17993 at fromotherpbx/n from Custom:226-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
...
{noformat}
>From second "show" (226 & 236 are at the end):
{noformat}
...
226 (Local/AG-000-NFR-17993 at fromotherpbx/n from Custom:226-14687) (ringinuse enabled) (realtime) (Not in use) has taken no calls yet
236 (Local/AG-002-NFR-16324 at fromotherpbx/n from Custom:236-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
{noformat}
Note between the two how the interfaces have swapped. My guess is these records either now exist at the end of the table in the database, or the data is ordered somehow by prior to returning to put these at the end (like by last change date or something).

> Realtime linear queues losing the order of agents
> -------------------------------------------------
>
>                 Key: ASTERISK-28858
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28858
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 16.9.0
>         Environment: Asterisk 16.9.0 on CentOS 7 64bit, realtime configuration on MySQL 5.7
>            Reporter: Leandro Dardini
>            Severity: Minor
>
> I have a system with several queues in a realtime configuration, using MySQL 5.7 as backend database. After restarting asterisk, for a limited amount of time, the ordering of the agents is perfect. As far as I know, the ordering of agents is made based on the device name, so agents are named as following, starting from AG-000 to AG-021
> {quote}
> asterisk -rx 'queue show 3641'
> 3641 has 0 calls (max unlimited) in 'linear' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0%, SL2:0.0% within 30s
>    Members:
>       236 (Local/AG-000-NFR-16324 at fromotherpbx/n from Custom:236-14687) (ringinuse enabled) (realtime) (Not in use) has taken no calls yet
>       232 (Local/AG-001-NFR-16348 at fromotherpbx/n from Custom:232-14687) (ringinuse enabled) (realtime) (Not in use) has taken no calls yet
>       226 (Local/AG-002-NFR-17993 at fromotherpbx/n from Custom:226-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       234 (Local/AG-003-NFR-16340 at fromotherpbx/n from Custom:234-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       206 (Local/AG-004-NFR-16332 at fromotherpbx/n from Custom:206-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       210 (Local/AG-005-NFR-16300 at fromotherpbx/n from Custom:210-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       211 (Local/AG-006-NFR-16356 at fromotherpbx/n from Custom:211-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       213 (Local/AG-007-NFR-16412 at fromotherpbx/n from Custom:213-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       215 (Local/AG-008-NFR-16372 at fromotherpbx/n from Custom:215-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       217 (Local/AG-009-NFR-16380 at fromotherpbx/n from Custom:217-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       218 (Local/AG-010-NFR-16404 at fromotherpbx/n from Custom:218-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       219 (Local/AG-011-NFR-16388 at fromotherpbx/n from Custom:219-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       220 (Local/AG-012-NFR-16396 at fromotherpbx/n from Custom:220-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       224 (Local/AG-013-NFR-16428 at fromotherpbx/n from Custom:224-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       230 (Local/AG-014-NFR-16308 at fromotherpbx/n from Custom:230-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       231 (Local/AG-015-NFR-16364 at fromotherpbx/n from Custom:231-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       238 (Local/AG-016-NFR-16444 at fromotherpbx/n from Custom:238-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       240 (Local/AG-017-NFR-16316 at fromotherpbx/n from Custom:240-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       241 (Local/AG-018-NFR-16420 at fromotherpbx/n from Custom:241-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       243 (Local/AG-019-NFR-16460 at fromotherpbx/n from Custom:243-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       246 (Local/AG-020-NFR-16292 at fromotherpbx/n from Custom:246-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       205 (Local/AG-021-NFR-16452 at fromotherpbx/n from Custom:205-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>    No Callers
> {quote}
> After a few hours, even if there was no call processed in the queue, the ordering is lost. The only activity in the queue is a "queue show" command run every minute.
> {quote}
> asterisk -rx 'queue show 3641'
> 3641 has 0 calls (max unlimited) in 'linear' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0%, SL2:0.0% within 30s
>    Members: 
>       232 (Local/AG-001-NFR-16348 at fromotherpbx/n from Custom:232-14687) (ringinuse enabled) (realtime) (Not in use) has taken no calls yet
>       234 (Local/AG-003-NFR-16340 at fromotherpbx/n from Custom:234-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       206 (Local/AG-004-NFR-16332 at fromotherpbx/n from Custom:206-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       210 (Local/AG-005-NFR-16300 at fromotherpbx/n from Custom:210-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       211 (Local/AG-006-NFR-16356 at fromotherpbx/n from Custom:211-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       213 (Local/AG-007-NFR-16412 at fromotherpbx/n from Custom:213-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       215 (Local/AG-008-NFR-16372 at fromotherpbx/n from Custom:215-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       217 (Local/AG-009-NFR-16380 at fromotherpbx/n from Custom:217-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       218 (Local/AG-010-NFR-16404 at fromotherpbx/n from Custom:218-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       219 (Local/AG-011-NFR-16388 at fromotherpbx/n from Custom:219-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       220 (Local/AG-012-NFR-16396 at fromotherpbx/n from Custom:220-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       224 (Local/AG-013-NFR-16428 at fromotherpbx/n from Custom:224-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       230 (Local/AG-014-NFR-16308 at fromotherpbx/n from Custom:230-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       231 (Local/AG-015-NFR-16364 at fromotherpbx/n from Custom:231-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       238 (Local/AG-016-NFR-16444 at fromotherpbx/n from Custom:238-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       240 (Local/AG-017-NFR-16316 at fromotherpbx/n from Custom:240-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       241 (Local/AG-018-NFR-16420 at fromotherpbx/n from Custom:241-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (In use) has taken no calls yet
>       243 (Local/AG-019-NFR-16460 at fromotherpbx/n from Custom:243-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       246 (Local/AG-020-NFR-16292 at fromotherpbx/n from Custom:246-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       205 (Local/AG-021-NFR-16452 at fromotherpbx/n from Custom:205-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>       226 (Local/AG-000-NFR-17993 at fromotherpbx/n from Custom:226-14687) (ringinuse enabled) (realtime) (Not in use) has taken no calls yet
>       236 (Local/AG-002-NFR-16324 at fromotherpbx/n from Custom:236-14687) (ringinuse enabled) (realtime) (paused was 0 secs ago) (Not in use) has taken no calls yet
>    No Callers
> {quote}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list