Actions
Bug #10605
closedcac-onboarding email sending routine can cause near-infinite db requests
Status:
Resolved
Priority name:
Normal
Assignee:
Category name:
Onboarding
Target version:
Start date:
2018-10-26
Due date:
% Done:
0%
Estimated time:
Deployment actions:
Description
Here's an odd query loop coming out of one of my debugging tools:
[1696] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0012948513031006
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->set_to, BP_Email_Recipient->__construct, BP_Email_Recipient->get_user, get_user_by, WP_User::get_data_by
)
[1697] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0014610290527344
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, do_action_ref_array, WP_Hook->do_action, WP_Hook->apply_filters, BuddyPress->{closure}, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, BP_Email_Recipient->get_user, get_user_by, WP_User::get_data_by
)
[1698] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0015239715576172
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, do_action_ref_array, WP_Hook->do_action, WP_Hook->apply_filters, BuddyPress->{closure}, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, get_user_by, WP_User::get_data_by
)
[1699] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0017638206481934
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_from, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, BP_Email_Recipient->get_user, get_user_by, WP_User::get_data_by
)
[1700] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0012359619140625
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_from, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, get_user_by, WP_User::get_data_by
)
[1701] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.001255989074707
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_to, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, BP_Email_Recipient->get_user, get_user_by, WP_User::get_data_by
)
[1702] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.001143217086792
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_to, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, get_user_by, WP_User::get_data_by
)
[1703] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0011641979217529
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_subject, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, BP_Email_Recipient->get_user, get_user_by, WP_User::get_data_by
)
[1704] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0013971328735352
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_subject, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, get_user_by, WP_User::get_data_by
)
[1705] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0012741088867188
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_content, BP_Email->get, BP_Email->get_content_type, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, BP_Email_Recipient->get_user, get_user_by, WP_User::get_data_by
)
[1706] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0012631416320801
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_content, BP_Email->get, BP_Email->get_content_type, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, get_user_by, WP_User::get_data_by
)
[1707] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0011889934539795
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_content, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, BP_Email_Recipient->get_user, get_user_by, WP_User::get_data_by
)
[1708] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0014500617980957
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_content, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, get_user_by, WP_User::get_data_by
)
[1709] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.0011370182037354
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_template, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, BP_Email_Recipient->get_user, get_user_by, WP_User::get_data_by
)
[1710] => Array
(
[0] => SELECT * FROM wp_users WHERE user_email = 'username@myhunter.cuny.edu'
[1] => 0.001115083694458
[2] => do_action('admin_post_nopriv_wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Async_Task->handle_postback, CAC\Onboarding\Invitation\AsyncTask->run_action, do_action('wp_async_caco_invitation_event_process'), WP_Hook->do_action, WP_Hook->apply_filters, CAC\Onboarding\Invitation\EmailProcess->CAC\Onboarding\Invitation\{closure}, bp_send_email, BP_Email->validate, BP_Email->get_template, BP_Email->get, apply_filters('bp_email_get_property'), WP_Hook->apply_filters, bp_core_deprecated_email_filters, BP_Email->get, apply_filters('bp_email_get_tokens'), WP_Hook->apply_filters, bp_email_set_default_tokens, get_user_by, WP_User::get_data_by
)
(username@myhunter.cuny.edu is a sanitized version of an actual address). This goes on for a couple dozen times before the system gives up (I guess?) and moves onto the next item on the list.
I'm having a hard time understanding what's going on here. BP seems to be tripped up by the fact that the email address doesn't match a WP user. But even in this case, there shouldn't be an infinite regress.
The simplest fix I can see for the Commons is to unhook `bp_core_deprecated_email_filters()`. Ray, do you see a problem with this? Do you think there's need here for an upstream BP ticket?
Related issues
Actions