none
Unable to delete User object in FIM Portal - Cannot find the object "#calculateRequestSetTransitionsAssembleStatementsPartition" RRS feed

  • Question

  • Hi,

    ***Problem

    I encounter a problem with FIM (version 4.1.3441.0 and 4.1.3496.0) when I try to delete a User object (and only a User object) whatever if it is manually/Expiration Workflow/Powershell.

    Deleting a User object used to be perfectly functional and, without any product version modification, stopped working. I haven't neither deleted/modified or add a "Grant" MPR or any of the corresponding Sets since last time I saw it working.

    Displayed error is "Request could not be dispatched" in FIM Portal and is referencing a stored procedure in Event Viewer.

     

    ***Error details

    When I try to delete a User object, here is the output :

    • Portal
      • "Processing error" on submit
        • with the following details 

      • Request status is stuck at "Validating" until next restart of FIM Service (after what it becomes “Canceled”)
      • Request’s “Applied Policy” tab does not contain any MPR where, at least, a “Grant” MPR is expected
        • As SQL Timeout is relatively high and error happens quickly, I don’t think there is a Timeout problem under that.


    • Logs
    • « Application »
      • The Portal cannot connect to the middle tier using the web service interface.  This failure prevents all portal scenarios from functioning correctly.

    The cause may be due to a missing or invalid server url, a downed server, or an invalid server firewall configuration.

    Ensure the portal configuration is present and points to the resource management service.

     

    •  « Forefront Identity Manager »
      • Reraised Error 50000, Level 16, State 1, Procedure ReRaiseException, Line 37, Message: Reraised Error 1088, Level 16, State 12, Procedure CalculateRequestSetTransitionsAssembleStatements, Line 332, Message: Cannot find the object "#calculateRequestSetTransitionsAssembleStatementsPartition" because it does not exist or you do not have permissions.

    Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 1, current count = 0.

     

    • Microsoft.ResourceManagement.WebServices.Exceptions.UnwillingToPerformException: Other ---> System.Data.SqlClient.SqlException: Reraised Error 50000, Level 16, State 1, Procedure ReRaiseException, Line 37, Message: Reraised Error 1088, Level 16, State 12, Procedure CalculateRequestSetTransitionsAssembleStatements, Line 332, Message: Cannot find the object "#calculateRequestSetTransitionsAssembleStatementsPartition" because it does not exist or you do not have permissions.

    Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 1, current count = 0.

       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

       at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)

       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)

       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

       at Microsoft.ResourceManagement.Data.DataAccess.UpdateRequest(RequestType request, IEnumerable`1 updates)

       --- End of inner exception stack trace ---

     

    • Requestor: urn:uuid:7fb2b853-24f0-4498-9534-4e10589723c4

    Correlation Identifier: e7209633-46d0-4f4b-a59e-807649ef71ea

    Microsoft.ResourceManagement.WebServices.Exceptions.UnwillingToPerformException: Other ---> System.InvalidCastException: Specified cast is not valid.

       at Microsoft.ResourceManagement.WebServices.RequestDispatcher.CreateRequest(UniqueIdentifier requestor, UniqueIdentifier targetIdentifier, OperationType operation, String businessJustification, List`1 requestParameters, CultureInfo locale, Boolean isChildRequest, Guid cause, Boolean doEvaluation, Nullable`1 serviceId, Nullable`1 servicePartitionId, UniqueId messageIdentifier, UniqueIdentifier requestContextIdentifier, Boolean maintenanceMode)

       at Microsoft.ResourceManagement.WebServices.RequestDispatcher.CreateRequest(UniqueIdentifier requestor, UniqueIdentifier targetIdentifier, OperationType operation, String businessJustification, List`1 requestParameters, CultureInfo locale, Boolean isChildRequest, Guid cause, Boolean doEvaluation, Nullable`1 serviceId, Nullable`1 servicePartitionId, UniqueId messageIdentifier)

       at Microsoft.ResourceManagement.WebServices.ResourceManagementService.Delete(Message request)

       --- End of inner exception stack trace ---

     

    For information, a maintenance plan rebuild/reorganize indexes daily and this problem has occurred on servers with different performances.

    Is any of you has already encounter this problem ?

    Any help would be greatly appreciated,

     

    Thanks in advance for your help,

    Matthew

    Tuesday, January 7, 2014 6:04 PM

All replies

  • The error message is saying that it can't find a temporary table that the stored procedure created. I suggest opening a ticket with Microsoft. This sounds and smells like a bug or some kind of data corruption issue that causes the stored procedure to go down an unexpected path of execution wherein it is looking to use a table that it never created or already dropped.

    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

    Thursday, January 9, 2014 9:25 PM
  • David is correct, this is known issue. I would open a case with CSS and they can give you your options.

    Friday, January 10, 2014 5:31 AM
  • Thanks a lot guys !

    I'm currently working on the case with CSS.

    As it is a known issue, do you know which use cases could cause such a corruption ?

    As I didn't heard of a HotFix correcting this kind of issue in FIMService, I wonder if it could be something in my design that "triggered" the issue. Because if that's the case (issue linked to my design), correcting the issue won't prevent it to happen again.

    Wednesday, January 15, 2014 3:16 PM
  • I was just hit by the same issue. I left solution working one day and today in the morning I saw this error and it looks like nothing is working correctly. 

    This is MCS project so I will try to open a case as well but I don't know if we have PSS contract here.


    Tomek Onyszko, memberOf Predica FIM Team (http://www.predica.pl), IdAM knowledge provider @ http://blog.predica.pl

    Tuesday, February 4, 2014 10:06 AM
  • We are seeing this when trying to update the Admin set.  Is there a fix for this?
    Monday, February 10, 2014 9:05 PM
  • @FIM_Admin : I did have the same errors when trying to update the Admin set.

    If you have the exact same errors, I suggest that you open a ticket with Microsoft. As Glenn said, this is a known issue. And yes, there is a fix for this issue.

    Thanks again guys !

    • Proposed as answer by FIM_Admin Wednesday, February 26, 2014 6:37 PM
    Friday, February 21, 2014 2:25 PM
  • Mathew,

    Just out of curiosity, Did you enable the SQL Jobs? Specifically the Maintain Sets job. It comes disabled out of the box and needs to be running to perform set corrections.


    Thanks,

    Jameel Syed | Identity & Security Strategist | jameel.syed@credexo.com | Simplified Identity and Access Management


    Tuesday, February 25, 2014 9:03 AM
  • While there are several SQL Agent jobs (FIM Temporal Events, Maintain Sets, and Maintain Groups among others)created by the FIM install only one of those is enabled and scheduled and it calls all of the same stored procedures that the other jobs do. Step 2 is Maintain sets and Step 3 is maintain groups. So the Maintain sets and groups jobs never need to get enabled and scheduled, but if you want them to be maintained more frequently then you can.

    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

    Tuesday, February 25, 2014 7:22 PM
  • Thanks, we got the updated SP from MS and that did it.
    Wednesday, February 26, 2014 6:37 PM