Tired of Manually Syncing Members to MUIR

Just wanted to be a squeaky wheel on the fact that for quite a while now we have had to manual sync members. Effectively, EVERY time a player shows as expired, we have to manually sync to see whether that is true or not, so with several events every week our club is constantly running manual syncs of members into MUIR. Renewals and new members should push to MUIR automatically. Here’s a vote for prioritizing this fix!

5 Likes

Bump! Hoping this gets prioritized!

I’m the TD for an event today and had to do this for 8 different players. I eventually just started going thru the old MSA site to verify because they all show up as renewed on that.

One of the tasks in the current coding cycle is increasing the number of places where a sync is done automatically.

The problem is that about 4% of syncs are failing, and we can’t track down where that’s happening at, though it does appear to be more likely to happen for batch membership transactions than for ones done by individuals.

Would reporting apparent failures to sync be helpful to track it down? From non-careful observation, it seems like they rarely sync immediately such as in the case of somebody renewing just before a tournament (very common case).

Probably not, we already get literally hundreds of reports a week, but by the time they’re reportable it’s too late to see what went wrong in the first place.

I’ve been pushing for what I call the “Plan B” approach, creating a task on the MUIR system that polls the membership system (CIVI-CRM) frequently and looks for records that have been updated in the membership system but not on MUIR. (An update on the membership system doesn’t always result in data that needs to be changed on MUIR, for example changing a phone number or email address, since neither of those are stored on MUIR.)

I’m also pushing for some other approaches that might help us mitigate the sync failures, and we’re going to try to get one of those approved on Monday. (I’m hoping it is something that can be implemented quickly.)

This has been a very frustrating problem for staff, too.

1 Like

Thanks for all you do Nolan! Go get 'em!

1 Like

As of yesterday (6/3/26) there are additional places where MUIR is doing checks for non-synced data, this should reduce (and hopefully eliminate) the need for TDs to manually sync member data.

This also includes syncing affiliate and TD records so that should help with situations where an affiliate was recently renewed or a TD was recently authorized to direct events for an affiliate.

Other measures are still being considered and we’re also still hoping to track down the root cause of non-synced member records.

However, it is still true that a member record will NOT sync to MUIR if it does not have an expiration date/membership type, a birthdate and gender coding. That information is now considered mandatory for rating.

Just as an anecdotal update, haven’t noticed much of a change. Still syncing players as frequently as before. Just renewed a player through affiliate portal and then had to manually sync (I can’t t think that has ever worked without a manual sync).

What time lag was there between when the player was renewed and when you checked for it? My understanding is that the sync queue runs every 5 or 10 minutes, not sure which.

most of the players at my event had renewed online several days before the event and still weren’t showing up.

The developer teams (membership and ratings) are working on setting up two dev servers to see if they can reproduce the failure to sync situations. It may be that the underlying cause is when two or more independent membership transactions occur close enough together that one of them fails to get logged.

For computer science types, this is called the ‘Semaphore problem’, a reference to semaphore signals used by railroads to make sure a track section is free so two trains don’t try to use it at the same time and hit head-on. I wrote a paper on this back in 1972 for a class I was taking in computer operating system theory.

I’ve been told that when you do a validate one of the steps it now does is re-sync any records that are either missing on MUIR or not current, but it’s kind of difficult for me to test that. I don’t have hands-on access to either server so all I can do is try to reproduce it in a test event in the TD portal.

I can provide many examples of older IDs where the information has probably never sync’d at some point, not just new ones.

What events potentially kick off a sync? Is there a way for them to just do a full sync of everyone to potentially ensure all records there right now have been sync’d?

It is possible to do a full sync, but there are over 100K current members and over 1.3 million records overall, so that’s not something that happens quickly. (It would be prudent to stagger each sync by a few seconds in case collisions between syncs is a part of the sync problem.) I think there is a background sync task that does this, it may take a week or longer to cycle through the full membership list. And of course if the problem is a new ID that hasn’t been pushed to MUIR yet, there’s no way to sync it from the MUIR side.

We’re trying to set up a linked database in SQL Server so it can access CIVI-CRM (MySQL) data but there are security issues that need to be done properly.

As I understand it, a sync is triggers on the membership side (pushing data) when a member record is changed, though it may check that the change involves data MUIR tracks. (A change in someone’s email address wouldn’t affect MUIR, because it doesn’t have that data, so a sync would be meaningless.)

There are also syncs from the MUIR side (pulling data) that are triggered when an event is uploaded. I think that has been extended to include a trigger during a validation run if the ID is missing or not current on MUIR. (That doesn’t check for the possibility that a formerly current ID is no longer current for some reason, like a member suspension or duplicate ID.) I think it is also triggered if an affiliate or TD ID is changed, and there may be other trigger points I’ve missed or am not aware of.

It is also worth noting that a member record WILL NOT sync to MUIR if there is no membership expiration date, gender or birthdate in the member record.

Most recent example, redeemed a voucher for a youth member, they show up in MUIR but with no expiration date or account status. 30 minutes later, still nothing. Run a manual sync and then it’s fixed.