This is a space where the community of Teamwork users can ask for support, explanations,
and also vote up or down questions, answers and feature requests.
>> Back to Teamwork's site.

We're being bombarded by multiple email alerts from teamwork - literally every 2 minumtes. we've changed all our projects to a future end date - and teamwork continues to send 'overdue emails'. We've also reset the role subscriptions to not send any email alerts - but still the emails come! Help! what can be done?

asked Oct 05 '10 at 07:25

carolyn's gravatar image

carolyn
11


Probably the cause of this problem is that you have the queue of message full, to solve your problem you should remove the content of the Teamwork table called "olpl_message".

Before removing all its rows do a backup of your Teamwork database.

if After this operation you still receive message please post here a significant part of the log file:

TEAMWORK_ROOT/webapps/ROOT/WEB-INF/log

Maybe it contains something that can help me understand your problem.

answered Oct 05 '10 at 07:59

Silvia%20Chelazzi's gravatar image

Silvia Chelazzi ♦♦
408519

Hi Silvia

I tried deleting the contents of olpl_message and it didn't work - it was better for a little while, but it's now getting worst as we go!

Which log file do you want extracts from? You can choose from: email, hibernate, i18n, jobLogger, platform, proxool and schemaHistory.

answered Oct 07 '10 at 06:09

carolyn's gravatar image

carolyn
11

Hi Silvia

Here is a sample row from the olpl_messages table:

 select * from olpl_message limit 1 \G;
*************************** 1. row ***************************
           id: 4987
      subject: worklog overflow on assignment
  messageBodx: Worklog overflow on the assignment "KITE-2/Excel Website (Requires SIGN-OFF) - Joe Spearing : 'DES'": estimated worklog is 1:00, actual is 3:27.
 fromOperator: 6
   toOperator: 8
        media: DIGEST
      lastTry: NULL
       status: NULL
numberOfTries: 0
      expires: NULL
     received: 2010-10-04 15:32:00
    lastError: NULL
         link: <a href="http://xxxxxxxxxxxx/applications/teamwork/task/taskEditor.jsp?_VP_V_ID=23534668&CM=ED&_VP_OBJ_ID=79&taskTabSet=taskTabSetTASK_ASSIGNMENT_TAB" >KITE-2/Excel Website (Requires SIGN-OFF) - Joe Spearing : 'DES'</a>

answered Oct 07 '10 at 06:32

carolyn's gravatar image

carolyn
11

If after deleting the content of the olpl_message table Teamwork continues sending you email it means that Teamwork is generating them too often. By default the job that generates messages for expired task runs once every 12 hours and the job which sends digest messages runs once a week. have you changed this value?

Please post here a part of the platform.log file.

answered Oct 07 '10 at 06:32

Silvia%20Chelazzi's gravatar image

Silvia Chelazzi ♦♦
408519

edited Oct 07 '10 at 06:36

The last block from the email log:

It says "Problem sending e-mail", but we are most definatly getting emails!

    2010 Oct 07 09:23:22 ERROR emailLogger:81 - **Problem sending e-mail**
org.jblooming.PlatformRuntimeException: Server time: 2010 10 07 09:23:22. from com.twproject.resource.Person as p where p.myself.id=:twopid
Server time: 2010 10 07 09:23:22.
The exception thrown:

        at org.jblooming.oql.OqlQuery.uniqueResult(OqlQuery.java:86)
        at com.twproject.operator.TeamworkOperator.getMyPersonFromPersistence(TeamworkOperator.java:90)
        at com.twproject.operator.TeamworkOperator.getPerson(TeamworkOperator.java:76)
        at com.twproject.operator.TeamworkOperator.getDefaultEmail(TeamworkOperator.java:185)
        at sun.reflect.GeneratedMethodAccessor227.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
        at org.jblooming.operator.Operator$$EnhancerByCGLIB$$a7b4def5.getDefaultEmail(<generated>)
        at org.jblooming.messaging.EmailMessageDispatcher.run(EmailMessageDispatcher.java:68)
        at org.jblooming.scheduler.ExecutableSupport.runAndLog(ExecutableSupport.java:22)
        at org.jblooming.scheduler.Job.run(Job.java:161)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.exception.JDBCConnectionException: could not execute query
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.loader.Loader.doList(Loader.java:2216)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
        at org.hibernate.loader.Loader.list(Loader.java:2099)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
        at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
        at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
        at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
        at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
        at org.jblooming.oql.OqlQuery.uniqueResult(OqlQuery.java:79)
        ... 17 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
        at sun.reflect.GeneratedConstructorAccessor227.newInstance(Unknown Source)
        at

