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

js bson integration should support a per object js protection flag

    • Query Execution
    • ALL
    • Hide
      
      load('jstests/libs/parallelTester.js');
      
      var x = NumberLong("1000");
      
      print(tojson(x));
      
      var thread = new Thread(function(s) {
        print(tojson(s));
      }, x);
      thread.start();
      thread.join();
      
      Show
      load( 'jstests/libs/parallelTester.js' ); var x = NumberLong( "1000" ); print(tojson(x)); var thread = new Thread ( function (s) { print(tojson(s)); }, x); thread.start(); thread.join();

      Currently, we hard pivot between bson code values and js functions with the global isJavaScriptProtectionEnabled() function.  To workaround passing functions between threads (in ScopedThread) we manually walk objects and eval functions.

      Rather than doing that kind of dance, we should offer a per object flag to control that behavior (and set it for bson passed between js threads).

      We should also remove the scrubbing that occurs in _threadStartWrapper()

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            mira.carey@mongodb.com Mira Carey
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: