Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - WRP

Pages: [1] 2 3 4
1
We have not (that I'm aware of) added any timeout logic. And again, the query works from the MySQL CLI client. Would it help if we sent you our config files directly?

2
The result returns just short of 1.2 million results. We have 3072 MB of memory allocated to QM (-Xms3072M -Xmx3072M).

I increased both of the memory settings to 5120M and restarted queuemetrics but saw the same error message when generating the custom report.

3
I tried your two recommendations but they unfortunately didn't work. I:

1. recreated the indexes for the tables being queried
2. added 'enableQueryTimeout=true' to the JDBC_URL setting in web.xml

I enabled slow query logging with MySQL and found this to be (at least one of) the slow queries:

Quote
SELECT `time_id` , `call_id` , `queue` , `agent` , `verb` , `data1` , `data2` , `data3` , `data4` , `data5` , `unique_row_count`   FROM queue_log  WHERE  `partition` ='P001' AND        (`time_id` >= '1325433600' AND `time_id`<= '1357672768' )  AND `queue` IN ( '', 'NONE'  , 'q-301'  , '3000'  , '3012'  , '3011'  , '3010'  , 'none'  , '3003'  , '3200'  , '3009'  , 'q-300'  , '3008' )   ORDER BY `time_id` ASC , `unique_row_count` ASC;


If I run this command from the MySQL CLI client, it completes after about 25-30 seconds. When I run the custom report, it dies consistently after about 37 seconds.

In case it is of any use, here is our JDBC_URL value:
Quote
jdbc:mysql://localhost/queuemetrics?sessionVariables=sql_mode=''&amp;autoReconnect=true&amp;zeroDateTimeBehavior=convertToNull&amp;jdbcCompliantTruncation=false&amp;user=queuemetrics&amp;password=[removed]&amp;socketTimeout=0&amp;enableQueryTimeouts=false

What else can we try to remedy this issue? Thanks.



4
That did it. Thank you!

5
How would we go about fixing these corrupted indexes in the case of the QM database?

As I recall, we ran into a slow query issue a number of years ago. The solution, which you provided, ultimately had to do with optimizing the tables every week or so.

6
We would appreciate any support that you can provide!

7
We receive the following error in QM when generating a large custom report:

Quote
Error (tech) in class 'it.loway.app.queuemetrics.caricamento.caricaCoda'. -- Inner Exception -- - Exception: it.loway.tpf.common.exceptions.TechException - - Stack trace: - Problem on DB: Database error: - -- Inner Exception -- - Exception: com.mysql.jdbc.CommunicationsException - Error: - Communications link failure due to underlying exception: - - ** BEGIN NESTED EXCEPTION ** - - java.io.EOFException - MESSAGE: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. - - STACKTRACE: - - java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. - at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997) - at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2411) - at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916) - at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) - at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) - at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) - at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) - at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232) - at it.loway.tpf.SQL.selectScalare(SQL.java:318) - at it.loway.app.queuemetrics.caricamento.caricaCoda.runDataAnalysis(caricaCoda.java:408) - at it.loway.app.queuemetrics.caricamento.caricaCoda.doRun(caricaCoda.java:83) - at it.loway.tpf.transaction.servlets.LowayTransactionController.runVerb(LowayTransactionController.java:276) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequest(LowayTransactionController.java:566) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequestWrapper(LowayTransactionController.java:387) - at it.loway.tpf.transaction.servlets.LowayTransactionController.doPost(LowayTransactionController.java:238) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) - at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) - at java.lang.Thread.run(Thread.java:662) - - - ** END NESTED EXCEPTION ** - - - - Last packet sent to the server was 3 ms ago. - Stack trace: - com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: - - ** BEGIN NESTED EXCEPTION ** - - java.io.EOFException - MESSAGE: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. - - STACKTRACE: - - java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. - at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997) - at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2411) - at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916) - at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) - at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) - at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) - at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) - at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232) - at it.loway.tpf.SQL.selectScalare(SQL.java:318) - at it.loway.app.queuemetrics.caricamento.caricaCoda.runDataAnalysis(caricaCoda.java:408) - at it.loway.app.queuemetrics.caricamento.caricaCoda.doRun(caricaCoda.java:83) - at it.loway.tpf.transaction.servlets.LowayTransactionController.runVerb(LowayTransactionController.java:276) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequest(LowayTransactionController.java:566) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequestWrapper(LowayTransactionController.java:387) - at it.loway.tpf.transaction.servlets.LowayTransactionController.doPost(LowayTransactionController.java:238) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) - at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) - at java.lang.Thread.run(Thread.java:662) - - - ** END NESTED EXCEPTION ** - - - - Last packet sent to the server was 3 ms ago. - at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2622) - at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916) - at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) - at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) - at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) - at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) - at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232) - at it.loway.tpf.SQL.selectScalare(SQL.java:318) - at it.loway.app.queuemetrics.caricamento.caricaCoda.runDataAnalysis(caricaCoda.java:408) - at it.loway.app.queuemetrics.caricamento.caricaCoda.doRun(caricaCoda.java:83) - at it.loway.tpf.transaction.servlets.LowayTransactionController.runVerb(LowayTransactionController.java:276) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequest(LowayTransactionController.java:566) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequestWrapper(LowayTransactionController.java:387) - at it.loway.tpf.transaction.servlets.LowayTransactionController.doPost(LowayTransactionController.java:238) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) - at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) - at java.lang.Thread.run(Thread.java:662) - -- End Inner Exception -- - - When running: SELECT announcement_duration FROM code_possibili WHERE id_coda = '40' - at it.loway.tpf.SQL.selectScalare(SQL.java:327) - at it.loway.app.queuemetrics.caricamento.caricaCoda.runDataAnalysis(caricaCoda.java:408) - at it.loway.app.queuemetrics.caricamento.caricaCoda.doRun(caricaCoda.java:83) - at it.loway.tpf.transaction.servlets.LowayTransactionController.runVerb(LowayTransactionController.java:276) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequest(LowayTransactionController.java:566) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequestWrapper(LowayTransactionController.java:387) - at it.loway.tpf.transaction.servlets.LowayTransactionController.doPost(LowayTransactionController.java:238) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) - at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) - at java.lang.Thread.run(Thread.java:662) - -- End Inner Exception -- -