answered Oct 07 '10 at 06:37

carolyn's gravatar image

carolyn
11

edited Jul 25 '11 at 08:18

Silvia%20Chelazzi's gravatar image

Silvia Chelazzi ♦♦
408519

Here is the last block from platform.log

2010 Oct 07 09:23:22 ERROR platformLogger:80 - Problem sending e-mail
org.jblooming.PlatformRuntimeException: Server time: 2010 10 07 09:23:22. from com.twproject.resource.Person as p where p.myself.id=:twopid
Server time: 2010 10 07 09:23:22.
The exception thrown:

        at org.jblooming.oql.OqlQuery.uniqueResult(OqlQuery.java:86)
        at com.twproject.operator.TeamworkOperator.getMyPersonFromPersistence(TeamworkOperator.java:90)
        at com.twproject.operator.TeamworkOperator.getPerson(TeamworkOperator.java:76)
        at com.twproject.operator.TeamworkOperator.getDefaultEmail(TeamworkOperator.java:185)
        at sun.reflect.GeneratedMethodAccessor227.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
        at org.jblooming.operator.Operator$$EnhancerByCGLIB$$a7b4def5.getDefaultEmail(<generated>)
        at org.jblooming.messaging.EmailMessageDispatcher.run(EmailMessageDispatcher.java:68)
        at org.jblooming.scheduler.ExecutableSupport.runAndLog(ExecutableSupport.java:22)
        at org.jblooming.scheduler.Job.run(Job.java:161)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.exception.JDBCConnectionException: could not execute query
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.loader.Loader.doList(Loader.java:2216)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
        at org.hibernate.loader.Loader.list(Loader.java:2099)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
        at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
        at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
        at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
        at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
        at org.jblooming.oql.OqlQuery.uniqueResult(OqlQuery.java:79)
        ... 17 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
        at sun.reflect.GeneratedConstructorAccessor227.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.Util.getInstance(Util.java:381)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
        at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1098)
        at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4076)
        at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4042)
        at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.logicalcobwebs.proxool.ProxyConnection.invoke(ProxyConnection.java:68) 
        at org.logicalcobwebs.cglib.proxy.Proxy$ProxyImpl$$EnhancerByCGLIB$$874f4b1d.prepareStatement(<generated>)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:505)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:423)
        at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
        at org.hibernate.loader.Loader.doQuery(Loader.java:673)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
        at org.hibernate.loader.Loader.doList(Loader.java:2213)
        ... 26 more
2010 Oct 07 09:23:22 ERROR platformLogger:126 - org.hibernate.exception.JDBCConnectionException: could not delete: [org.jblooming.messaging.Message#4998]
2010 Oct 07 09:23:22 ERROR platformLogger:136 - org.hibernate.TransactionException: JDBC rollback failed

answered Oct 07 '10 at 06:56

carolyn's gravatar image

carolyn
11

Hello Siliva and hello Caroyln,

we are facing the very same problem - and haven't solved it for over a year now (OK, I gave up searching a solution a couple of months ago). But now, that I see that we are not the only ones who have this kind of problem, I'll give it one more try! :-)

Symptoms are very similar to what you - Carolyn - have described above. This our platform.log has quite the same error passages, e.g. like this:


2010 Dec 28 00:48:19 ERROR emailLogger:81 - Problem sending e-mail
org.jblooming.PlatformRuntimeException: Server time: 2010 12 28 00:48:19. from com.twproject.resource.Person as p where p.myself.id=:twopid
Server time: 2010 12 28 00:48:19. 
The exception thrown:
    at org.jblooming.oql.OqlQuery.uniqueResult(OqlQuery.java:86)
    at com.twproject.operator.TeamworkOperator.getMyPersonFromPersistence(TeamworkOperator.java:90)
    at com.twproject.operator.TeamworkOperator.getPerson(TeamworkOperator.java:76)
    at com.twproject.operator.TeamworkOperator.getDefaultEmail(TeamworkOperator.java:185)
    at sun.reflect.GeneratedMethodAccessor682.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
    at org.jblooming.operator.Operator$$EnhancerByCGLIB$$59d507f4.getDefaultEmail(<generated>)
    at org.jblooming.messaging.EmailMessageDispatcher.run(EmailMessageDispatcher.java:68)
    at org.jblooming.scheduler.ExecutableSupport.runAndLog(ExecutableSupport.java:22)
    at org.jblooming.scheduler.Job.run(Job.java:161)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.exception.JDBCConnectionException: could not execute query
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    at org.hibernate.loader.Loader.doList(Loader.java:2216)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
    at org.hibernate.loader.Loader.list(Loader.java:2099)
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
    at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
    at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
    at org.jblooming.oql.OqlQuery.uniqueResult(OqlQuery.java:79)
    ... 17 more
