Skip Navigation

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

This topic contains 12 replies, has 2 voices.

Last updated by Max 4 years, 2 months ago.

Assisted by: Max.

Author Posts
September 3, 2020 at 2:51 pm #6936225

benD-11

Need to go through the WPML setup process repeatedly and it appears as though all of the content is still there but I'm unsure how this could have happened.

Site is hosted on WPEngine - their support did not provide any ideas.

September 3, 2020 at 4:15 pm #6936861

Max

Hello Ben,

In chat I forgot to mention that in wp_options table entries that start with icl_ (such as icl_sitepress_settings) also relate to WPML.

September 3, 2020 at 6:30 pm #6937735

Max

Hello again Ben,

Here's what I was able to find. Looking at the 2 database dumps, the icl_sitepress_settings entry in wp_options table gets removed and re-added. Strange: the "before" entry is huge with 40k+ settings inside custom_fields_translation (it's 2 Mb if pasted into a text file):

hidden link

Again, a long shot, but to help narrow it down a bit: can you reach out to WPEngine to find out if there's any server or DB optimization script running nightly that might be removing the DB row and re-adding a shorter version of it?

I just escalated the issue to 2nd tier developers for additional advice. Will post a message here once I hear back from them.

September 4, 2020 at 6:48 am #6940389

benD-11

Thanks for your reply Max,

I'll pass this onto WPEngine.

September 4, 2020 at 7:38 am #6940721

benD-11

Update from WPEngine

## Please do not write below this line ##
WP Engine
WP Engine on Facebook WP Engine on Twitter WP Engine on Google+ WP Engine RSS Feed

Ticket #4230742: Site display errors over the weekend | argonandco
Hello David,

Your ticket (#4230742) has been updated.

To review the status of the ticket and add additional comments, follow the link below:
hidden link

You can also add a comment by replying to this email.

Jess (WP Engine Support)

Sep 4, 2020, 2:28 AM CDT

Hey David,

Thank you so much for reply and including the extra info from WPML - we might have a breakthrough based on this!

To answer WPMLs question is that we do remove large options from a database with a daily cron that runs. More about this can be found here - the important part is:

In our environment a large option is defined as having more than 1mb for autoload content and 4mb for non-autoload content. Rows in wp_options with autoload set to "yes" are considered large at 1mb because all of it is loaded up on every single page load.

Note that Object caching (autoload) is enabled on argonandco you can read more about it here. One workaround for this could be disabling object caching so the 4MB rule applies instead of 1MB.

Looking at our logs, I see that we did remove this option on the 29th - time is in UTC/GMT. Note that 1733700 bytes is about 1.65MB which is over the 1MB limit and the option is automatically loaded on every page.

Aug 29 04:25:25 killed mysql query: Deleted massive option from wp_argonandco.wp_options: stdClass::__set_state(array( 'option_id' => '14011', 'option_name' => 'icl_sitepress_settings', 'bytes' => '1733700', ))
Please pass this along to WPML for their records.

I'm going to disable object caching but is there anything obvious in that options field that we can remove?

Thanks

September 4, 2020 at 4:16 pm #6944929

Max

Hello Ben,

Got it thank you - this is in line with what our developers wrote back: "WPML does not reset the setting itself for any reason unless you click the reset button".

Next step is to try and figure out why there are so many repeater field settings (5k+) on the site. I need to take a look at the admin dashboard.

If it's all right with you I'd like to request temporary access (wp-admin) to your test site to take a better look at the issue.

You will find the fields for this below the comment area when you log in to leave your next reply. The information you will enter is private: only you and I can see and have access to it.

Important: I know you have snapshots, but just in case - please be sure to backup your site and database first before I get access.

If you don't see the form below, please do not add your credentials as they will be publicly exposed:
hidden link

Privacy and Security when Providing Debug Information for Support:
https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/

September 7, 2020 at 2:16 am #6953269

Max

Hello Ben,

Thank you. Do you know where these repeater field values are coming from? Were they populated programmatically? I see them in the editor for the page you mention and it appears that the huge WPML config is just a consequence of having thousands of these repeater fields. I'm not sure we can do anything here.

Perhaps you can investigate further with the theme author or the site editors?

September 7, 2020 at 8:09 am #6955013

benD-11

Ok thanks Max.

If I remove these fields is there a way to clear out the WPML options field?

September 7, 2020 at 6:48 pm #6959209

Max

Hello David - sorry just saw that it's not Ben. 🙂

Indeed, theoretically one could just remove all the additional_sidebars_X_ entries, serialize the entire WPML config, and manually update the DB with it.

Checking with our 2nd tier developers for any possible side effects, will respond back.

September 8, 2020 at 4:22 pm #6968049

benD-11

ha, no worries Max.

Thanks, look forward to hearing back from you.

September 8, 2020 at 6:26 pm #6969057

Max

Hello David,

Our developers took this is in and will be working on it. This might take some time - depends on other priority items they have.

Unfortunately no safe workaround was shared with me for trimming the WPML options array at this time - if you decide to experiment with removing anything please proceed with caution (backups and plenty of testing).

I would say WPEngine's disabling object caching is the best temporary solution for the moment. Again, looking into why those fields are created in the first place is probably a good idea as well.

I will update this thread once the plugin code is adapted to accommodate this extraordinary use case and a new version is released.

September 11, 2020 at 6:41 am #6990961

benD-11

Hi Max,

Deserialising, removing the unneeded fields and the serialising again seems to have worked.

Can we keep this ticket open though in case a solution is added directly to WPML

Thanks

David

September 11, 2020 at 6:15 pm #6996389

Max

Hello David,

Glad you got it working!

Yes I will keep the ticket in 'escalated' state and will post a message here once the fix is shipped with a release.