Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-41041

ViewCatalog should actively reload after changes

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.2.0-rc3, 4.3.1
    • None
    • Storage
    • None
    • Fully Compatible
    • ALL
    • v4.2
    • Hide

      Just increase the number of iterations:

      +++ b/jstests/concurrency/fsm_workloads/view_catalog.js
      @@ -94,7 +94,7 @@ var $config = (function() {
       
           return {
               threadCount: 5,
      -        iterations: 5,
      +        iterations: 100,
               data: data,
               setup: setup,
               states: states,
      

      and then run

      python buildscripts/resmoke.py -numClientsPerFixture 20 --suites=concurrency_simultaneous jstests/concurrency/fsm_workloads/view_catalog_direct_system_writes.js
      

      Show
      Just increase the number of iterations: +++ b/jstests/concurrency/fsm_workloads/view_catalog.js @@ -94,7 +94,7 @@ var $config = (function() {   return { threadCount: 5, - iterations: 5, + iterations: 100, data: data, setup: setup, states: states, and then run python buildscripts/resmoke.py -numClientsPerFixture 20 --suites=concurrency_simultaneous jstests/concurrency/fsm_workloads/view_catalog_direct_system_writes.js
    • Execution Team 2019-06-03, Execution Team 2019-06-17, Execution Team 2019-07-15
    • 15

    Description

      Currently any changes made to ViewCatalog or system.views collection only mark view catalog as invalid and it will lazily reload when later used. However, lazy reload may read outdated data from system.views and thus load wrong version of view catalog.

      To fix this problem, we should always actively reload the view catalog by changing invalidate() function to an active reload function. We also need to set minVisibleSnapshot on the view catalog when reload. Any operations to view catalog will get a writeConflictException if it's behind the minVisibleSnapshot and then retry with a more up-to-date snapshot.

      Attachments

        Activity

          People

            gregory.wlodarek@mongodb.com Gregory Wlodarek
            xiangyu.yao@mongodb.com Xiangyu Yao (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: