locked
Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted. RRS feed

  • Question

  • Hello,

     

    we've just patched two SharePoint 2010 test environments to the August 2011 Cumulative Update (build 14.0.6109.5002), and now every hour we get the following error in the "Manage Problems and Solutions" page:

    Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted.

     

    When checking the number of UPSA-related timer jobs, we always see 13 (on all farms).

    When clicking on "Repair this automatically", the error disappears, but then reappears the next hour.

    One of the test farms is single-server (SP and SQL on same machine), the other test farm consists of three machines (SP FE, SP BE and SQL).

     

    Is this a regression with the UPSA ? Is it a false-positive ?

     

    Thanks and regards,

    RM

    Monday, September 12, 2011 8:25 AM

Answers

  • Hello,

    This issue is now fixed and this fix will be rolled into Oct 2011 CU. The fixed build version is 14.0.6112.5000


    Please remember to click 'Mark as Answer' on the post that helps you or click 'Unmark as Answer' if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    Regards,
    Nishant Shah
    Microsoft Online Community Support
    • Marked as answer by Nishant - MSFT Wednesday, October 5, 2011 8:31 AM
    Wednesday, October 5, 2011 8:31 AM
  • Ok, some newer info:

    Under the Microsoft.Office.Server.UserProfiles.dll, Microsoft.Office.Server.Administration namespace, UserProfileApplicationJob class, there's a new derived type: the UserProfileADImportJob. So indeed this is the new job type that was added with the CU.

    I've also checked the Repair() method, which calls an InstallJobs() method. Now this second method seems to have been also changed with the new CU, meaning that in the past, it would check for all job types and install the missing ones. But the new version only checks for the UserProfileADImportJob! Apparently, if other jobs were to be missing, these would be skipped.

    Could someone from Microsoft please have a look at this and let us know what we should do ?

     

    Cheers !


    Actually the InstallJobs() method installs all but the UserProfileADImportJob.  See: http://sharepoint.nauplius.net/2011/09/after-installing-august-2011-cumulative.html

    http://sharepoint.nauplius.net
    • Marked as answer by Seven M Friday, September 23, 2011 3:48 AM
    Tuesday, September 20, 2011 4:39 AM

