locked
Bug: staged members are not shown in list of domain-based attribute RRS feed

  • Question

  • Hi,

    I am very curious if anyone saw the following problem and have a solution for it?

    Background
    In my model "Items" I have two entities, namely "Items" and "Countries". The "Items" entity has a domain-based attribute related to the entity "Countries". The entity "Countries" is filled by an automated process using the staging process.

    Problem
    When countries are added and validated to the entity "Countries" via an automated process (mdm.UpdateStagingSweep, mdm.ValidateModel) these countries are shown in the entity "Countries" as expected. When I now go to the "Items" entity I get an overview of all the items in this entity and here I am able to select the just added countries from the domain-based attribute list. But, when I edit a member of the "Items" entity separately, the newly added countries are not visible in the domain-based attribute list.

    Research
    It's very strange that the added countries are visible in the "Countries" entity and in the list of the domain-based attribute "Country" of the "Items" entity on the items overview page, and not in the edit member page. It could be related to caching? I have tried the following:

    • Cleared the cache of Internet Explorer: no success
    • Checked the broker queues: nothing special there
    • Logged in with other user: no success
    • Reset IIS: no success
    • Restared the SQL Server service: no success
    • Checked the table related to the "Countries" entity: all member are there as expected
    • Changed the setting MdsMaximumUserInformationCacheInterval in the web.config to 1 minute: no effect
    • Turned on logging of staging transactions: no effect
    • Added a member manually to the "Countries" entity and removed it immediately: success --> now all added countries are shown in the "Country" domain-based attribute (also in edit member page).

    Workaround
    So, when I add a member manually to the "Countries" entity and remove it immediately all countries are shown in the domain-based attribute list.

    Does anyone know what causes this problem and how it can be solved?

    Thank you in advance.

    Regards,

    Johan Machielse
    http://johanmachielse.blogspot.com/

    Tuesday, June 28, 2011 12:35 PM

Answers

  • Hi Johan,

    I ran into this issue today. 

    The drop down list in the Edit Member page is using the stored member count to determine how many rows to show in the drop down list, whereas the entity grid is not.

     

    There is an issue in the MDS staging process where if you stage data into model that does not have a version flag, the member counts are not set to be updated.  The Edit Member page is then using the old member count and only displaying that number of members in the drop down list.

     

    The member counts are actually calculated and stored in the mdm.tblsusermembercount table.  Counts are stored by user and entity.  When an action occurs that would result in a change in the member count (i.e. addition or deletion of a member), the counts in this table are set to “-1”  which indicates that the counts must be recalculated.  Then the next time the user opens an entity, MDS sees that the count is set to -1 and will recalculate the member count and update the table.

     

    The issue is that the staging process is not setting the count to -1 in the above table if there is no version flag for the model, so the counts are not getting updated.

     

    This can be prevented in future staging processes by creating a version flag ( it does not even have to be assigned to a version). 

     

    For the existing data, you can force a recalculation by setting the LastCount column in this table to -1.  This will force the member count to be recalculated the next time the user opens an entity.

     

    Hope this helps.

    Pam Matthews

    www.profisee.com

     


    Wednesday, October 5, 2011 8:52 PM