We have tried adding "socketTimeout=0" to the JDBC_URL setting in WEB-INF/web.xml, but this hasn't helped.

8
This didn't help. When I tried running the command you provided, I got the following error:

Code: [Select]
mysql> ALTER TABLE `qa_forms_items_attr` CHANGE `attr_type` `attr_type` SET( 'rule', 'weight', 'shortcut', 'extrascore' ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL;
ERROR 1054 (42S22): Unknown column 'attr_type' in 'qa_forms_items_attr'

I also captured this, in case it is of help to you:

Code: [Select]
mysql> describe qa_forms_items_attr;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(11)      | YES  |     | NULL    |       |
| data  | varchar(100) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> describe code_possibili;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    127
Current database: queuemetrics

+-----------------------+----------------------------+------+-----+---------------------+----------------+
| Field                 | Type                       | Null | Key | Default             | Extra          |
+-----------------------+----------------------------+------+-----+---------------------+----------------+
| id_coda               | int(11)                    | NO   | PRI | NULL                | auto_increment |
| nome_coda             | varchar(50)                | NO   |     |                     |                |
| composizione_coda     | text                       | NO   | MUL | NULL                |                |
| agenti_membri         | text                       | NO   |     | NULL                |                |
| agenti_spilloff_1     | text                       | NO   |     | NULL                |                |
| agenti_spilloff_2     | text                       | NO   |     | NULL                |                |
| wrapuptime            | int(11)                    | NO   |     | 0                   |                |
| announcement_duration | int(11)                    | NO   |     | 0                   |                |
| visibility_key        | varchar(50)                | NO   |     |                     |                |
| q_direction           | enum('inbound','outbound') | NO   |     | inbound             |                |
| q_frontpage           | tinyint(4)                 | NO   |     | 1                   |                |
| sl_calls_y            | varchar(20)                | NO   |     |                     |                |
| sl_calls_r            | varchar(20)                | NO   |     |                     |                |
| sl_ag_calls_y         | varchar(20)                | NO   |     |                     |                |
| sl_ag_calls_r         | varchar(20)                | NO   |     |                     |                |
| sl_ag_wait_y          | varchar(20)                | NO   |     |                     |                |
| sl_ag_wait_r          | varchar(20)                | NO   |     |                     |                |
| sl_ag_pause_y         | varchar(20)                | NO   |     |                     |                |
| sl_ag_pause_r         | varchar(20)                | NO   |     |                     |                |
| sl_waittime_y         | varchar(20)                | NO   |     |                     |                |
| sl_waittime_r         | varchar(20)                | NO   |     |                     |                |
| sl_talktime_y         | varchar(20)                | NO   |     |                     |                |
| sl_talktime_r         | varchar(20)                | NO   |     |                     |                |
| sys_dt_creazione      | datetime                   | NO   |     | 0000-00-00 00:00:00 |                |
| sys_user_creazione    | int(11)                    | NO   |     | 0                   |                |
| sys_dt_modifica       | datetime                   | NO   |     | 0000-00-00 00:00:00 |                |
| sys_user_modifica     | int(11)                    | NO   |     | 0                   |                |
| sys_optilock          | int(11)                    | NO   |     | 0                   |                |
| chat_group            | varchar(50)                | NO   |     | NULL                |                |
| agaw_lookback_min     | int(11)                    | NO   |     | NULL                |                |
| agaw_enabled          | tinyint(4)                 | NO   |     | NULL                |                |
| queue_url             | varchar(100)               | NO   |     | NULL                |                |
+-----------------------+----------------------------+------+-----+---------------------+----------------+
32 rows in set (0.02 sec)

We are completing this update via yum.

9
I tried upgrading to the latest version of queuemetrics but am encountering errors when trying to upgrade the database. Upon visiting the 'dbtest' site, I'm prompted to upgrade the database. I go through the steps but once they are complete I am asked to upgrade again and again.

Here is the initial error that I get that indicates that we need to upgrade the database:

Quote
Java Error: Error DB: Database error: -- Inner Exception -- Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException Error: Unknown column 'report_to' in 'field list' Stack trace: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'report_to' in 'field list' at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232) at it.loway.tpf.SQL.selectContext(SQL.java:617) at it.loway.app.queuemetrics.jdbcTester.jdbcTester.checkDbTable(jdbcTester.java:324) at it.loway.app.queuemetrics.jdbcTester.jdbcTester.testJdbcConn(jdbcTester.java:223) at it.loway.app.queuemetrics.jdbcTester.dbtestWizard.CheckDatabase(dbtestWizard.java:65) at it.loway.app.queuemetrics.jdbcTester.dbtestWizard.EvaluateCurrentStep(dbtestWizard.java:119) at it.loway.app.queuemetrics.jdbcTester.dbtestWizard.doRun(dbtestWizard.java:204) at it.loway.tpf.transaction.servlets.LowayTransactionController.runVerb(LowayTransactionController.java:279) at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequest(LowayTransactionController.java:571) at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequestWrapper(LowayTransactionController.java:390) at it.loway.tpf.transaction.servlets.LowayTransactionController.doGet(LowayTransactionController.java:234) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) -- End Inner Exception -- When running: SELECT #CAMPI# FROM code_possibili LIMIT 1 The required database table 'code_possibili' is missing some fields. Are you updating from a previous version of QM?

