Bug: Remote settings can still fail to provide the fallback dump in some circumstances with indexedDB failures
Status: VERIFIED
Priority: P2
Resolution: FIXED
Created: 2020-07-20 14:09:53+00:00
Resolved: 2020-08-17 13:05:00+00:00

STR:

1) In`toolkit/components/search/tests/xpcshell/xpcshell.ini` set these prefs near the top of the file:

```
prefs =
  dom.indexedDB.dataThreshold=0
  dom.indexedDB.preprocessing=true
```
2) Run `./mach xpcshell-test toolkit/components/search/tests/xpcshell/test_distributions.js`

Expected Results: Test passes
Actual Results: Test fails - remote settings fails to return the local dump.

```
 0:01.69 INFO "CONSOLE_MESSAGE: (error) [JavaScript Error: "IndexedDB Preprocessing for indexes not yet implemented!: ActorsParent.cpp:26068"]"
 0:01.69 INFO "CONSOLE_MESSAGE: (error) [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:562"]"
 0:01.69 pid:9794 Full command: ['/Users/mark/dev/gecko/objdir-ff/dist/Nightly.app/Contents/MacOS/xpcshell', '-g', '/Users/mark/dev/gecko/objdir-ff/dist/Nightly.app/Contents/Resources', '-a', '/Users/mark/dev/gecko/objdir-ff/dist/Nightly.app/Contents/Resources/browser', '-r', '/Users/mark/dev/gecko/objdir-ff/dist/Nightly.app/Contents/Resources/components/httpd.manifest', '-m', '-e', 'const _HEAD_JS_PATH = "/Users/mark/dev/gecko/testing/xpcshell/head.js";', '-e', 'const _MOZINFO_JS_PATH = "/var/folders/6x/x01fpl8s7m11qpvrhbw0svf80000gp/T/firefox/xpcshellprofile/mozinfo.json";', '-e', 'const _PREFS_FILE = "/Users/mark/dev/gecko/objdir-ff/temp/xpc-other-c511tm2f/user.js";', '-e', 'const _TESTING_MODULES_DIR = "/Users/mark/dev/gecko/objdir-ff/_tests/modules/";', '-f', '/Users/mark/dev/gecko/testing/xpcshell/head.js', '-p', '/Users/mark/dev/gecko/objdir-ff/temp/xpc-plugins-dn9nquxh', '-e', 'const _HEAD_FILES = ["/Users/mark/dev/gecko/objdir-ff/_tests/xpcshell/toolkit/components/search/tests/xpcshell/head_search.js", "/Users/mark/dev/gecko/objdir-ff/_tests/xpcshell/toolkit/components/search/tests/xpcshell/head_opensearch.js", "/Users/mark/dev/gecko/objdir-ff/_tests/xpcshell/toolkit/components/search/tests/xpcshell/head_modernconfig.js"];', '-e', 'const _JSDEBUGGER_PORT = 0;', '-e', 'const _TEST_FILE = ["/Users/mark/dev/gecko/objdir-ff/_tests/xpcshell/toolkit/components/search/tests/xpcshell/test_distributions.js"];', '-e', 'const _TEST_NAME = "xpcshell.ini:toolkit/components/search/tests/xpcshell/test_distributions.js";', '-e', '_execute_test(); quit(0);']
pid:9794 console.error: SearchEngineSelector: (new UnknownError("IndexedDB: main/search-config list() IndexedDB:  execute() The operation failed for reasons unrelated to the database itself and not covered by any other error code.", "resource://services-settings/IDBHelpers.jsm", 24))
 0:01.69 pid:9794 console.error: SearchEngineSelector: "Received empty search configuration!"
 0:01.76 INFO "CONSOLE_MESSAGE: (error) [JavaScript Error: "IndexedDB Preprocessing for indexes not yet implemented!: ActorsParent.cpp:26068"]"
 0:01.76 INFO "CONSOLE_MESSAGE: (error) [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:562"]"
 0:01.76 pid:9794 console.error: SearchEngineSelector: (new UnknownError("IndexedDB: main/search-config list() IndexedDB:  execute() The operation failed for reasons unrelated to the database itself and not covered by any other error code.", "resource://services-settings/IDBHelpers.jsm", 24))
 0:01.76 pid:9794 console.error: SearchEngineSelector: "Received empty search configuration!"
 0:01.76 ERROR Unexpected exception NS_ERROR_UNEXPECTED: Failed to get engine data from Remote Settings
```