Clarity

 View Only
  • 1.  Gantt chart issues in 15.1

    Posted Nov 15, 2016 05:28 AM

    Hi,

     

    When we are assigning a resource to particular task using gantt chart it is not assigning resource to that task. After clicking on save the assigned resource will be blank.

     

    I am seeing the below error in the logs. Can you let me know how to fix this.

     

    Also i have verified the database end but there are no values in the niku.PRJ_GANTT_EDITS for that particular project.

     

     

    ERROR 2016-11-15 04:06:02,099 [ajp-nio-127.0.0.1-8010-exec-2] service.WBSService (clarity:q3KS71NW:16321934__BF53E4B7-6CB6-4453-A69A-DEE623A2DB2C:odata.WBSService.saveEditFast) Unable to save pending edits to database.

    com.niku.union.persistence.PersistenceException:

    SQL error code: 2601

    Error message: [CA Clarity][SQLServer JDBC Driver][SQLServer]Cannot insert duplicate key row in object 'niku.PRJ_GANTT_EDITS' with unique index 'PRJ_GANTT_EDITS_U1'. The duplicate key value is (6704789, 5298986, 0).

    SQL error code: 3621

    Error message: [CA Clarity][SQLServer JDBC Driver][SQLServer]The statement has been terminated.

    Executed:

    insert into prj_gantt_edits (project_id, tentative_id, user_id, edits, created_date, created_by,  last_updated_date, last_updated_by)

             values(?,?,?,?,?,?,?,?)

    Derived from statement:

    <?xml version="1.0" encoding="UTF-8"?>

    <statement sortColumnPath="/data/header/sortInfo/@sortColumn" sortDirectionPath="/data/header/sortInfo/@sortDirection" slicePath="/data/header/pagination/sliceInfo/@slice" sliceSizePath="/data/header/pagination/sliceInfo/@sliceSize" inputSource="map" xmlns="http://schemas.niku.com/2002/pmd">

      <sql dbVendor="all">

        <text>

             insert into prj_gantt_edits (project_id, tentative_id, user_id, edits, created_date, created_by,  last_updated_date, last_updated_by)

             values(?,?,?,?,?,?,?,?)

           </text>

        <param name="projectId" type="int" direction="IN" expressionListDelimiter=","/>

        <param name="tentativeId" type="int" direction="IN" expressionListDelimiter=","/>

        <param replace="userId" direction="IN" expressionListDelimiter=","/>

        <param name="edits" type="clob" direction="IN" expressionListDelimiter=","/>

        <param replace="timestamp" direction="IN" expressionListDelimiter=","/>

        <param replace="userId" direction="IN" expressionListDelimiter=","/>

        <param replace="timestamp" direction="IN" expressionListDelimiter=","/>

        <param replace="userId" direction="IN" expressionListDelimiter=","/>

      </sql>

    </statement>

     

    Referenced by:

    <?xml version="1.0" encoding="UTF-8"?>

    <statementRef id="projmgr.insertGanttPendingEdit_nested_0" inputSource="map" inputMapIndex="0" sortColumnPath="/data/header/sortInfo/@sortColumn" sortDirectionPath="/data/header/sortInfo/@sortDirection" slicePath="/data/header/pagination/sliceInfo/@slice" sliceSizePath="/data/header/pagination/sliceInfo/@sliceSize" defaultSliceSize="20" ignoreIfError="false" hideResultSets="false" xmlns="http://schemas.niku.com/2002/pmd"/>

     

    Using input:

    {tentativeId=0, edits=<?xml version="1.0" encoding="UTF-8"?>

    <edits count="1">

      <task assigned_resources_caption="XXXXX" odf_pk="7081770"/>

    </edits>

    , projectId=6704789}

     

                    at com.niku.union.persistence.PersistenceController.createException(PersistenceController.java:2083)

                    at com.niku.union.persistence.PersistenceController.handleSQLException(PersistenceController.java:2187)

                    at com.niku.union.persistence.PersistenceController.processSql(PersistenceController.java:2821)

                    at com.niku.union.persistence.PersistenceController.processStatement(PersistenceController.java:867)

                    at com.niku.union.persistence.PersistenceController.processStatements(PersistenceController.java:767)

                    at com.niku.union.persistence.PersistenceController.doProcessRequest(PersistenceController.java:575)

                    at com.niku.union.persistence.PersistenceController.processRequest(PersistenceController.java:305)

                    at com.niku.union.persistence.PersistenceConversation.process(PersistenceConversation.java:472)

                    at com.niku.projmgr.service.WBSServiceImpl.saveEdit(WBSServiceImpl.java:839)

                    at com.niku.projmgr.service.WBSServiceImpl.saveEdit(WBSServiceImpl.java:692)

                    at com.niku.projmgr.service.WBSServiceImpl.saveEditFast(WBSServiceImpl.java:571)

                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                    at java.lang.reflect.Method.invoke(Method.java:498)

                    at com.ca.platform.osf.object.odata.ClarityODataProducer.callJavaFunction(ClarityODataProducer.java:1435)

                    at com.ca.platform.osf.object.odata.ClarityODataProducer.callFunction(ClarityODataProducer.java:1279)

                    at com.ca.platform.osf.object.odata.producer.FunctionResource.callFunction(FunctionResource.java:150)

                    at com.ca.platform.osf.object.odata.producer.EntitiesRequestResource.createEntity(EntitiesRequestResource.java:123)

                    at sun.reflect.GeneratedMethodAccessor173.invoke(Unknown Source)

                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                    at java.lang.reflect.Method.invoke(Method.java:498)

                    at org.restlet.ext.jaxrs.internal.wrappers.AbstractMethodWrapper.internalInvoke(AbstractMethodWrapper.java:162)

                    at org.restlet.ext.jaxrs.internal.wrappers.ResourceMethod.invoke(ResourceMethod.java:283)

                    at org.restlet.ext.jaxrs.JaxRsRestlet.invokeMethod(JaxRsRestlet.java:996)

                    at org.restlet.ext.jaxrs.JaxRsRestlet.handle(JaxRsRestlet.java:745)

                    at org.restlet.routing.Filter.doHandle(Filter.java:150)

                    at org.restlet.routing.Filter.handle(Filter.java:197)

                    at org.restlet.routing.Filter.doHandle(Filter.java:150)

                    at org.restlet.routing.Filter.handle(Filter.java:197)

                    at org.restlet.routing.Filter.doHandle(Filter.java:150)

                    at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140)

                    at org.restlet.routing.Filter.handle(Filter.java:197)

                    at org.restlet.routing.Filter.doHandle(Filter.java:150)

                    at org.restlet.routing.Filter.handle(Filter.java:197)

                    at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)

                    at org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:75)

                    at org.restlet.Application.handle(Application.java:385)

                    at org.restlet.routing.Filter.doHandle(Filter.java:150)

                    at org.restlet.routing.Filter.handle(Filter.java:197)

                    at org.restlet.routing.Router.doHandle(Router.java:422)

                    at org.restlet.routing.Router.handle(Router.java:639)

                    at org.restlet.routing.Filter.doHandle(Filter.java:150)

                    at org.restlet.routing.Filter.handle(Filter.java:197)

                    at org.restlet.routing.Router.doHandle(Router.java:422)

                    at org.restlet.routing.Router.handle(Router.java:639)

                    at org.restlet.routing.Filter.doHandle(Filter.java:150)

                    at org.restlet.routing.Filter.handle(Filter.java:197)

                    at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)

                    at org.restlet.Component.handle(Component.java:408)

                    at org.restlet.Server.handle(Server.java:507)

                    at org.restlet.engine.connector.ServerHelper.handle(ServerHelper.java:63)

                    at org.restlet.engine.adapter.HttpServerHelper.handle(HttpServerHelper.java:143)

                    at com.ca.platform.osf.object.odata.ClarityODataServletHelper.handle(ClarityODataServletHelper.java:267)

                    at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1117)

                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

                    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

                    at com.niku.union.web.filter.ResponseHeaders.doFilter(ResponseHeaders.java:62)

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

                    at com.niku.union.web.filter.ClarityContentFilter.doFilter(ClarityContentFilter.java:153)

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

                    at com.niku.union.web.filter.XSSFilter.doFilter(XSSFilter.java:86)

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

                    at com.niku.union.web.filter.TenantSetupFilter.doFilter(TenantSetupFilter.java:50)

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

                    at com.niku.union.web.filter.CharsetFilter.doFilter(CharsetFilter.java:45)

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

                    at org.apache.catalina.filters.AddDefaultCharsetFilter.doFilter(AddDefaultCharsetFilter.java:88)

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)

                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

                    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

                    at com.niku.union.web.valves.ErrorPageRedirectValve.invoke(ErrorPageRedirectValve.java:63)

                    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)

                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

                    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)

                    at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:868)

                    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)

                    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)

                    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)

                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

                    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

                    at java.lang.Thread.run(Thread.java:745)

    Caused by: java.sql.SQLIntegrityConstraintViolationException: [CA Clarity][SQLServer JDBC Driver][SQLServer]Cannot insert duplicate key row in object 'niku.PRJ_GANTT_EDITS' with unique index 'PRJ_GANTT_EDITS_U1'. The duplicate key value is (6704789, 5298986, 0).

                    at com.ca.clarity.jdbc.sqlserverbase.ddcw.b(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.ddcw.a(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.ddcv.b(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.ddcv.a(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserver.tds.ddr.v(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserver.tds.ddr.a(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserver.tds.ddq.a(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserver.tds.ddr.a(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserver.dda3.m(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.dde7.e(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.dde7.a(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.ddd2.a(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.dde7.x(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.dde7.t(Unknown Source)

                    at com.ca.clarity.jdbc.sqlserverbase.ddd2.execute(Unknown Source)

                    at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)

                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                    at java.lang.reflect.Method.invoke(Method.java:498)

                    at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:68)

                    at org.logicalcobwebs.cglib.proxy.Proxy$ProxyImpl$$EnhancerByCGLIB$$72ec1831.execute(<generated>)

                    at com.niku.union.persistence.jdbc.SQLTracePreparedStatement.execute(SQLTracePreparedStatement.java:109)

                    at com.niku.union.persistence.PersistenceController.processSql(PersistenceController.java:2783)

                    ... 92 more

    WARN  2016-11-15 04:08:30,586 [ajp-nio-127.0.0.1-8010-exec-2] uif.VXMLImages (clarity:q3KS71NW:16321934__BF53E4B7-6CB6-4453-A69A-DEE623A2DB2C:projmgr.taskProperties) VXML Image "null" not found in VXMLImages map. Please add or change VXML to use the constant!

     

     

     

     

     



  • 2.  Re: Gantt chart issues in 15.1

    Posted Nov 18, 2016 03:29 PM

    Hi Puneeth, 

     

    Can you please go through this below URL and check if you are following the Best Practices that are mentioned here, while editing from PPM Gantt?

    How to Edit Tasks - CA PPM - 14.2 - CA Technologies Documentation 

    In case that helps. 

     

    Thanks,

    Abhisek Dhar



  • 3.  Re: Gantt chart issues in 15.1

    Posted Nov 18, 2016 03:38 PM

    Hi Puneeth, 

     

    I also reviewed the logs that you provided. The 'PersistenceException' part of the error message indicates that the is a problem with the Load Balancer. 


    Please have a check with the version of your Load Balancer that is being used in your affected PPM instance.
    If you are using an older version of Load balancer, then workaround would be to add the jvmRoute to the jvmParameter.

     

    Thanks,

    Abhisek Dhar



  • 4.  Re: Gantt chart issues in 15.1

    Posted Nov 22, 2016 08:35 AM

    Hi Abhisek,

     

    Thanks for finding the root cause of this one. Can you let me know where to add the jvmroute, whether this belongs to \clarity\tomcat-app-deploy\conf folder or any other folder we need to add the jvmroute.



  • 5.  Re: Gantt chart issues in 15.1

    Posted Nov 22, 2016 02:54 PM

    I think there has been a misunderstanding.

     

    Persistence here is not in reference to 'sessions' (ala sticky session settings), but simply any interaction with a 'persistent storage' (i.e. database is persistent, in-app memory is not).  So this does not have any indicator of being a load balancer problem.

     

    Note that a transaction rollback when the error occurred may prevent you from finding the records that caused the problem in the table(s) afterward (and before the records are committed, before or during the error, you would not necessarily see them then either).

     

    In this particular instance I would suggest, if you are able, to open a support ticket to get it looked into.



  • 6.  Re: Gantt chart issues in 15.1

    Posted Nov 22, 2016 03:17 PM

    Nick,

    CA Case has been already opened for this issue: 00605199 and we are yet to receive resolution from CA .



  • 7.  Re: Gantt chart issues in 15.1

    Posted Nov 22, 2016 03:29 PM

    Ok, that's good the case is opened.  Thank you.