There is one strange screen during the upgrade process. It indicates that the upgrade was successful, but then shows that there was in fact an error. Perhaps it is of use:



10
Is there an option that allows us to have the qloaders active at the same time?

11
The part that mainly concerns me is this (from the documentation):

"Agent names must be unique throughout the call center; that is, you cannot have an Agent/101 work- ing on Asterisk server A and another Agent/101 working on Asterisk server B, as their data would be mixed and it would be quite hard to tell who did what."

Since our failover server has the same agents on it as the primary, I'm concerned that queue member join/leave activity on the failover server could potentially confuse QM.

12
What is the best way to configure QM to deal with an asterisk primary server and failover server deployment scenario. We were going to have each server write to the same partition, but I'm concerned that the state of the failover server (which has the exact same queues and agents) could conflict with the primary server.

Our main concern is: when our secondary, failover PBX comes up, make the transition look transparent in QM. In other words, if the asterisk master dies and calls start routing to the second, let QM accurately show the secondary state, and then the primary once it comes back up.

Best approach?

13
For future readers, the verb is "CALLOUTBOUND". Two "L"s.

Thanks for the help QueueMetrics!

14
As I understand the spec, that would fix it.

15
QueueMetrics: I'd appreciate a response to my previous post.

We are coming up on our license renewal. Yes, we'll likely renew either way, but it would be nice to get the feeling that your support department is taking care of us.

Pages: [1] 2 3 4