From 320dae50403f84a4d3d6b749ba2341e30cfc2f0c Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Wed, 25 Sep 2024 13:01:33 -0400 Subject: [PATCH] Enable LRv2 by default and update the steelthread tests The steelthread tests have to be updated because the "indirect" tests now return results in a slightly different order in LRv2. Manually verified that the results themselves are the same (except duplicates, which are allowed) --- .../steelthreadtesting/definitions.go | 14 +-- ...ources-for-fred-page-size-100-results.yaml | 94 ++++++++++++++++++ ...sources-for-fred-page-size-16-results.yaml | 94 ++++++++++++++++++ ...esources-for-fred-page-size-5-results.yaml | 99 +++++++++++++++++++ ...sources-for-fred-page-size-53-results.yaml | 94 ++++++++++++++++++ ...sources-for-fred-page-size-54-results.yaml | 94 ++++++++++++++++++ ...other-permission-page-size-16-results.yaml | 84 ++++++++++++++++ ...-other-permission-page-size-5-results.yaml | 84 ++++++++++++++++ internal/testserver/server.go | 2 +- pkg/cmd/serve.go | 2 +- 10 files changed, 652 insertions(+), 9 deletions(-) create mode 100644 internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-100-results.yaml create mode 100644 internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-16-results.yaml create mode 100644 internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-5-results.yaml create mode 100644 internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-53-results.yaml create mode 100644 internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-54-results.yaml create mode 100644 internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-indirect-without-other-permission-page-size-16-results.yaml create mode 100644 internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-indirect-without-other-permission-page-size-5-results.yaml diff --git a/internal/services/steelthreadtesting/definitions.go b/internal/services/steelthreadtesting/definitions.go index c95a6db16e..161227a165 100644 --- a/internal/services/steelthreadtesting/definitions.go +++ b/internal/services/steelthreadtesting/definitions.go @@ -159,7 +159,7 @@ var steelThreadTestCases = []steelThreadTestCase{ "subject_object_id": "fred", "page_size": 5, }, - resultsFileName: "basic-lookup-resources-cursored-lookup-resources-for-fred-page-size-5-results.yaml", + resultsFileName: "indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-5-results.yaml", }, { name: "cursored indirect lookup resources for fred, page size 16", @@ -171,7 +171,7 @@ var steelThreadTestCases = []steelThreadTestCase{ "subject_object_id": "fred", "page_size": 16, }, - resultsFileName: "basic-lookup-resources-cursored-lookup-resources-for-fred-page-size-16-results.yaml", + resultsFileName: "indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-16-results.yaml", }, { name: "cursored indirect lookup resources for fred, page size 53", @@ -183,7 +183,7 @@ var steelThreadTestCases = []steelThreadTestCase{ "subject_object_id": "fred", "page_size": 53, }, - resultsFileName: "basic-lookup-resources-cursored-lookup-resources-for-fred-page-size-53-results.yaml", + resultsFileName: "indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-53-results.yaml", }, { name: "cursored indirect lookup resources for fred, page size 54", @@ -195,7 +195,7 @@ var steelThreadTestCases = []steelThreadTestCase{ "subject_object_id": "fred", "page_size": 54, }, - resultsFileName: "basic-lookup-resources-cursored-lookup-resources-for-fred-page-size-54-results.yaml", + resultsFileName: "indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-54-results.yaml", }, { name: "cursored indirect lookup resources for fred, page size 100", @@ -207,7 +207,7 @@ var steelThreadTestCases = []steelThreadTestCase{ "subject_object_id": "fred", "page_size": 100, }, - resultsFileName: "basic-lookup-resources-cursored-lookup-resources-for-fred-page-size-100-results.yaml", + resultsFileName: "indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-100-results.yaml", }, { name: "indirect without other permission, page size 5", @@ -219,7 +219,7 @@ var steelThreadTestCases = []steelThreadTestCase{ "subject_object_id": "fred", "page_size": 5, }, - resultsFileName: "basic-lookup-resources-indirect-without-other-permission-page-size-5-results.yaml", + resultsFileName: "indirect-lookup-resources-indirect-without-other-permission-page-size-5-results.yaml", }, { name: "indirect without other permission, page size 16", @@ -231,7 +231,7 @@ var steelThreadTestCases = []steelThreadTestCase{ "subject_object_id": "fred", "page_size": 16, }, - resultsFileName: "basic-lookup-resources-indirect-without-other-permission-page-size-16-results.yaml", + resultsFileName: "indirect-lookup-resources-indirect-without-other-permission-page-size-16-results.yaml", }, { name: "vsb_plus_nil, page size 16", diff --git a/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-100-results.yaml b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-100-results.yaml new file mode 100644 index 0000000000..39bb3109a9 --- /dev/null +++ b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-100-results.yaml @@ -0,0 +1,94 @@ +--- +- - 'doc-0' + - 'doc-1' + - 'doc-10' + - 'doc-11' + - 'doc-12' + - 'doc-13' + - 'doc-14' + - 'doc-15' + - 'doc-16' + - 'doc-17' + - 'doc-18' + - 'doc-19' + - 'doc-2' + - 'doc-20' + - 'doc-21' + - 'doc-22' + - 'doc-23' + - 'doc-24' + - 'doc-25' + - 'doc-26' + - 'doc-27' + - 'doc-28' + - 'doc-29' + - 'doc-3' + - 'doc-30' + - 'doc-31' + - 'doc-32' + - 'doc-33' + - 'doc-34' + - 'doc-35' + - 'doc-36' + - 'doc-37' + - 'doc-38' + - 'doc-39' + - 'doc-4' + - 'doc-40' + - 'doc-41' + - 'doc-42' + - 'doc-43' + - 'doc-44' + - 'doc-45' + - 'doc-46' + - 'doc-47' + - 'doc-48' + - 'doc-49' + - 'doc-5' + - 'doc-50' + - 'doc-51' + - 'doc-52' + - 'doc-53' + - 'doc-54' + - 'doc-55' + - 'doc-56' + - 'doc-57' + - 'doc-58' + - 'doc-59' + - 'doc-6' + - 'doc-60' + - 'doc-61' + - 'doc-62' + - 'doc-63' + - 'doc-64' + - 'doc-65' + - 'doc-66' + - 'doc-67' + - 'doc-68' + - 'doc-69' + - 'doc-7' + - 'doc-70' + - 'doc-71' + - 'doc-72' + - 'doc-73' + - 'doc-74' + - 'doc-75' + - 'doc-76' + - 'doc-77' + - 'doc-78' + - 'doc-79' + - 'doc-8' + - 'doc-9' + - 'doc-90' + - 'doc-91' + - 'doc-92' + - 'doc-93' + - 'doc-94' + - 'doc-95' + - 'doc-96' + - 'doc-97' + - 'doc-98' + - 'doc-99' + - 'public-doc-0' + - 'public-doc-1' + - 'public-doc-3' diff --git a/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-16-results.yaml b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-16-results.yaml new file mode 100644 index 0000000000..0ba78c88d4 --- /dev/null +++ b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-16-results.yaml @@ -0,0 +1,94 @@ +--- +- - 'doc-0' + - 'doc-90' + - 'doc-91' + - 'doc-92' + - 'doc-93' + - 'doc-94' + - 'doc-95' + - 'doc-96' + - 'doc-97' + - 'doc-98' + - 'doc-99' +- - 'doc-1' + - 'doc-10' + - 'doc-11' + - 'doc-12' + - 'doc-13' + - 'doc-14' + - 'doc-15' + - 'doc-16' + - 'doc-17' + - 'doc-18' + - 'doc-19' + - 'doc-2' + - 'doc-20' + - 'doc-21' + - 'doc-22' + - 'doc-23' +- - 'doc-24' + - 'doc-25' + - 'doc-26' + - 'doc-27' + - 'doc-28' + - 'doc-29' + - 'doc-3' + - 'doc-30' + - 'doc-31' + - 'doc-32' + - 'doc-33' + - 'doc-34' + - 'doc-35' + - 'doc-36' + - 'doc-37' + - 'doc-38' +- - 'doc-39' + - 'doc-4' + - 'doc-40' + - 'doc-41' + - 'doc-42' + - 'doc-43' + - 'doc-44' + - 'doc-45' + - 'doc-46' + - 'doc-47' + - 'doc-48' + - 'doc-49' + - 'doc-5' + - 'doc-50' + - 'doc-51' + - 'doc-52' +- - 'doc-53' + - 'doc-54' + - 'doc-55' + - 'doc-56' + - 'doc-57' + - 'doc-58' + - 'doc-59' + - 'doc-6' + - 'doc-60' + - 'doc-61' + - 'doc-62' + - 'doc-63' + - 'doc-64' + - 'doc-65' + - 'doc-66' + - 'doc-67' +- - 'doc-68' + - 'doc-69' + - 'doc-7' + - 'doc-70' + - 'doc-71' + - 'doc-72' + - 'doc-73' + - 'doc-74' + - 'doc-75' + - 'doc-76' + - 'doc-77' + - 'doc-78' + - 'doc-79' + - 'doc-8' + - 'doc-9' + - 'public-doc-0' +- - 'public-doc-1' + - 'public-doc-3' diff --git a/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-5-results.yaml b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-5-results.yaml new file mode 100644 index 0000000000..587a08fc1e --- /dev/null +++ b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-5-results.yaml @@ -0,0 +1,99 @@ +--- +- - 'doc-93' + - 'doc-94' + - 'doc-95' + - 'doc-96' + - 'doc-97' +- - 'doc-90' + - 'doc-91' + - 'doc-92' + - 'doc-98' + - 'doc-99' +- - 'doc-95' + - 'doc-96' + - 'doc-97' + - 'doc-98' + - 'doc-99' +- - 'doc-0' + - 'doc-1' + - 'doc-10' + - 'doc-11' + - 'doc-12' +- - 'doc-13' + - 'doc-14' + - 'doc-15' + - 'doc-16' + - 'doc-17' +- - 'doc-18' + - 'doc-19' + - 'doc-2' + - 'doc-20' + - 'doc-21' +- - 'doc-22' + - 'doc-23' + - 'doc-24' + - 'doc-25' + - 'doc-26' +- - 'doc-27' + - 'doc-28' + - 'doc-29' + - 'doc-3' + - 'doc-30' +- - 'doc-31' + - 'doc-32' + - 'doc-33' + - 'doc-34' + - 'doc-35' +- - 'doc-36' + - 'doc-37' + - 'doc-38' + - 'doc-39' + - 'doc-4' +- - 'doc-40' + - 'doc-41' + - 'doc-42' + - 'doc-43' + - 'doc-44' +- - 'doc-45' + - 'doc-46' + - 'doc-47' + - 'doc-48' + - 'doc-49' +- - 'doc-5' + - 'doc-50' + - 'doc-51' + - 'doc-52' + - 'doc-53' +- - 'doc-54' + - 'doc-55' + - 'doc-56' + - 'doc-57' + - 'doc-58' +- - 'doc-59' + - 'doc-6' + - 'doc-60' + - 'doc-61' + - 'doc-62' +- - 'doc-63' + - 'doc-64' + - 'doc-65' + - 'doc-66' + - 'doc-67' +- - 'doc-68' + - 'doc-69' + - 'doc-7' + - 'doc-70' + - 'doc-71' +- - 'doc-72' + - 'doc-73' + - 'doc-74' + - 'doc-75' + - 'doc-76' +- - 'doc-77' + - 'doc-78' + - 'doc-79' + - 'doc-8' + - 'doc-9' +- - 'public-doc-0' + - 'public-doc-1' + - 'public-doc-3' diff --git a/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-53-results.yaml b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-53-results.yaml new file mode 100644 index 0000000000..4052e75969 --- /dev/null +++ b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-53-results.yaml @@ -0,0 +1,94 @@ +--- +- - 'doc-0' + - 'doc-1' + - 'doc-10' + - 'doc-11' + - 'doc-12' + - 'doc-13' + - 'doc-14' + - 'doc-15' + - 'doc-16' + - 'doc-17' + - 'doc-18' + - 'doc-19' + - 'doc-2' + - 'doc-20' + - 'doc-21' + - 'doc-22' + - 'doc-23' + - 'doc-24' + - 'doc-25' + - 'doc-26' + - 'doc-27' + - 'doc-28' + - 'doc-29' + - 'doc-3' + - 'doc-30' + - 'doc-31' + - 'doc-32' + - 'doc-33' + - 'doc-34' + - 'doc-35' + - 'doc-36' + - 'doc-37' + - 'doc-38' + - 'doc-39' + - 'doc-4' + - 'doc-40' + - 'doc-41' + - 'doc-42' + - 'doc-90' + - 'doc-91' + - 'doc-92' + - 'doc-93' + - 'doc-94' + - 'doc-95' + - 'doc-96' + - 'doc-97' + - 'doc-98' + - 'doc-99' +- - 'doc-43' + - 'doc-44' + - 'doc-45' + - 'doc-46' + - 'doc-47' + - 'doc-48' + - 'doc-49' + - 'doc-5' + - 'doc-50' + - 'doc-51' + - 'doc-52' + - 'doc-53' + - 'doc-54' + - 'doc-55' + - 'doc-56' + - 'doc-57' + - 'doc-58' + - 'doc-59' + - 'doc-6' + - 'doc-60' + - 'doc-61' + - 'doc-62' + - 'doc-63' + - 'doc-64' + - 'doc-65' + - 'doc-66' + - 'doc-67' + - 'doc-68' + - 'doc-69' + - 'doc-7' + - 'doc-70' + - 'doc-71' + - 'doc-72' + - 'doc-73' + - 'doc-74' + - 'doc-75' + - 'doc-76' + - 'doc-77' + - 'doc-78' + - 'doc-79' + - 'doc-8' + - 'doc-9' + - 'public-doc-0' + - 'public-doc-1' + - 'public-doc-3' diff --git a/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-54-results.yaml b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-54-results.yaml new file mode 100644 index 0000000000..a24481ee1a --- /dev/null +++ b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-cursored-lookup-resources-for-fred-page-size-54-results.yaml @@ -0,0 +1,94 @@ +--- +- - 'doc-0' + - 'doc-1' + - 'doc-10' + - 'doc-11' + - 'doc-12' + - 'doc-13' + - 'doc-14' + - 'doc-15' + - 'doc-16' + - 'doc-17' + - 'doc-18' + - 'doc-19' + - 'doc-2' + - 'doc-20' + - 'doc-21' + - 'doc-22' + - 'doc-23' + - 'doc-24' + - 'doc-25' + - 'doc-26' + - 'doc-27' + - 'doc-28' + - 'doc-29' + - 'doc-3' + - 'doc-30' + - 'doc-31' + - 'doc-32' + - 'doc-33' + - 'doc-34' + - 'doc-35' + - 'doc-36' + - 'doc-37' + - 'doc-38' + - 'doc-39' + - 'doc-4' + - 'doc-40' + - 'doc-41' + - 'doc-42' + - 'doc-43' + - 'doc-90' + - 'doc-91' + - 'doc-92' + - 'doc-93' + - 'doc-94' + - 'doc-95' + - 'doc-96' + - 'doc-97' + - 'doc-98' + - 'doc-99' +- - 'doc-44' + - 'doc-45' + - 'doc-46' + - 'doc-47' + - 'doc-48' + - 'doc-49' + - 'doc-5' + - 'doc-50' + - 'doc-51' + - 'doc-52' + - 'doc-53' + - 'doc-54' + - 'doc-55' + - 'doc-56' + - 'doc-57' + - 'doc-58' + - 'doc-59' + - 'doc-6' + - 'doc-60' + - 'doc-61' + - 'doc-62' + - 'doc-63' + - 'doc-64' + - 'doc-65' + - 'doc-66' + - 'doc-67' + - 'doc-68' + - 'doc-69' + - 'doc-7' + - 'doc-70' + - 'doc-71' + - 'doc-72' + - 'doc-73' + - 'doc-74' + - 'doc-75' + - 'doc-76' + - 'doc-77' + - 'doc-78' + - 'doc-79' + - 'doc-8' + - 'doc-9' + - 'public-doc-0' + - 'public-doc-1' + - 'public-doc-3' diff --git a/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-indirect-without-other-permission-page-size-16-results.yaml b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-indirect-without-other-permission-page-size-16-results.yaml new file mode 100644 index 0000000000..0292a6a3a2 --- /dev/null +++ b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-indirect-without-other-permission-page-size-16-results.yaml @@ -0,0 +1,84 @@ +--- +- - 'doc-0' + - 'doc-1' + - 'doc-10' + - 'doc-11' + - 'doc-12' + - 'doc-13' + - 'doc-14' + - 'doc-15' + - 'doc-16' + - 'doc-17' + - 'doc-18' + - 'doc-19' + - 'doc-2' + - 'doc-20' + - 'doc-21' + - 'doc-22' +- - 'doc-23' + - 'doc-24' + - 'doc-25' + - 'doc-26' + - 'doc-27' + - 'doc-28' + - 'doc-29' + - 'doc-3' + - 'doc-30' + - 'doc-31' + - 'doc-32' + - 'doc-33' + - 'doc-34' + - 'doc-35' + - 'doc-36' + - 'doc-37' +- - 'doc-38' + - 'doc-39' + - 'doc-4' + - 'doc-40' + - 'doc-41' + - 'doc-42' + - 'doc-43' + - 'doc-44' + - 'doc-45' + - 'doc-46' + - 'doc-47' + - 'doc-48' + - 'doc-49' + - 'doc-5' + - 'doc-50' + - 'doc-51' +- - 'doc-52' + - 'doc-53' + - 'doc-54' + - 'doc-55' + - 'doc-56' + - 'doc-57' + - 'doc-58' + - 'doc-59' + - 'doc-6' + - 'doc-60' + - 'doc-61' + - 'doc-62' + - 'doc-63' + - 'doc-64' + - 'doc-65' + - 'doc-66' +- - 'doc-67' + - 'doc-68' + - 'doc-69' + - 'doc-7' + - 'doc-70' + - 'doc-71' + - 'doc-72' + - 'doc-73' + - 'doc-74' + - 'doc-75' + - 'doc-76' + - 'doc-77' + - 'doc-78' + - 'doc-79' + - 'doc-8' + - 'doc-9' +- - 'public-doc-0' + - 'public-doc-1' + - 'public-doc-3' diff --git a/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-indirect-without-other-permission-page-size-5-results.yaml b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-indirect-without-other-permission-page-size-5-results.yaml new file mode 100644 index 0000000000..9378e5b804 --- /dev/null +++ b/internal/services/steelthreadtesting/steelresults/indirect-lookup-resources-indirect-without-other-permission-page-size-5-results.yaml @@ -0,0 +1,84 @@ +--- +- - 'doc-0' + - 'doc-1' + - 'doc-10' + - 'doc-11' + - 'doc-12' +- - 'doc-13' + - 'doc-14' + - 'doc-15' + - 'doc-16' + - 'doc-17' +- - 'doc-18' + - 'doc-19' + - 'doc-2' + - 'doc-20' + - 'doc-21' +- - 'doc-22' + - 'doc-23' + - 'doc-24' + - 'doc-25' + - 'doc-26' +- - 'doc-27' + - 'doc-28' + - 'doc-29' + - 'doc-3' + - 'doc-30' +- - 'doc-31' + - 'doc-32' + - 'doc-33' + - 'doc-34' + - 'doc-35' +- - 'doc-36' + - 'doc-37' + - 'doc-38' + - 'doc-39' + - 'doc-4' +- - 'doc-40' + - 'doc-41' + - 'doc-42' + - 'doc-43' + - 'doc-44' +- - 'doc-45' + - 'doc-46' + - 'doc-47' + - 'doc-48' + - 'doc-49' +- - 'doc-5' + - 'doc-50' + - 'doc-51' + - 'doc-52' + - 'doc-53' +- - 'doc-54' + - 'doc-55' + - 'doc-56' + - 'doc-57' + - 'doc-58' +- - 'doc-59' + - 'doc-6' + - 'doc-60' + - 'doc-61' + - 'doc-62' +- - 'doc-63' + - 'doc-64' + - 'doc-65' + - 'doc-66' + - 'doc-67' +- - 'doc-68' + - 'doc-69' + - 'doc-7' + - 'doc-70' + - 'doc-71' +- - 'doc-72' + - 'doc-73' + - 'doc-74' + - 'doc-75' + - 'doc-76' +- - 'doc-77' + - 'doc-78' + - 'doc-79' + - 'doc-8' + - 'doc-9' +- - 'public-doc-0' + - 'public-doc-1' + - 'public-doc-3' diff --git a/internal/testserver/server.go b/internal/testserver/server.go index 1f2278dede..a75527a1bc 100644 --- a/internal/testserver/server.go +++ b/internal/testserver/server.go @@ -33,7 +33,7 @@ var DefaultTestServerConfig = ServerConfig{ MaxPreconditionsCount: 1000, StreamingAPITimeout: 30 * time.Second, MaxRelationshipContextSize: 25000, - UseExperimentalLookupResources2: false, + UseExperimentalLookupResources2: true, } // NewTestServer creates a new test server, using defaults for the config. diff --git a/pkg/cmd/serve.go b/pkg/cmd/serve.go index 19589bcf4a..7e6df92a52 100644 --- a/pkg/cmd/serve.go +++ b/pkg/cmd/serve.go @@ -158,7 +158,7 @@ func RegisterServeFlags(cmd *cobra.Command, config *server.Config) error { experimentalFlags := nfs.FlagSet(BoldBlue("Experimental")) // Flags for experimental features - experimentalFlags.BoolVar(&config.EnableExperimentalLookupResources, "enable-experimental-lookup-resources", false, "enables the experimental version of the lookup resources API") + experimentalFlags.BoolVar(&config.EnableExperimentalLookupResources, "enable-experimental-lookup-resources", true, "enables the experimental version of the lookup resources API") experimentalFlags.BoolVar(&config.EnableExperimentalWatchableSchemaCache, "enable-experimental-watchable-schema-cache", false, "enables the experimental schema cache which makes use of the Watch API for automatic updates") // TODO: these two could reasonably be put in either the Dispatch group or the Experimental group. Is there a preference? experimentalFlags.StringToStringVar(&config.DispatchSecondaryUpstreamAddrs, "experimental-dispatch-secondary-upstream-addrs", nil, "secondary upstream addresses for dispatches, each with a name")