No announcement yet.

Search result already expired, please try a new search

  • Filter
  • Time
  • Show
Clear All
new posts

  • Search result already expired, please try a new search

    I've viewed earlier discussions on this and it seems:
    • No changes have been made in this area of the code since version 3
    • The time limit is 1 hour
    • It might have something to do with caching
    First of all, I have only ever noticed this error since upgrading to vB5

    I recently moved to CloudFlare CDN - I am wondering if this could, theoretically, be a factor?

    Should I be aware of any issues at all that could be a by-product of using a CDN? Should I disable (is it even possible?) vBulletin system caching if I am using a CDN?

  • #2
    You can't disable vBulletin's system caching. Doing so would be disastrous to your site. It could be a problem with using Cloudflare. I have not been able to reproduce the issue nor has anyone been able to give a set of instructions where they can reproduce the issue.

    Regarding your three points -

    1) Massive changes to search and presentation have been made in the search code since vBulletin 3. The search engine in vBulletin 5 is unique to vBulletin 5.

    2) The one hour time limit refers to keyword in the search box and URL based searches. What is the benefit of caching a search for more than an hour? On an active board, they are invalid in minutes. I use a URL that is customized to my needs in order to look up latest topics. That is the only time, I have experienced this error and only when I have left the window open for more than an hour without refreshing.

    However you can control how long some basic content searches are cached in the AdminCP under Settings -> Options -> Server Settings and Optimization Options. Basic content searches are cached for 1 minute for users and 0 minutes for guests in a default system. Really this should be the opposite but I digress. You might try setting the options to 10 minutes for guests and 2 or 3 minutes for guests to see if this works for you. Things like Latest Post Info and modules will not be updated every time a new posts is made though. If an instant update is required for your site, then you should leave the user setting alone.

    3) It is definitely a caching issue. Where the specific issue lies remains hidden because it can't be reproduced faithfully. vBulletin 5's entire presentation is a large combination of caching and searches on the database. Everything from channel lists to displaying discussions are searches that are cached. That is the very nature of SQL based systems.

    The entire code that results in the error is:
    			$cache = vB_Search_Core::instance()->getCache($resultId);
    			if (empty($cache))
    				throw new vB_Exception_Api('invalid_search_resultid');
    So... Here is a number, find results based on that number. Oh, the result is empty? Throw this error. With steps to reproduce, I can see what is calling this code and figure out why the ID is wrong.
    Last edited by Wayne Luke; Tue 4 Feb '20, 8:13am.
    Translations provided by Google.

    Wayne Luke
    The Rabid Badger - a vBulletin Cloud demonstration site.
    vBulletin 5 API


    • #3
      I've had the same issue on my forum. Seems to happen if I jump from thread to thread too fast. One of my members just had the same error show up for them too.
      Vote for Features!!
      * Member Lists in Groups *
      * Mass Private Messages to Groups and Usergroups *


      • #4
        I encounter a similar error dialog sometimes when I click on Groups menu item


        • #5


          • #6
            I've just seen delicjous post and looked at the tracker but although it says resolved I'm not really sure what that means - is there a solution or was it fixed in vB 5.6.0?


            • delicjous
              delicjous commented
              Editing a comment
              No, not in 5.6.0. Its in a sprint right i guess 5.6.1.

          • #7
            The "Targeted For:" will tell you when to expect it.

            The way development works is this...

            Milestones: Development is broken down into Milestones. Each milestone becomes a version of vBulletin. Milestone 49 is the version under development. This will most likely be renamed to 5.6.1 when released to customers.
            Sprints: Each Milestone is broken down into 4 Sprints. Each sprint is two weeks of development where new features are added and bugs are resolved.
            Builds: Daily builds are created of the software for the developers and weekly builds are created for beta testers. Builds are more difficult to upgrade so they are not available to the general customer base.

            So when we release Alpha 4 to the general customer base for testing, development on that version is done except for bugs found within the resolved issues or major security issues. Developers have already started on the next sprint/version. With development and testing through the Alpha/Beta/Release Candidate cycle, there is a release roughly every 2 months. The developers are already halfway through developing the next version when we do a full release.
            Translations provided by Google.

            Wayne Luke
            The Rabid Badger - a vBulletin Cloud demonstration site.
            vBulletin 5 API


            • #8
              OK, so there isn't a tradition of patching with vBulletin or is this too complicated to issue a patch?


              • #9
                We patch security issues. However in general, patching leads to confusion so it is restricted to the most important issues. Over the years, we've worked to make patching as easy as possible. It still leads to confusion.

                If we issued a patch for every issue then we would simply be overwhelmed with support requests.
                Translations provided by Google.

                Wayne Luke
                The Rabid Badger - a vBulletin Cloud demonstration site.
                vBulletin 5 API


                • #10
                  Because it was not fixed I will tell you my solution:
                  I did the following:
                  Open the file: core/includes/cron/cleanup.php

                  Search for:

                  PHP Code:
                  Replace with:
                  PHP Code:
                  //delicjous core-hack Error: search no results
                  $lifetime vB_Api::instanceInternal('search')->getCacheTTL();
                  vB::getDbAssertor()->delete('vBDbSearch:searchlog', array(
                  'field' => 'dateline''value' => vB::getRequest()->getTimeNow() - ($lifetime 60), vB_dB_Query::OPERATOR_KEY => vB_dB_Query::OPERATOR_LT)

                  //delicjous core-hack Error: search no results 
                  I will not support that here... but it works in some forums.

                  What the changes do:

                  1. $lifetime get the option for cache-time-setting
                  2. Same delete the comment function below do, but with option in minutes instead of seconds (seconds * 60 = minutes).

                  Stay safe and do everything to #flatenthecurve


                  Related Topics