Caused by: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed.
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:980)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
    at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1098)
    at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4076)
    at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4042)
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.logicalcobwebs.proxool.ProxyConnection.invoke(ProxyConnection.java:68)
    at org.logicalcobwebs.cglib.proxy.Proxy$ProxyImpl$$EnhancerByCGLIB$$da937545.prepareStatement(<generated>)
    at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:505)
    at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:423)
    at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
    at org.hibernate.loader.Loader.doQuery(Loader.java:673)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    at org.hibernate.loader.Loader.doList(Loader.java:2213)
    ... 26 more


What else? In table olpl_message for ALL ROWS the field status is NULL, field numberOfTries is zero and field lastError is always empty. Seems like tw sends the mails but does not write back that the message has been sucessfully processed. Clearing the table doesn't help either, after a while it will be filled again and tw starts sending messages like cray again. We also checked the log files of our smtp machine but could not find anything unusual.

ANY HELP WOULD BE HIGHLY APPRECIATED - because we are using tw with a disabled scheduler for over a year now, wich is no fun!

Thanks very much & regards, Andreas

answered Jan 06 '11 at 09:28

andreas_de's gravatar image

andreas_de
1

It seems from the log that you have more than one person associated with the same Operator, you should open your Teamwork database -> table called twk_resources and check if there is more than one row with discriminator = PERSON and with the same value in the column "myself". You should run a query like this:

SELECT myself, COUNT(*) as expr FROM twk_resource WHERE (discriminator = 'person') GROUP BY myself

post the result of your query here.

answered Jan 10 '11 at 06:50

Silvia%20Chelazzi's gravatar image

Silvia Chelazzi ♦♦
408519

edited Jan 10 '11 at 06:50

Hello Silvia,

thanks for trying! But it does not seem like there were persons with the same value in the field myself. The result of this query is this:

myself Count
    37
1   1
2   1
3   1
4   1
5   1
6   1
7   1
8   1
9   1
10  1
12  1
13  1
14  1
15  1
16  1
17  1
18  1
19  1
20  1
21  1
24  1
25  1

So there are 37 persons with an empty string in the field myself but no numerical value appears more than one time. Or should the empty strings better be NULL values? I could replace these...

Regards, Andreas

answered Jan 10 '11 at 07:29

andreas_de's gravatar image

andreas_de
1

Hi Andreas, I've tested it but I cannot find the origin of the problem :-( it seems that there is something wrong in the Teamwork database. If you are using Mysql you could send me a backup of it so I can try to help you solving this problem.

(Jan 10 '11 at 11:54) Silvia Chelazzi ♦♦

Hello,

The same problem is for us and we were unable to fix it. Here is a part of our log:

2011 Lie 15 16:44:31 FATAL platformLogger:23 - from com.twproject.resource.Person as p where p.myself.id=:twopid Server time: 2011 07 15 16:44:31. The exception thrown:

org.jblooming.PlatformRuntimeException: Server time: 2011 07 15 16:44:31. from com.twproject.resource.Person as p where p.myself.id=:twopid Server time: 2011 07 15 16:44:31. The exception thrown:

at org.jblooming.oql.OqlQuery.uniqueResult(OqlQuery.java:86)

at com.twproject.operator.TeamworkOperator.getMyPersonFromPersistence(TeamworkOperator.java:90)

answered Jul 20 '11 at 09:41

Jurate's gravatar image

Jurate
1

edited Jul 22 '11 at 09:15

Silvia%20Chelazzi's gravatar image

Silvia Chelazzi ♦♦
408519

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Tags:

×24
×1

Asked: Oct 05 '10 at 07:25

Seen: 1,062 times

Last updated: Dec 11 '11 at 06:09

| Teamwork faq | about | contact us | Teamwork blog | Teamwork documentation | feedback always welcome