1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - новый и перспективный форумный движок от бывших создателей vBulletin.

Fixed Ошибка в library\XenForo\Model\DataRegistry.php

Тема в разделе "Баги XenForo", создана пользователем Yoskaldyr, 5 ноя 2010.

Загрузка
  1. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.919
    Симпатии:
    1.154
    Версия XF:
    1.0.4
    Ошибка в указанном файле (library\XenForo\Model\DataRegistry.php) - не работает кеширование как надо.
    Лекарство:
    Найти
    PHP:
            $cache $this->_getCache(true);
            
    $dbItemNames $itemNames;
            
    $data = array();

            foreach (
    $itemNames AS $itemName)
            {
                
    $cacheData = ($cache $cache->load($this->_getCacheEntryName($itemName)) : false);
                if (
    $cacheData !== false)
                {
                    
    $data[$itemName] = $cacheData;
                    unset(
    $dbItemNames[$itemName]);
                }
            }
    Заменить на
    PHP:
            $cache $this->_getCache(true);
            
    $dbItemNames = array();
            
    $data = array();

            foreach (
    $itemNames AS $itemName)
            {
                
    $cacheData = ($cache $cache->load($this->_getCacheEntryName($itemName)) : false);
                if (
    $cacheData !== false)
                {
                    
    $data[$itemName] = $cacheData;
                }
                else
                {
                     
    $dbItemNames[] = $itemName;
                }
            }
     
    Lian, Pavel, AleX и 8 другим нравится это.
  2. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2.558
    Симпатии:
    1.590
    Версия XF:
    1.5.9
    Оба вида кеширования?
     
  3. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.919
    Симпатии:
    1.154
    Версия XF:
    1.0.4
    Кеширование работало. Любое.
    Только вот в коде выборки data registry, не очищалась правильно переменная, в результате чего данные все равно дергались из базы, не зависимо от того считались они из кеша или нет.

    После исправления должен уйти один запрос (самый первый, тот что SELECT data_key, data_value FROM xf_data_registry).
    Если не ушел, а стал значительно короче (около 3-х записей) значит даже в базе нет значений для этих полей (даже пустых).
    Для исправления этого:
    1. Надо создать/удалить платное повышение пользователя.
    2. Чтобы хоть раз появилась хоть одна жалоба.
    3. Чтобы хоть раз появилась хотя бы одна запись в очереди модерации.
    Кстати эти моменты с созданием/удалением очень похожи на манипуляции с датастором булки после чистого инсталла (один в один вообще-то, т.к. причина абсолютно одинаковая)
     
    Lian, r4mZeS, TAIFUN и ещё 1-му нравится это.
  4. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2.558
    Симпатии:
    1.590
    Версия XF:
    1.5.9
    Ок. А на оф. форуме ты написал об этом?
     
  5. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.919
    Симпатии:
    1.154
    Версия XF:
    1.0.4
    да, написал
     
  6. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.919
    Симпатии:
    1.154
    Версия XF:
    1.0.4
    Кстати, офф. форум довольно странный. Посты по существу очень часто остаются без внимания. А изначально флудогенераторы получают кучу лайков (хотя это вообще-то болезнь большинства сообществ).

    Если честно мне все равно, но странно нашел баг, описал его, описал решение проблемы, решение которое убирает 1 довольно тяжелый запрос к БД и всем пофик...

    P.S. Главное логика ядра не сильно изменена по отношению к булке и изменить то что меня не устраивает относительно просто (хотя сейчас только исправлением исходного кода).
     
    CyberAP, AleX и FractalizeR нравится это.
  7. g0rn

    g0rn Местный

    Регистрация:
    03.10.10
    Сообщения:
    107
    Симпатии:
    146
    Ну а как должны реагировать на баг-репорты? Это с большой вероятностью починят к третьей бете, и я не очень представляю, что там должно обсуждаться в теме.

    P.S. На том же багтрекере вбуллентина нынче баги исправляются в среднем через 3-4 месяца после сообщения (если приложить исправление к репорту, то поставят галочку, что исправление есть, но на сроках внесения исправления в код это, видимо, не особо скажется) :)
     
    AleX, FractalizeR и Yoskaldyr нравится это.
  8. FractalizeR

    FractalizeR XenForo Addicted Команда форума

    Регистрация:
    27.09.10
    Сообщения:
    1.085
    Симпатии:
    822
    Версия XF:
    1.3.2
    Да, я тоже думаю, что временное отсутствие реакции разработчиков - это нормально. Если посмотреть, Кир с Майком стараются читать много постов, а ведь форум-то велик и даже очень. Везде все прочесть, да еще чтобы осталось время на разработку...
     
  9. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5.736
    Симпатии:
    5.263
    Версия XF:
    1.5.10
    Ну отметить лайком то сообщение можно, даже если писать о баге нечего. Я думаю это имелось ввиду.
     
    Yoskaldyr нравится это.
  10. Nolik

    Nolik Местный

    Регистрация:
    13.10.10
    Сообщения:
    169
    Симпатии:
    56
    Версия XF:
    1.1.3
    А как проверить ушел этот запрос или нет?
     
  11. FractalizeR

    FractalizeR XenForo Addicted Команда форума

    Регистрация:
    27.09.10
    Сообщения:
    1.085
    Симпатии:
    822
    Версия XF:
    1.3.2
    Nolik и Yoskaldyr нравится это.
  12. deity

    deity Read only

    Регистрация:
    07.10.10
    Сообщения:
    136
    Симпатии:
    87
    Версия XF:
    1.1.0 Final
    Какое-то одно из эти событий или только все сразу? (OR или AND)
     
    Romchik® нравится это.
  13. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.919
    Симпатии:
    1.154
    Версия XF:
    1.0.4
    все зависит от текущего состояния :)
     
  14. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.919
    Симпатии:
    1.154
    Версия XF:
    1.0.4
    В 3-й бете все еще присутствует :((((((((
     
  15. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2.558
    Симпатии:
    1.590
    Версия XF:
    1.5.9
    А ты в баг-репорты это написал?
     
  16. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.919
    Симпатии:
    1.154
    Версия XF:
    1.0.4
    Написал и отписался еще раз с сообщением что баг не исправлен
     
    vitalik и CyberAP нравится это.
  17. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.919
    Симпатии:
    1.154
    Версия XF:
    1.0.4
    Наконец исправили. Но это уже будет в следующей версии.
     
    Romchik® и CyberAP нравится это.

Поделиться этой страницей