Answered App-Store-Import-Exception

  • Tuesday, August 25, 2009 9:36 PM
     
     

    All,

    I am attempting to perform a full import stage on the ILM MA and keep getting the app-store-import-exception.  Again, it is a full import stage - not the delta import where we are used to seeing it on occassion. 

    I have modified the MA and retyped the password as recommended by Ahmad in a different thread. 
    I have built a new ILM MA from scratch - same result.
    I have restarted services and servers.
    The sync engine and portal are on same server, SQL is remote - should not be an issue, it has been working for weeks with no issue until today.
    I can run delta imports with no problem; but they are not discovering adds or deletes; they only discover updates to existing objects in CS.
    I cannot find any evidence of changes on either server in the last couple of days.
    The only change in portal over last couple of days was to an authorization MPR; though that should not matter since ILM reads directly from database.

    I can run both the FullImportGetNext and DeltaImportGetNext directly from SQL and get the results I expect.

    Anyone have any idea why I cannot run the full import from the UI?  Below is what I am seeing in the event log:

    Message: Data is Null. This method or property cannot be called on Null values.

    Stack Trace:    at System.Data.SqlClient.SqlBuffer.ThrowIfNull()
       at System.Data.SqlClient.SqlBuffer.get_DateTime()
       at System.Data.SqlClient.SqlDataReader.GetDateTime(Int32 i)
       at Microsoft.ResourceManagement.Query.QueryProcessor.ReadFragment(SqlDataReader reader)
       at Microsoft.ResourceManagement.Query.QueryProcessor.ReadQueryResults(SqlDataReader reader)
       at Microsoft.ResourceManagement.Data.Sync.FullImportGetNext(DateTime timestamp, Int32 beginIndex, Int32 count)
       at MIIS.ManagementAgent.RavenMA.FullImportGetNextBatch(Int32 batchSize)

Answers

  • Thursday, August 27, 2009 7:06 AM
     
     Answered

    Apparently this one was odd enough, no one had an answer for it; after too many hours troubleshooting, I have finally found the cause and have everything back to working.  I thought I would come back out here and post the solution, in case anyone else every runs into the same issue.

    Keep in mind the original error stated "Data is Null"; which ultimately sent me to looking for values being returned as null.  After a lot of looking around and stumbling over tables in MSILM DB, I found the objectsInternal table (where values are stored).  I eventually ran the following query, looking for results where all values were null: 

    Select *

      FROM [MSILM].[dbo].[ObjectsInternal]

      where ValueBinary is null and

      ValueBoolean is null and

      ValueDateTime is null and

      ValueInteger is null and

      ValueReference is null and

      ValueString is null and

      ValueText is null


     I found 4 entries from this query where an attribute (turns out to be ExpirationTime) had been previously populated and then deleted by a custom workflow I had built. I delete the 4 lines (yes, I had good backups of everything and I was getting desparate) 

    It seems using a custom workflow to remove the value from an attribute will result in a line in the objectsInternal table with all null values, which is not permissible by the ILM MA.  After updating my custom workflow and reprocessing new adds, updates, etc; everything is working as expected.