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

ViewCatalog should actively reload after changes

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.2.0-rc3, 4.3.1
    • Affects Version/s: None
    • Component/s: 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

      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.

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

              Created:
              Updated:
              Resolved: