Membership 2 upgrade lost several thousand members

Ya I mean, we had close to 10000 members, now it says we only have 1200, how can we fix this? We already tried reimporting several times

  • Tyler Postle
    • CGO

    Hey Adrian,

    Are the members that are gone still users on the site? Or are they completely gone? and were they users that had memberships?

    The support access has an invalid token, if you could revoke and regrant access then it should fix it and I'll log in for a closer look here.

    You can grant support access via WPMU DEV > Support > Support Access > Grant Access.

    Look forward to hearing back!

    Cheers,
    Tyler

  • Adrian
    • The Crimson Coder

    They are still users but we had to do a roll back because we were getting hundreds of emails. They were users with paid memberships. Ill revoke and regrant, but I dont think Membership 2 will work on this website, this is the third time weve tried with complete failure.

  • Tyler Postle
    • CGO

    Hey Adrian,

    Thanks for your reply.

    It looks like you are still using the original Membership plugin, but have both the free and pro version of Membership 2.

    Do you have a dev/staging version of your site by any chance? Then we can do a test upgrade there without affecting your live site.

    If it's not importing all members then could be due to a server timeout since you have so many.

    Look forward to hearing back. One way or another we should be able to get you upgraded :slight_smile:

    Cheers,
    Tyler

  • Adrian
    • The Crimson Coder

    hi Tyler, this plugin is a disaster. Weve had to constantly restore site backups to fix the mess upgrading to Membership 2 has caused. I have been in live chats with your support team during debugging, reset, and upgrading, all of which to no avail. My client has said he will release a press release on his channel of 300,000 subscribers about the issues your plugins have caused. Unless there is immediate and successful attention provided to this situation, there is nothing I can do to stop him.

  • Tyler Postle
    • CGO

    Hey Adrian,

    We would love to help you upgrade this site, and I'm sure any issues you are facing can be fixed; however, seeing as how it's a live site - we of course need to be very careful when making any changes. We would much prefer working with a dev/staging version - that way we can fully troubleshoot the issue without worrying about affecting the main site. Once we find the issue and what is causing it then we can fix it for the live site upgrade to keep any downtime to a bare minimum.

    I totally understand that an upgrade like this can be frustrating, essentially the whole plugin was re-coded. Once we get passed the upgrade then I think you and your client will be MUCH happier with Membership 2 as it's improved upon M1 in essentially every aspect :slight_smile:

    If you want us to perform the upgrade on your live site without any testing on a dev/staging environment then you need to know that there could be some downtime to the live site as we won't know what the extent of the issues are until it's further troubleshooted. If that is okay then we can try upgrading the live site, but I'm thinking it would be easier to setup a dev environment.

    A plugin like duplicator could be helpful for this: https://wordpress.org/plugins/duplicator/ - to clone your site to a new staging location.

    Make sure on the test website that this is added to the wp-config.php so no emails are sent out to your existing members:

    define( "MS_STOP_EMAILS", true );

    Or you can turn off ALL WP emails by adding this plugin:

    https://wordpress.org/plugins/disable-emails/

    Let me know how you would prefer to go forward here :slight_smile:

    Cheers,
    Tyler

  • Tyler Postle
    • CGO

    Hey Adrian,

    Awesome, thanks for doing that. Could you provide wp-admin and FTP access to your dev server so we can investigate further? Then we can explain how to go about fixing it on your live site.

    You can send that privately through our contact form: https://premium.wpmudev.org/contact/

    Select "I have a different question" for your topic - this and the subject line ensure that it gets assigned to me.

    Send in:

    Subject: "Attn: Tyler Postle"
    -WordPress admin username
    -WordPress admin password
    -login url
    -FTP credentials (host/username/password)
    -link back to this thread for reference
    -any other relevant urls

    **If you keep support access active then no need to send in wp-admin

    Talk to you soon!

  • Tyler Postle
    • CGO

    Hey Adrian,

    Thanks for doing that. I was testing this out, I've set up the last version of M1 Pro we had as it included some fixes for the import to M2.I've done the upgrade to M2 and started the import; however, our support access login cookie expires after a certain period so staff can't leave any members admins open by accident.

    This also means that I can't stay in your admin long enough for the import to complete :smiley:

    Can you go to Membership 2 on your staging site and you will see the page in my screenshot, check the box to remove any data that I already imported to start fresh, then run the import again. This will take quite awhile and you will need to leave the tab open.

    Once that is done let me know so we can have a look at the results and debug any issues that may occur :slight_smile: hopefully there won't be any!

    Look forward to hearing back.

    Cheers,
    Tyler

    PS. I installed the "stop emails" plugin to ensure your members won't receive emails from the staging site.

  • Tyler Postle
    • CGO

    Hey Adrian,

    What percentage did it get too? The server likely timed out is my guess. I had it to 63% before it logged me out and yeah I'm thinking it should take around 2-ish hours if it doesn't get stuck.

    I checked your root folder for an error log but I don't see one, do you have server error logs anywhere? Just want to see what error it gave out, if it did.

    Talk to you soon. Cheers

  • Tyler Postle
    • CGO

    Hey Adrian,

    Thanks for the quick reply. It doesn't look like it's removing all the original members, since there are so many I'm guessing it may be timing out trying to do that too. So the issue we're seeing now is that it's trying to add members that already exist.

    Would you be able to restore the staging site back to it's original state before I got it ready for the import? Then I'll do that again and let you be the first one to click the import as it was going smoothly before it logged me out the first time.

    Once we finish that then we can make sure all the subscriptions are in-tact.

    Cheers,
    Tyler

  • Tyler Postle
    • CGO

    Hey Adrian,

    Sorry looks like the support access has expired again. However, I'll explain what to do before starting the import just in-case you want to do it yourself before waiting for me again. Although, I do work tomorrow(Sunday) if you would like me to again :slight_smile:

    1. Deactivate and delete the Membership plugin you have now. It should delete both Membership plugins that you have installed.

    2. Install/activate this plugin to make sure no emails are sent out to your users: https://wordpress.org/plugins/stop-emails/

    3. Download and install/activate Membership 1 v3.5.3.3 - download link: https://premium.wpmudev.org/download/31405892_membership-3.5.33.zip

    4. It should prompt you to update to Membership 2 Pro. Proceed with the update.

    5. Once Membership 2 Pro is installed then you can click on it in your dashboard menu and it will bring you to the import page. Make sure the import number is 30(normal) and proceed with the import

    6. Leave the tab open for about 2 hours and see if it's finished :slight_smile:

    Talk to you soon!

    Cheers,
    Tyler

  • Adrian
    • The Crimson Coder

    Hi there, support access reenabled. Thank you for providing the instructions, however with all the problems with membership on this site, I would prefer to have someone from WPMU handle the next attempt to upgrade to membership 2.

  • Tyler Postle
    • CGO

    Hey Adrian,

    No problem, it should be all ready for you to click Import now :slight_smile:

    You don't need to click the "Replace current content with import data (removes existing Memberships/Members before importing data)" option this time and there shouldn't be any existing M2 data there in the first place.

    Let me know how it goes.

    Cheers,
    Tyler

  • Tyler Postle
    • CGO

    Hey Adrian,

    I'm thinking that it only imported in the members that actually have subscriptions into the "Members" list. The rest of your users are still there and will get added to the members list as they sign up for memberships.

    As for the expired members, that's odd. Could you grant support access to your live site just so I can compare some of the accounts? Hopefully then I can see what happened there, I'll be able to double check that first part too. If I'm still not able to figure it out I'll get the developer involved here too so he can investigate further :slight_smile:

    Cheers,
    Tyler

  • Tyler Postle
    • CGO

    Hey Adrian,

    I don't see access granted to your main site, just the staging site still. I was hoping you could grant access to the main site so I could compare the memberships to the original ones :slight_smile:

    Would that be possible?

    If you did grant it and for some reason it's not showing on my end, could you just revoke and regrant that. You may want to extend the staging access as well just in-case. Talk to you soon! Cheers

  • Tyler Postle
    • CGO

    Hey Adrian, thanks for doing that! Looks like it's all the members using the paypal express gateway that were imported over as expired. I've just extended the support access on both your sites and let our Membership developer know so he can take a look too. I'm thinking we will have to do the automatic matching to match them all up again but I just want to make sure.

    Either myself or the developer will post back here once he has taken a look :slight_smile: thanks again for all your patience on this.

    Cheers,
    Tyler

  • Adrian
    • The Crimson Coder

    OK please try to hurry as this issue has been occuring for six weeks. Once we determine how to fix the issue, how difficult is it to apply the solution discovered on the dev site to the main site? Will you do that for us?

  • Tyler Postle
    • CGO

    Hey Adrian,

    I spoke with Philipp, the developer, and he's thinking this should be fixed in the latest version he just released :slight_smile: there was an issue with the PayPal imports that he thinks likely was causing this.

    To be sure, we'll need to re-do the import on the staging site again. If you could revert it back again like you did before then I'll get it ready for the import doing the steps I laid out previously in this post: https://premium.wpmudev.org/forums/topic/membership-2-upgrade-lost-several-thousand-members#post-988925

    Then you can do the import and we'll verify that it worked :slight_smile:

    Once we determine how to fix the issue, how difficult is it to apply the solution discovered on the dev site to the main site? Will you do that for us?

    Once we know it's working then we'll just do the same thing on your live site and it should go smoothly. Of course, make sure you do a backup beforehand just in-case.

    Let me know when the staging site is restored again, then I'll get it ready asap and let you know.

    Cheers,
    Tyler

  • Tyler Postle
    • CGO

    It looks like it may not have been rolled back far enough. I see it still shows you using Membership 2 post-import. We need it to be rolled back to the time before you ran the import.

    Apologies for this taking so long. Once we get this fixed I'll speak with our account manager and see if we can get you a free extension or something like that :slight_smile:

  • Adrian
    • The Crimson Coder

    We received a reply from synthesis regarding the 403 error on the main site and its related to membership - come on guys this plugin is causing so many problems but we cant get rid of it because that would interfere with thousands of members accounts

    ******************

    Hello Adrian,

    Happy to help!

    After a deep review we found the following Fatal Errors in your log file:

    Dec 2 15:15:01 bservers.wsynth.net ool www: PHP Fatal error: Call to a member function membership_perform_cron_processes_hourly() on a non-object in /var/www/suspicious0bservers.org/wp-content/plugins/membership/app_old/membershipincludes/classes/membershipcron.php on line 144
    Dec 2 15:20:02 bservers.wsynth.net ool www: PHP Fatal error: Call to a member function membership_perform_cron_processes_quarterhourly() on a non-object in /var/www/suspicious0bservers.org/wp-content/plugins/membership/app_old/membershipincludes/classes/membershipcron.php on line 138

    Dec 2 15:23:50 bservers.wsynth.net ool www: PHP Fatal error: Cannot use object of type WP_User as array in /var/www/suspicious0bservers.org/wp-content/themes/jupiter/single.php on line 222

    We recommend contact the developers of the theme and plugin to fix those messages because we don't know how they can affect the performance of your site.

    As they are Fatal Errors, they are involved in your performance issues.

    Another big issue is that your site doesn't have a caching technology as far as we can see form the server side, we always recommend to use a caching layer such as W3-Total-Cache for getting a better performance on your site.

    You will find the link to download our recommended W3 Total Cache settings, as well as instructions for importing them, here:
    - http://websynthesis.com/importing-w3-total-cache-settings/

    Also, we found that your site is showing 1,032 calls to the xmlrpc.php file and 610 attempts to login today. These numbers are not usual for a regular wordpress install.

    Could you please let us know if you are using the xmlrpc.php file? If you aren't, we recommend to block the access to this file. Please let us know to proceed.

    For the logins. We recommend to add a extra layer for security reasons such as "limit login attempts" plugin.

  • Tyler Postle
    • CGO

    That's very odd you're getting the 403 on your main site but not on the staging site since they are almost identical. Did you make any recent changes on the main site? This shouldn't be an issue once we get you updated, but I do understand having 403 on your pages doesn't look very good.

    Let me know if you can recall any recent changes you've made. Otherwise, I would suggest doing a plugin conflict test quick to see if the error still happens when all plugins except Membership are active, and also in the 2015 theme since your theme is also giving a fatal error.

    I've setup your staging site so it's ready to go ahead with the import again :slight_smile: run that and let me know how it goes. Hopefully we can get your main site upgraded tomorrow.

    Talk to you soon!

    Cheers,
    Tyler

  • Adrian
    • The Crimson Coder

    We fixed the 403 error on the main site. Someone from WPMU had given us the code for a MU plugin to display some text about manually mailing payments in on the Membership Registration page that was causing the problem. We removed the MU file and it fixed itself, we will just have to find another way to do that I guess.

    Ive completed the import of members on the dev site. Same issues as before. Not all members being imported, thousands of them set improperly to expired status (and their membership sign up date was set to today), etc.

    Please help with this quickly, its been many weeks of problems.

  • Tyler Postle
    • CGO

    Hey Adrian,

    I added up all the members you have that have subscriptions and it came out to 6504. I did this via the membership filter above the members list on the Membership > All Members page on your main site.

    It will only import the users that actually have memberships into the "Members" list, the rest will still be in your users list and will be added to the Members list if they have get a membership.

    I see in our testing ground there is 6559. I suppose the different there could be some memberships that have expired since the cloning.

    Either way, it definitely shouldn't be importing those users in as cancelled when they are still active subscribers. I'm flagging this for our developer and also messaging them again to update them on what happened.

    I know this is an urgent situation for you so I'll ask him to look at it as soon as he has time :slight_smile:

    If you do have any questions in the meantime just let me know.

    Cheers,
    Tyler

  • Tyler Postle
    • CGO

    Hey Adrian,

    We're making progress :slight_smile: the developer had a look and if you update the status for the expired memberships it will actually make them active again. It just needs to go through and run the status check. Membership 2 should be running this check every 6 hours; however, your install is showing it as always executing "now" as seen in my attached screenshot.

    It's likely there is a timeout or memory issue happened here that's preventing it from running.

    If we can enable WP_DEBUG on your install then we should be able to see what errors your server is giving out and narrow down the problem.

    I tried turning on debug by editing the file and re-uploading via sftp you sent in, but it's giving me permission denied when I try to upload it.

    Can you change the WP_DEBUG constant to "true" and also add the following lines:

    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);

    Then click the "now..." as seen in my screenshot.

    Reply back here when you've done that. After some time it should create the debug.log file with some errors that give us more info.

    The support access has an invalid token as well, so if you could revoke and regrant access just in case we need to login again then that would be awesome :slight_smile:

    Talk to you soon! Cheers

  • Adrian
    • The Crimson Coder

    Hi there,

    OK so Synthesis says they completed the enabling of debugging (as they do not allow anyone else to do that, "managed service"). Ive also run the Check Membership Status, but not sure what it did. Ive also revoked and regranted Support Access on both the main and the dev sites. Please advise as quickly as possible, client continues to be frustrated.

    AD

  • Tyler Postle
    • CGO

    Would you be able to get them to add this line as well?

    define('WP_DEBUG_LOG', true);

    There are some errors that won't show up on the site and only in the debug log. If you have any server error logs then that might work as well. I don't see them in your directory but if you have access to them on the server side then you can send them to me privately via: https://premium.wpmudev.org/contact/

    Select "I have a different question" and make the subject line "Attn: Tyler Postle".

    Look forward to hearing back.

    Cheers,
    Tyler

  • Adrian
    • The Crimson Coder

    OK, please see response from Synthesis, Ive also extended Support Access. Please update as soon as possible.

    Hi Tyler,

    Happy to help!

    I just checked Debug mode status on your site area51.suspicious0bservers.org and I can confirm it is already enabled i,e set to true define('WP_DEBUG_LOG', true);

    If you need further assistance on this please let us know. If you have any other questions please open a new ticket for faster support.

    Thank you for choosing Synthesis by Copyblogger!

    Regards,

    Sushant Chawla
    Customer Success Specialist

    Rainmaker Digital Support

  • Tyler Postle
    • CGO

    Hey Adrian thanks! It doesn't look like the debug log constant is actually added at all. There is no debug log generated and I can see in the wp-config.php that the constant isn't there.

    Would you be able to reply back and ask them to make sure these are both there:

    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);

    The first one is there already, but not seeing the second one. Sorry about the back and forth here Adrian. Once we get this added and I can see the debug log then we should know why the membership status update isn't running currently and we'll know how to fix it.

    Cheers,
    Tyler

  • Adrian
    • The Crimson Coder

    Hi Tyler, please see the message below from Synthesis. Please let me any updates ASAP. THank you

    As requested, we have added the second directive define('WP_DEBUG_LOG', true); too.

    Please let us know if you have any further question or need any further assistance on this!

    Regards,

    Sushant Chawla
    Customer Success Specialist

    Rainmaker Digital Support

  • Tyler Postle
    • CGO

    Awesome, thanks a lot :slight_smile: got the debug log this time.

    I see there are a couple notices in there being repeated. They aren't coming from Membership specifically; however, they still could be part of the issue - I'm passing them onto our developer just to make sure.

    One of us will reply back here once they've investigated them further :slight_smile:

    Talk to you soon!

  • Adrian
    • The Crimson Coder

    OK i extended support access for both sites. Can someone take a look at this ASAP? I just want to say that we started this support ticket on OCTOBER 24

    We have had to manually provide membership renewals and registrations for TWO MONTHS for thousands of members, this has been an excruciating process

    We need to upgrade to membership 2 to fix all these problems, but as discussed above doing that causes all these memberships to go to expired, which just compounds the problems further

    PLEASE WE NEED SENIOR DEVELOPERS ON THIS ASAP

    !!

  • Ash
    • WordPress Hacker

    Hello @Adrian

    I hope you are doing good.

    I am sorry for the issue you are having. I want to inform you that, I am working with the senior developer @Philipp Stracker on your issue. Your case is really exceptional, so far we found a fatal error that is memory related:

    PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /PATH/TO/WP/wp-includes/meta.php on line 837

    Please let me know, what is your memory limit from your hosting?

    We are still working on it, will update you as soon we find the culprit. We really appreciate your patience.

    Have an awesome day!

    Cheers
    Ash

  • Ash
    • WordPress Hacker

    Hello @Adrian

    Updating you with our investigation. I have tracked down the issue in your site. The issue is memory related, as I mentioned in my earlier reply, when it tries to process the members and check their status, the system runs out of memory, even when I increased the memory limit to 256M. This is unfortunate.

    We are still trying to get a custom solution for your situation. Thank you for your patience.

    Have an awesome day!

    Cheers
    Ash

  • Ash
    • WordPress Hacker

    Hi Adrian,

    Another updated. I was able to move all members who were expired to active membership in your test site. Would you please check and let me know?

    Please note that, I have left all other plugins disabled and a default theme activated in the test site to run the site faster.

    Waiting to hear from you :slight_smile:

    Cheers
    Ash

  • Adrian
    • The Crimson Coder

    This looks very good! I see the live site has 6479 members and the test site has 6558 members, there m ust have been about 100 members who expired and did not renew during the past few months. Im so excited this may solve the problem! Can we schedule to do this on the live site tonight? I know you guys are on a different time zone, and doing it late at night would be best to avoid members experiencing strange issues, please advise Id like to tell the client to make an announcement. Thank you!!

  • Tyler Postle
    • CGO

    Hey Adrian,

    Thanks again for all your cooperation on this.

    An issue with the last fix Ash added above is that it would only work one time, so once all your members status' needed to be checked again then it would just hit a memory error again.

    Ash has developed batch processing now so it will process them in batches instead of just looping through all of them until it hits a memory error. This should fix it once and for all, but we need to test it out on a site with lots of active subscriptions first to make sure.

    Would you be able to roll back your staging site one more time to before we started the import? So we can try the import from the beginning again :slight_smile:

    This will hopefully be the last time this is needed. If it works, then we can get the fix pushed out and run the import on your live site asap.

    So just post back here once your staging site has been rolled back and then we'll set it up for the test.

    Talk to you soon!

    Cheers,
    Tyler

  • Ash
    • WordPress Hacker

    Hello @Adrian

    I hope you are doing good.

    I am seeing access token error when I tried to login at your area51 site. Would you please revoke and grant again? Or, you can send me the login details in the same way you send FTP.

    Let me know once you enable support access or send via contact form.

    Have an awesome day!

    Cheers
    Ash

  • Ash
    • WordPress Hacker

    Hello @Adrian

    I have applied the possible fix at your test site, and seems the automatic job is working fine. Currently, 471 members are left. I have left the job to the wo cron job, as it should.

    One important thing is, you had cron disabled in your wp-config.php. If you have keep cron disabled, it won't work. So, for now I have removed that code to enable cron job.

    Let's keep monitoring next couple of hours how it goes. If everything goes smoothly, we can apply the fix in your live site in minute :slight_smile:

    Cheers
    Ash

  • Ash
    • WordPress Hacker

    Hi @Adrian

    I have tried to import from old M1 to new M2, but after some time it logged me out. The import was not done successfully and I believe all the subscriptions are not imported.

    Would you please roll back to previous stage, then migrate to M2 and then do the import? Just make the live site in the same stage of test site, let me know and I will apply the fix.

    Cheers
    Ash

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.