vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Slave + Registration problem (https://vborg.vbsupport.ru/showthread.php?t=282111)

Rpgplayer8 04-27-2012 12:33 PM

Slave + Registration problem
 
Hi guys, I've recently configured master/slave for my forum, and I'm having a problem with new registrations.

When a new user registers, it inputs their user data into the database, then tries to get their user info to send the activation email. The problem is, it tries to get that user info from the slave server, which hasn't actually recieved it yet I believe, leading to an error.

So my question is, how would I remove slave functions for the following trace:

The error starts in register.php
Quote:

if ($userid)
{
$userinfo = fetch_userinfo($userid);
$userdata_rank =& datamanager_init('User', $vbulletin, ERRTYPE_SILENT);
$userdata_rank->set_existing($userinfo);
$userdata_rank->set('posts', 0);
$userdata_rank->save();
Where the problem is $userinfo = fetch_userinfo($userid);

Moving along to functions.php inside includes:

Quote:


function fetch_userinfo(&$userid, $option = 0, $languageid = 0)
{
global $vbulletin, $usercache, $vbphrase, $permissions, $phrasegroups;

if ($userid == $vbulletin->userinfo['userid'] AND $option != 0 AND isset($usercache["$userid"]))
{
// clear the cache if we are looking at ourself and need to add one of the JOINS to our information.
unset($usercache["$userid"]);
}

$userid = intval($userid);

// return the cached result if it exists
if (isset($usercache["$userid"]))
{
return $usercache["$userid"];
}

$hook_query_fields = $hook_query_joins = '';
($hook = vBulletinHook::fetch_hook('fetch_userinfo_query')) ? eval($hook) : false;

// no cache available - query the user
$user = $vbulletin->db->query_first_slave("
SELECT " .
iif(($option & FETCH_USERINFO_ADMIN), ' administrator.*, ') . "
You can see it's using the slave to get the user info (red highlight), which is too slow (even over the local network). How would I make it not use the slave for this so I can have registrations work properly? Thanks in advance to anybody that helps!

kh99 04-27-2012 01:06 PM

You might want to post over on vbulletin.com in the server forum https://www.vbulletin.com/forum/foru...-Configuration to make sure it's not some configuration issue before changing the code.

ETA: Just thought I'd add, it's OK to ask your question here as well, someone here might have some idea. I was just thinking that if you have everything set up correctly you might have found a (possibly known) bug or issue.

The obvious thing (which I'm sure you thought of) would be to take "_slave" off the call you highlighted in red, but then obviously you start to undo the benefit of having a slave server.


All times are GMT. The time now is 03:07 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02355 seconds
  • Memory Usage 1,716KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (2)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete