Take the 2-minute tour ×
Drupal Answers is a question and answer site for Drupal developers and administrators. It's 100% free, no registration required.

We have an interesting trouble on http://adsoftheworld.com The hook_page_build implementations sometimes looses some value from cache.

Look at this image: http://www.diigo.com/item/image/2peqe/drbq

After

  $implementations_cache = cache_get('module_implements', 'cache_bootstrap');
  $cache = $implementations_cache->data['page_build'];

I get this array: block, panels_everywhere, rules, admin_menu

Without cache

  $hook_info = module_hook_info();
  $hook = 'page_build';  
  $implementations[$hook] = array();
  $list = module_list(FALSE, FALSE, FALSE);
  foreach ($list as $module) {
    $include_file = isset($hook_info[$hook]['group']) && module_load_include('inc', $module, $module . '.' . $hook_info[$hook]['group']);
    if (function_exists($module . '_' . $hook)) {
      $implementations[$hook][$module] = $include_file ? $hook_info[$hook]['group'] : FALSE;
    }
  }

the $implementations['page_build'] are: block, metatag, panels_everywhere, toggle_page_elements, rules, admin_menu, admin_menu_toolbar.

We are using the latest dev memcache as cache backend.

As I see, only the _page_build hook is affected. I can't catch any event, which causes that, and I don't see any relevant in the log. Clear class registry fix it, but became wrong 1-2 times in a day.

Why are lost those values?

UPDATE on 01/18/13

added debug code to cache_set, I experienced the following:

This starts when a user load two pages close to same time:

  • user/%user/points 1358402424.7797

  • user/%user/subscriptions 1358402424.0462

Other hooks are affected: init, ctools_plugin_api, entity_view, flag_default_flag, element_info_alter, ctools_render_alter, page_build, form_alter

By the following modules: rate, a custom feature, metatag, metatag_opengraph, better_formats, admin_menu_toolbar, toggle_page_elements (this is a custom module)

The one thing, which is similar in these, these were added to the project relative later, but I'm not sure, these were the last modules.

I didn't see any relevant in system table too.

An additional speciality, but I think, it doesn't matter: This site uses a master-slave db environment with module autoslave.

share|improve this question
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.