Project and Portfolio Management Practitioners Forum
cancel
Showing results for 
Search instead for 
Did you mean: 

PMTMSync Service Failing

Highlighted
Cat_2
Regular Collector

PMTMSync Service Failing

Our PMTMSync service is not running and I was hoping to find a way to get it going again without restarting the App. We do get messages (like the one below) in our error logs, but HP said a while ago that those were due to cases where a project got deleted but the staffing profile did not (or something similar - its been a while). So essentially we shouldn't worry about them.

 

Suggestions? I tried running kPMTMSync.sh and it says there's no need for an update but I have projects pending an update. I also tried restarting just the services via kRunServiceManager.sh.

 

Other ideas for tracking down why its not running?

 

:smileytongue:pmLightServiceListenerContainer-2:com.kintana.services:2011/01/26-14:47:29.008 CST: Pending rollup failed for staffing profile id 30026

java.lang.NullPointerException

                at com.mercury.itg.rm.staffing.util.StaffingUtil.isStaffingProfileCollectingActuals(StaffingUtil.java:137)

                at com.mercury.itg.rm.staffing.StaffingProfilePeriodSumHelper.getStaffingProfileActualTotalFTE(StaffingProfilePeriodSumHelper.java:49)

                at com.mercury.itg.rm.staffing.StaffingProfilePeriodSum.updateStaffingProfilePeriodSumTable(StaffingProfilePeriodSum.java:55)

                at com.mercury.itg.rm.staffing.UpdateStaffProfPeriodSumService.processStaffigProfile(UpdateStaffProfPeriodSumService.java:122)

                at com.mercury.itg.rm.staffing.UpdateStaffProfPeriodSumService.updateStaffingProfilePeriodSum(UpdateStaffProfPeriodSumService.java:86)

                at com.mercury.itg.rm.staffing.UpdateStaffProfPeriodSumService.runServiceImpl(UpdateStaffProfPeriodSumService.java:51)

                at com.mercury.itg.core.server.mdServices.PluggableHibernateMDService.runService(PluggableHibernateMDService.java:37)

                at com.mercury.itg.core.jms.service.impl.GenericServiceMessageHandler.handleMessage(GenericServiceMessageHandler.java:62)

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

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

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

                at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

                at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:77)

                at com.mercury.itg.core.monitor.impl.BackgroundServiceMonitorAspect.monitorService(BackgroundServiceMonitorAspect.java:102)

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

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

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

                at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627)

                at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616)

                at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:64)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:160)

                at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

                at $Proxy63.handleMessage(Unknown Source)

                at com.mercury.itg.core.jms.service.impl.ServiceMessageListenerImpl.onServiceMessage(ServiceMessageListenerImpl.java:299)

                at com.mercury.itg.core.jms.service.impl.ServiceMessageListenerImpl.onMessage(ServiceMessageListenerImpl.java:167)

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

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

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

                at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)

                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)

                at $Proxy67.onMessage(Unknown Source)

                at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)

                at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)

                at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)

                at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)

                at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)

                at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)

                at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)

                at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)

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

3 REPLIES
Cat_2
Regular Collector

Re: PMTMSync Service Failing

This ended up being caused by a out of memory error and we're looking into a multi-node configuration now to better utilize the JVM in windows.

dirkf
Honored Contributor

Re: PMTMSync Service Failing

Hi Cat,

regardless of whether the issue is 'just' because of an orphaned SP or not, it should be looked at. You can check this yourself:

 

There is the question of whether you have an issue with the Staffing Profile with the ID 30026 in the front end or if this is only logged in the backend.

 

Please run the following to find out which Staffing Profile name is associated with the ID 30266 (as in the example; any other affected SP would also run):

 

Select * from rsc_staffing_profiles where staffing_profile_id = 30026

 

Then try to open this Staffing Profile.

 

If the Staffing Profile can be opened and the issue is only that this is being logged to the serverlog.txt, then skip the first step and go to step 2)!

 

 

 

STEP 1!

======================================================================

++Please run the following statement-

select container_entity_id from rsc_staffing_profiles where staffing_profile_id = 30026

This statement will return a <project id>

++Now run the following statement-

select * from pm_projects where project_id = <project id above>

The above query returns 0 rows.

++Correct dirty data using the following update statement-
===========================================
update rsc_staffing_profiles set container_entity_type_code=0
where staffing_profile_id = 30026
commit;
===========================================


Should the Staffing Profile return a row, please run the query in Step 2:

 

 

STEP 2:

=============================================

SELECT STAFFING_PROFILE_ID, STAFFING_PROFILE_NAME, CONTAINER_ENTITY_ID
     FROM RSC_STAFFING_PROFILES
     WHERE CONTAINER_ENTITY_TYPE_CODE = 1
           AND NOT  EXISTS (SELECT 1 FROM PM_PROJECT_TYPES WHERE PROJECT_ID = CONTAINER_ENTITY_ID);

============================================

With Step 1 you can solve the issue of having an orphaned SP. If the query doesn't return a zero and the SP does have an associate project, you should collect the data from Step 2 and create a new case with HP Support.

 

Hope this helps in the future.

 

Best regards,

Dirk

Cat_2
Regular Collector

Re: PMTMSync Service Failing

Thanks for the SQL code! I'll try it out.

//Add this to "OnDomLoad" event