Trigger on update doesn't fire

Posted by balcesme on 08-May-2014 17:04

I have two objects: object A and object B. There is a relationship between these two objects. There is a "On Update" trigger on a relationship field on Object A which does some calculations. When deleting (detaching the relationship on record level) the relationship on object B, the trigger on object A does not fire. Is this as designed? Removing a relationship should fire the trigger, because the record has been updated...

The tests above are done on a private cloud installation running 2.1.0.2.

When testing it on a private cloud 2.2.0.1 installation, a "java.lang.NullPointerException" error occurs :

[2014-05-08 23:57:06,237] ===> Error in thread ajp-apr-8009-exec-8 at 05/08/2014 11:57 PM
[2014-05-08 23:57:06,237] java.lang.NullPointerException
	at com.rb.core.ui.web.cell.GridControl$GridDataSource.getTempData(GridControl.java:812)
	at com.rb.core.ui.web.cell.GridControl._x10(GridControl.java:541)
	at com.rb.core.ui.web.PageSection._x10(PageSection.java:455)
	at com.rb.core.ui.web.WebPage.appendTabbedRuntimeHTML(WebPage.java:1092)
	at com.rb.core.ui.web.WebPage.getRuntimeHTML(WebPage.java:847)
	at com.rb.core.logics.servlet.MainServlet.doGet(MainServlet.java:121)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:190)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

any idea?

All Replies

Posted by Tom Kincaid on 08-May-2014 17:12

 
I will let somebody else answer the correct behavior on the update trigger. However, on the NPE exception you are seeing on 2.2.0.1, would it be possible for your to give us a test case or the exported XML file?
 
 
[collapse]
From: balcesme [mailto:bounce-balcesme@community.progress.com]
Sent: Thursday, May 08, 2014 6:05 PM
To: TU.Rollbase@community.progress.com
Subject: Trigger on update doesn't fire
 
Thread created by balcesme

I have two objects: object A and object B. There is a relationship between these two objects. There is a "On Update" trigger on a relationship field on Object A which does some calculations. When deleting (detaching the relationship on record level) the relationship on object B, the trigger on object A does not fire. Is this as designed? Removing a relationship should fire the trigger, because the record has been updated...

The tests above are done on a private cloud installation running 2.1.0.2.

When testing it on a private cloud 2.2.0.1 installation, a "java.lang.NullPointerException" error occurs :

[2014-05-08 23:57:06,237] ===> Error in thread ajp-apr-8009-exec-8 at 05/08/2014 11:57 PM
[2014-05-08 23:57:06,237] java.lang.NullPointerException
        at com.rb.core.ui.web.cell.GridControl$GridDataSource.getTempData(GridControl.java:812)
        at com.rb.core.ui.web.cell.GridControl._x10(GridControl.java:541)
        at com.rb.core.ui.web.PageSection._x10(PageSection.java:455)
        at com.rb.core.ui.web.WebPage.appendTabbedRuntimeHTML(WebPage.java:1092)
        at com.rb.core.ui.web.WebPage.getRuntimeHTML(WebPage.java:847)
        at com.rb.core.logics.servlet.MainServlet.doGet(MainServlet.java:121)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:190)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

any idea?
Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by Laurent on 08-May-2014 17:13

Actually, depending on the relationship, the record may not be updated. Either way, can you check in events.log to see if there is any error at the time when you'd expect the trigger to run?

Posted by balcesme on 09-May-2014 11:25

Hi Laurent,

No, there is no other errors.

@tkincaid: Can i install a sample on the hosted environment, so you can test it? Are you able to login into my account there?

This thread is closed