All replies

  • Hi,

    There's just been a cumulative update for MDS over the past couple of days:

    http://support.microsoft.com/kb/2143880

    There's a mention of something similar in the above link:

    "In Explorer, domain-based attribute values are retrieved from the database instead of from the cache. This enables new domain-based attributes values to be immediately available for an entity."

    Its worth installing the cumulative update and seeing if it fixes your issue

    HTH

    Jeremy


    http://blogs.adatis.co.uk/blogs/jeremykashel/default.aspx If a post answers your question, please click the Mark As Answer button.
    Tuesday, June 28, 2011 12:42 PM
  • Hi Jeremy,

    Thank you for your quick reply.

    I installed the hotfix and unfortunately it did not fix my issue. Any other ideas?

    Thank you in advance.

    Regards,

    Johan Machielse
    http://johanmachielse.blogspot.com/

    Tuesday, June 28, 2011 1:02 PM
  • Hi Johan,

     

    Its certainly an odd problem and does sound like something that's caching related. But you've carried out an IIS reset so that would eliminate caching presumably.

    The only other suggestion I have at this stage is to check what happens using Profiler when you add a Country member manually. That clearly resolves the issue, so perhaps looking at the stored procedures etc that are run will give you some insight into what's going on.

    Another option is to try and replicate the issue on one of the sample models that ship with MDS, e.g Product or Chart Of Accounts. That would confirm if its an issue with the specific model that you have or not.

    Best Regards

    Jeremy


    http://blogs.adatis.co.uk/blogs/jeremykashel/default.aspx If a post answers your question, please click the Mark As Answer button.
    Tuesday, June 28, 2011 1:50 PM
  • Hi,

    There's just been a cumulative update for MDS over the past couple of days:

    http://support.microsoft.com/kb/2143880

    There's a mention of something similar in the above link:

    "In Explorer, domain-based attribute values are retrieved from the database instead of from the cache. This enables new domain-based attributes values to be immediately available for an entity."

    Its worth installing the cumulative update and seeing if it fixes your issue

    HTH

    Jeremy


    http://blogs.adatis.co.uk/blogs/jeremykashel/default.aspx If a post answers your question, please click the Mark As Answer button.

    Great news that this cumulative update ! thanks Jeremy!

    Xavier Averbouch
    Microsoft Community Contributor
    Avanade , FRANCE
    If a post answers your question, please click "Mark As Answer" on that post and "Vote as Helpful".
    Tuesday, June 28, 2011 3:30 PM
  • Hi Jeremy,

    Thank you for your quick reply.

    I installed the hotfix and unfortunately it did not fix my issue. Any other ideas?

    Thank you in advance.

    Regards,

    Johan Machielse
    http://johanmachielse.blogspot.com/


    Hi Johan

    how did you install this fix please ?

    thank you,



    Xavier Averbouch
    Microsoft Community Contributor
    Avanade , FRANCE
    If a post answers your question, please click "Mark As Answer" on that post and "Vote as Helpful".
    Friday, July 1, 2011 1:29 PM
  • Hi Xavier,

    I just installed the downloaded installation file, and when you look in the table [mdm].[tblSystem] the field "SchemaVersion" will contain the value "1.0.1.0", which tells you that the hotfix has been installed successfully.

    Regards,

    Johan Machielse 
    http://johanmachielse.blogspot.com/

    Monday, July 4, 2011 6:27 AM
  • Hi Johan

    once you've installed this specific patch, you could install CU8((10.50.1797.0) over it :

    http://support.microsoft.com/kb/2534352

    Regards,

     



    Xavier Averbouch
    Microsoft Community Contributor
    Avanade , FRANCE
    If a post answers your question, please click "Mark As Answer" on that post and "Vote as Helpful".
    Thursday, July 21, 2011 9:39 AM
  • Hi Johan,

    I ran into this issue today. 

    The drop down list in the Edit Member page is using the stored member count to determine how many rows to show in the drop down list, whereas the entity grid is not.

     

    There is an issue in the MDS staging process where if you stage data into model that does not have a version flag, the member counts are not set to be updated.  The Edit Member page is then using the old member count and only displaying that number of members in the drop down list.

     

    The member counts are actually calculated and stored in the mdm.tblsusermembercount table.  Counts are stored by user and entity.  When an action occurs that would result in a change in the member count (i.e. addition or deletion of a member), the counts in this table are set to “-1”  which indicates that the counts must be recalculated.  Then the next time the user opens an entity, MDS sees that the count is set to -1 and will recalculate the member count and update the table.

     

    The issue is that the staging process is not setting the count to -1 in the above table if there is no version flag for the model, so the counts are not getting updated.

     

    This can be prevented in future staging processes by creating a version flag ( it does not even have to be assigned to a version). 

     

    For the existing data, you can force a recalculation by setting the LastCount column in this table to -1.  This will force the member count to be recalculated the next time the user opens an entity.

     

    Hope this helps.

    Pam Matthews

    www.profisee.com

     


    Wednesday, October 5, 2011 8:52 PM
  • Hi Pam,

    Thank you for your answer. I am going to try this out!

    Regards,

    Johan Machielse
    http://johanmachielse.blogspot.com/

    Thursday, October 13, 2011 6:48 AM