All replies

  • Well, I'm sorry to say that I don't have a solution for you, but I wanted to second having the exact same problem.

    I have the Microsoft Supplied Demo (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21099) and have successfully patched to SP1 and all current CU for all SP and Web Apps.

    I had a variety of issues surrounding the fact that some web services are running using the Network Service identity (no access to template folder for example) that have been fixed.

    I also had to fix the User Profile Application (also currently running under Network Service) not having access to the SQL folder.

    That seem to remove errors and I did a full User Profile Sync and success.

    But, just like you, it the error comes back in Central Admin.  Using Fix Automatically works for a moment before the CA warning comes back.

     

    Maybe it is because the Network Service identity is being used?  (just a guess).

     

    Steve


    Steve Reardon
    Monday, September 12, 2011 1:12 PM
  • Hi and thanks for your reply.

     

    Given that these are test farms, the least-privilege model is not implemented. On both farms, the User Profile service runs under the farm account, which is domain and local admin. The farms are also located in separate domains. So I do not think that permissions are an issue.

    Moreover, this error was never present until now (both farms are about 1 year old). This error message only appeared since the August 2011 CU, and no changes were done to accounts or permissions.

     

    I've dealt with numerous SharePoint issues in the past, but I'm posting this one here because IMHO there's no way that anyone who installed the August 2011 CU did not notice it on their test environments.

     

    Cheers !

    Monday, September 12, 2011 4:41 PM
  • Hi,

    Please create a new user profile service applicaiton in your test farms if it is acceptable.

    And here is a relevant article:

    http://programming4.us/enterprise/3066.aspx

    Regards,

    Seven

    Tuesday, September 13, 2011 7:38 AM
  • Hi,

     

    may I ask why a generic article about SharePoint 2010 Health Rules is relevant to the issue described above ? From what I see, there's only the name of the error message in the list in that article which matches the title of this thread.

    Unfortunately, rebuilding the UPSA is not an option (especially without a solid reason), because we're using several custom properties linked to additional fields in AD. There would have to be re-created on the new UPSA.

     

     

    Cheers !


    Tuesday, September 13, 2011 8:28 AM
  • I just finished upgrading a SharePoint 2010 enterprise Farm to SP1 and the AUG 2011 CU  and I am now seeing the same message.  

    The scedualed profile syncs work and a manual sync works.

    The monitor alert does not add the Red or Yellow banner at the top of Central Admin like some monitoring messagers.

    I also would like to know if this is a bug

    Tuesday, September 13, 2011 5:14 PM
  • I have the same problem.

    I see the error message "Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted." since I updated the SharePoint to Aug 2011 CU.

    Wednesday, September 14, 2011 11:56 AM
  • Hello Rares,

    I am seeing same issue since updating my dev farm to August 2011 CU. Is this a bug, or do we delete user profile service application, and start with a new one? Any ideas? I can't take chance and update our production until I get more info on why this is happening.

    Thanks

     

    Wednesday, September 14, 2011 3:07 PM
  • Hello Sorenzz,

     

    this is exactly what I've asked in my original post: Is this a regression with the UPSA ? Is it a false-positive ?

    We should deploy the August CU in order to resolve at least one older bug, but I'm not willing to take any chances unless we get a confirmation that it's OK to proceed. Deleting the UPSA and creating a new one is not an option for us, and I personally do not think it will help anyway since we get the same issue on a "vanilla" farm as well.

     

    Cheers !

    Wednesday, September 14, 2011 4:50 PM
  • It would be nice to know which two timer jobs it thinks are missing.
    Wednesday, September 14, 2011 5:35 PM
  • Get-SPTimerJob | Where {$_.Name -like "*User Profile*" -or $_.Name -like "*-userprofile*"} is showing 17 Jobs in my Farm  and the number is same on another Farm with SP1 June2011 CU.

     


    pratap
    Wednesday, September 14, 2011 10:27 PM
  • Same experience here. This cumulative update seemed to have wrecked my UPSA and had to recreate the service application to resolve the issues when working within the UPSA. But it didn't resolve the error in the health analyzer. As noted before, recreating the USPA is not very ideal. Does any one have any tips/resources for being able to rebuild the UPS without losing any of the related user profile information, configurations and related databases? Thanks!
    http://www.henryong.com

    • Edited by Henry Ong Thursday, September 15, 2011 12:35 AM
    Thursday, September 15, 2011 12:22 AM
  • Get-SPTimerJob | Where {$_.Name -like "*User Profile*" -or $_.Name -like "*-userprofile*"} is showing 17 Jobs in my Farm  and the number is same on another Farm with SP1 June2011 CU.

     


    pratap

    Hi Pratap,

     

    you're right, there are 17 jobs in total - 13 contianing "User Profile" and 4 containing "-userprofile". I was only counting the former.

     

    I started to look a bit for what TheDillon asked - what does it actually think it's wrong ?

    In namespace Microsoft.Office.Server.Administration there's an internal class UserProfileInstalledJobsHealthRule. This contains a Check() and a Repair() method. I'll have a look at these. Maybe something IS wrong with the farm, and we were never aware of it.

     

    Cheers !

    Thursday, September 15, 2011 9:02 AM
  • So I dumped the list of timer jobs, ran the repair so the alert is no longer showing, and re-ran the dump of timer jobs.  They are the same.  So, the repair doesn't seem to fix what the alert thinks is wrong.

    Has anyone seen issues with the UPA because of this alert?  I can still do imports, can still view and edit profiles, people can still get to their profiles.  Unless this timer job has to do with some sort of clean up that we can't test, I'm not seeing any problem.

     


    • Edited by TheDillon Thursday, September 15, 2011 12:52 PM
    Thursday, September 15, 2011 12:45 PM
  • I have done the same thing listed the timer jobs, ran the repair, (the alert cgoes away) no change to the timer jobs, and the alert comes back the next time the health check runs.

    I have this on 2 differnat farms, always after the Aug 2001 CU's are applied.

    Thursday, September 15, 2011 12:58 PM
  • Just for giggles, I cranked up the logs to verbose and manually ran the health check.  Here are the results:

    Running the health check gives you these results:

    1.  UserProfileInstalledJobsHealthRule.Check - missing job 'Microsoft.Office.Server.UserProfiles.ADImport.UserProfileADImportJob' for UserProfileApp <our UPA>
    2.  Finished invoking the Check() method.  The rule Failed.
    3.  Automatic repair is not possible for this error.
    4.  The SharePoint Helth Analyzer detected an error.  Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted.  A required timer job for a User Profile Application or User Profile Application Proxy is missing.  The repair action will recreate missing timer jobs required for the User Profile Application or User Profile Application Proxy. For more information about this rule, see "http://go.microsoft.com/fwlink/?LinkID=159660".

    (I didn't misspell "Helth" in line 4, that's how it is in the log.)

    Then I ran the auto-repair and got this in the logs:

    1.  Finished invoking the Check() method.  The rule Failed.
    2.  Automatic repair is being attempted.
    3.  The automatic repair Succeeded.
    4.  The SharePoint Health Analyzer found and fixed the following problem: Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted.

     

     


    • Edited by TheDillon Thursday, September 15, 2011 4:35 PM
    Thursday, September 15, 2011 4:29 PM
  • when the health checkruns again on its or if you manaully run the health check does it error again?
    Thursday, September 15, 2011 4:35 PM
  • Both.  If you wait an hour, it will re-error, or if you run the check again manually it will show the error.

     

    Thursday, September 15, 2011 4:37 PM
  • LOL  thats what i am experiancing, it says it fixes it but then it says its broke.

     

    Thursday, September 15, 2011 4:46 PM
  • This really looks like the intent was to add a new timer job to the UPA in the August CU.  MSoft got it in there, got the health check for it, then for some reason pulled the timer job from the CU, but didn't pull the health check.

     

    Thursday, September 15, 2011 4:58 PM
  • I've checked what the Check() method should do: it verifies that all defined user profile timer job types are present inside the UPSA timer job collection, and the same again for the proxy association. Pretty straightforward.

    I also saw the UserProfileADImportJob listed there. I'll check tomorrow if the staging farm (not yet updated to the August CU) has this type defined., and do an overall comparison between test and staging.

     

    Cheers !

    Thursday, September 15, 2011 5:29 PM
  • Ok, some newer info:

    Under the Microsoft.Office.Server.UserProfiles.dll, Microsoft.Office.Server.Administration namespace, UserProfileApplicationJob class, there's a new derived type: the UserProfileADImportJob. So indeed this is the new job type that was added with the CU.

    I've also checked the Repair() method, which calls an InstallJobs() method. Now this second method seems to have been also changed with the new CU, meaning that in the past, it would check for all job types and install the missing ones. But the new version only checks for the UserProfileADImportJob! Apparently, if other jobs were to be missing, these would be skipped.

    Could someone from Microsoft please have a look at this and let us know what we should do ?

     

    Cheers !

    Friday, September 16, 2011 7:27 AM
  • Very nice work tracking this down.  My 'fix' is going to be to change the job from hourly to monthly and, hopefully, it will be addressed in the next CU.

    Bryce

     


    Bryce
    Friday, September 16, 2011 8:47 PM
  • Just upgraded my test environment with August CU and I am seeing the same message in the Health Analyzer.   The fixup does not resolve this.  Hope they can address this soon.

    Tuesday, September 20, 2011 4:21 AM
  • Ok, some newer info:

    Under the Microsoft.Office.Server.UserProfiles.dll, Microsoft.Office.Server.Administration namespace, UserProfileApplicationJob class, there's a new derived type: the UserProfileADImportJob. So indeed this is the new job type that was added with the CU.

    I've also checked the Repair() method, which calls an InstallJobs() method. Now this second method seems to have been also changed with the new CU, meaning that in the past, it would check for all job types and install the missing ones. But the new version only checks for the UserProfileADImportJob! Apparently, if other jobs were to be missing, these would be skipped.

    Could someone from Microsoft please have a look at this and let us know what we should do ?

     

    Cheers !


    Actually the InstallJobs() method installs all but the UserProfileADImportJob.  See: http://sharepoint.nauplius.net/2011/09/after-installing-august-2011-cumulative.html

    http://sharepoint.nauplius.net
    • Marked as answer by Seven M Friday, September 23, 2011 3:48 AM
    Tuesday, September 20, 2011 4:39 AM
  • Sorry, I misread that line, you're absolutely correct. Indeed, it installs anything BUT the UserProfileADImportJob, which is exactly what we see in reality.

    So is it safe to deploy on production, or shall we skip this CU and wait for the next one ?

    Tuesday, September 20, 2011 4:47 PM
  • It is safe to deploy.  I've sent this to a SE at Microsoft and asked it to be filed as a bug.  August CU fixes a couple of issues in the June CU.

    I don't know if you noticed, but in Microsoft.Office.Server.UserProfiles.ADImport.Constants, it looks like they're changing things around for SharePoint Online.


    http://sharepoint.nauplius.net
    Tuesday, September 20, 2011 4:57 PM
  • Hello,

    This issue is now fixed and this fix will be rolled into Oct 2011 CU. The fixed build version is 14.0.6112.5000


    Please remember to click 'Mark as Answer' on the post that helps you or click 'Unmark as Answer' if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    Regards,
    Nishant Shah
    Microsoft Online Community Support
    • Marked as answer by Nishant - MSFT Wednesday, October 5, 2011 8:31 AM
    Wednesday, October 5, 2011 8:31 AM
  • you know how lazy we are ... where's the link? :)
    dw
    Friday, October 21, 2011 5:22 PM
  • October CU isn't out yet.
    http://sharepoint.nauplius.net
    Friday, October 21, 2011 5:23 PM
  • Confirming that this issue is indeed fixed in the October CU.  The Health Check was changed to ignore the UserProfileADImportJob:

     

    public override SPHealthCheckStatus Check()
    {
        SPHealthCheckStatus passed = SPHealthCheckStatus.Passed;
        if (UserProfileService.Service != null)
        {
            foreach (UserProfileApplication application in UserProfileService.Service.Applications)
            {
                foreach (Type type in UserProfileApplicationJob.Types)
                {
                    if ((type != typeof(UserProfileADImportJob)) && !application.JobExists(type))
                    {
    
     
    
    


     



    http://sharepoint.nauplius.net
    Saturday, October 29, 2011 3:36 PM