Hello,
My colleague send already this messages to the scarab user
list but got no reply. Maybe someone can help me here.
we looked at the sourcecode of the "Notification
Manager" and we made the following observations:
1. If we replace line 76 of the file
NotificationStatusPeer.java the code:
catch (TorqueException e)
with the code:
catch (Exception e)
than scarab is sending some of the emails in the queue,
but not all.
2. In the logfile catalina.out (tomcatlogs) we found many
of the following entries:
[ERROR] ErrorLogger - -Job (Scarab.NotificationManagerJob
threw an exception. <org.quartz.SchedulerException: Job
threw an unhandled exception. [See nested exception:
java.lang.NullPointerException]>org.quartz.SchedulerExcep
tion: Job threw an unhandled exception. [See nested
exception: java.lang.NullPointerException]
at
org.quartz.core.JobRunShell.run(JobRunShell.java:206)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThr
eadPool.java:520)
* Nested Exception (Underlying Cause) ---------------
java.lang.NullPointerException
at
org.tigris.scarab.notification.ScarabNewNotificationManager.
sendPendingNotifications(ScarabNewNotificationManager.java:2
43)
at
org.tigris.scarab.notification.NotificationManagerJob.execut
e(NotificationManagerJob.java:78)
at
org.quartz.core.JobRunShell.run(JobRunShell.java:195)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThr
eadPool.java:520)
[ERROR] BasePeer - -getPendingNotifications():
java.lang.NullPointerException
[ERROR] JobRunShell - -Job Scarab.NotificationManagerJob
threw an unhandled Exception:
<java.lang.NullPointerException>java.lang.NullPointerE
xception
at
org.tigris.scarab.notification.ScarabNewNotificationManager.
sendPendingNotifications(ScarabNewNotificationManager.java:2
43)
at
org.tigris.scarab.notification.NotificationManagerJob.execut
e(NotificationManagerJob.java:78)
at
org.quartz.core.JobRunShell.run(JobRunShell.java:195)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThr
eadPool.java:520)
We added debug messages to the file
ScarabNewNotificationManager.java and found, that
currentNotification.getActivityType()
in these cases is null.
//Process each Notification for current Issue ...
for (Iterator it = notificationSet.iterator();
it.hasNext();)
{
NotificationStatus currentNotification =
(NotificationStatus) it.next();
ActivityType activityType =
currentNotification.getActivityType();
if (activityType == null)
{
log.debug("PEGA:: ActivityType = null");
}
3. We also looked into the database table
NOTIFICATION_STATUS, but couldn't find invalid entries
for the activity status.
Do you have any idea, what can be the reason for a value of
null for the activity type?
If there is an inconsistency in the database, how can we
find out, where it is and fix it?
Any help appriciated.
Uwe Fechner
------------------------------------------------------------
-------------------
Von: Uwe Fechner [mailto:Fechner pegasus-gmbh.com]
Gesendet: Mittwoch, 30. Januar 2008 10:39
An: users scarab.tigris.org
Betreff: Re: Scarab stopped to send eMails
Hello,
in the notification log the last entry is:
2008-01-22 09:02:23,595 [TP-Processor10] ERROR
org.tigris.scarab.notification.ScarabNewNotificationManager
- queueNotifications():
org.apache.torque.TorqueException: java.sql.SQLException:
Duplicate entry '257951-159--1234' for key 1
at
org.apache.torque.util.BasePeer.throwTorqueException(BasePee
r.java:103)
at
org.apache.torque.util.BasePeer.insertOrUpdateRecord(BasePee
r.java:626)
at
org.apache.torque.util.BasePeer.doInsert(BasePeer.java:516)
at
org.apache.torque.util.BasePeer.doInsert(BasePeer.java:425)
at
org.tigris.scarab.om.BaseNotificationStatusPeer.doInsert(Bas
eNotificationStatusPeer.java:217)
at
org.tigris.scarab.om.BaseNotificationStatusPeer.doInsert(Bas
eNotificationStatusPeer.java:194)
at
org.tigris.scarab.om.BaseNotificationStatusPeer.doInsert(Bas
eNotificationStatusPeer.java:545)
at
org.tigris.scarab.notification.ScarabNewNotificationManager.
queueNotifications(ScarabNewNotificationManager.java:155)
at
org.tigris.scarab.notification.ScarabNewNotificationManager.
addActivityNotification(ScarabNewNotificationManager.java:13
6)
at
org.tigris.scarab.actions.MoveIssue.doSaveissue(MoveIssue.ja
va:345)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
thodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.turbine.modules.actions.TemplateAction.executeEve
nts(TemplateAction.java:160)
at
org.apache.turbine.modules.ActionEvent.perform(ActionEvent.j
ava:144)
at
org.apache.turbine.modules.actions.TemplateSecureAction.perf
orm(TemplateSecureAction.java:90)
at
org.apache.turbine.modules.ActionEvent.execute(ActionEvent.j
ava:179)
at
org.apache.turbine.pipeline.DefaultActionValve.executeAction
(DefaultActionValve.java:139)
at
org.apache.turbine.pipeline.DefaultActionValve.invoke(Defaul
tActionValve.java:99)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.apache.turbine.pipeline.DefaultACLCreationValve.invoke(D
efaultACLCreationValve.java:127)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.SetLocaleValve.invoke(SetLocaleVa
lve.java:112)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.FreshenUserValve.invoke(FreshenUs
erValve.java:189)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.apache.turbine.pipeline.DefaultSessionValidationValve.in
voke(DefaultSessionValidationValve.java:131)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.apache.turbine.pipeline.DefaultLoginValve.invoke(Default
LoginValve.java:109)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.AnonymousLoginValve.invoke(Anonym
ousLoginValve.java:63)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.NTLMLoginValve.invoke(NTLMLoginVa
lve.java:70)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.apache.turbine.pipeline.DefaultSessionTimeoutValve.invok
e(DefaultSessionTimeoutValve.java:121)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.DetermineTargetValve.invoke(Deter
mineTargetValve.java:138)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.apache.turbine.pipeline.DetermineActionValve.invoke(Dete
rmineActionValve.java:107)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.SetInfoMessageValve.invoke(SetInf
oMessageValve.java:85)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.ResetCacheValve.invoke(ResetCache
Valve.java:77)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.DetermineCharsetValve.invoke(Dete
rmineCharsetValve.java:103)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.tigris.scarab.pipeline.TimingInfoValve.invoke(TimingInfo
Valve.java:131)
at
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(Turbi
nePipeline.java:231)
at
org.apache.turbine.pipeline.TurbinePipeline.invoke(TurbinePi
peline.java:213)
at
org.apache.turbine.Turbine.doGet(Turbine.java:298)
at
org.apache.turbine.Turbine.doPost(Turbine.java:343)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFi
lter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(App
licationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(Standar
dWrapperValve.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineVa
lveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPip
eline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(Standar
dContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineVa
lveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(A
uthenticatorBase.java:494)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineVa
lveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPip
eline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardCont
ext.java:2417)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHo
stValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineVa
lveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(Error
DispatcherValve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineVa
lveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
rtValve.java:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineVa
lveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogVa
lve.java:577)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineVa
lveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPip
eline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(Standard
EngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineVa
lveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPip
eline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapte
r.java:193)
at
org.apache.coyote.http11.Http11Processor.process(Http11Proce
ssor.java:781)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand
ler.processConnection(Http11Protocol.java:549)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndp
oint.java:589)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.ru
n(ThreadPool.java:666)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Duplicate entry
'257951-159--1234' for key 1
at
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
at
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
at
com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerP
reparedStatement.java:1129)
at
com.mysql.jdbc.ServerPreparedStatement.executeInternal(Serve
rPreparedStatement.java:681)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedState
ment.java:1368)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedState
ment.java:1283)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedState
ment.java:1268)
at
com.workingdogs.village.Record.saveWithInsert(Record.java:41
0)
at
com.workingdogs.village.Record.save(Record.java:220)
at
com.workingdogs.village.Record.save(Record.java:190)
at
org.apache.torque.util.BasePeer.insertOrUpdateRecord(BasePee
r.java:622)
... 85 more
First question:
What is the meaning of "... 85 more"?
I think, the imporant entry here is:
"Duplicate entry '257951-159--1234' for key 1".
These kind of error messages we had before (about 80 times
during the last six months),
but apparently sending of mail did work before.
The other error, that can be found in our log ist:
"Data truncation: Data too long for column
'STATUS_COMMENT' at row 1"
This error is about twenty times in the log file (during
last six months).
Any idea, in which database table the "Dublicate
entry" could be found, so that we can try
to fix it manually?
I also attached a screenshot of my "Messages",
that have not been sent.
The last error message of the log file is from:
2008-01-22 09:02:23
The first message in the queue on the screenshot is from:
2008-01-22 08:55:23
Is there a connection between these two events?
All the newer messages (the last is from 2008-01-29
14:39:41.0) do not have any corresponding
entry in the notification log.
Best regards:
Uwe Fechner
------------------------------------------------------------
-------------------
Von: Jorge Uriarte Aretxaga [mailto:jorge.uriarte omelas.net]
Gesendet: Dienstag, 29. Januar 2008 16:54
An: users scarab.tigris.org
Betreff: Re: Scarab stopped to send eMails
Does notification.log hold any information?
Also... do you see any message for every "generated but
not sent" notification in the Notifications screen?
Wold you copy&pase that screen here?
_
Jorge
On 1/29/08, Uwe Fechner <Fechner pegasus-gmbh.com>
wrote:
Hello,
I have to correct myself.
The notifications are beeing generated, but not send (I
couldn't see any first, because
I was logged in as administrator).
If the notification manager tries to send the emails, but is
not successfull, would there
be an error message in any of the log files (and in which
one)?
Regards:
Uwe Fechner
------------------------------------------------------------
--------------------
Von: Jean-François El Fouly [mailto:jean-francois elfouly.nom.fr]
Gesendet: Dienstag, 29. Januar 2008 13:44
An: users scarab.tigris.org
Betreff: Re: AW: Re: Scarab stopped to send eMails
Uwe Fechner a écrit :
We did not change the scarab configuration or settings, but
suddenly no more notifications are beeing
generated.
The only thing I did was to create two new modules and to
move tickets from the old modules into the
new modules.
Do the notifications work from these new modules ?
------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribe scarab.tigris.org
For additional commands, e-mail: dev-help scarab.tigris.org
|