)]}'
{"doc/source/howtos/installation.rst":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"de3d42a814e0ee59b39f765e97659a659153c5aa","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    [connection mysql]"},{"line_number":152,"context_line":"    driver\u003dsql"},{"line_number":153,"context_line":"    dburi\u003dmysql+pymysql://zuul:secret@mysql/zuul"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"See :ref:`components` and :ref:`connections` for more details."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":33,"id":"a2bb758f_4a3087a3","line":153,"updated":"2020-12-03 15:44:27.000000000","message":"Should we think about changing this from a standard connection entry to a new section?  Like:\n\n  [database]\n  dburi\u003d...\n\nThe big advantage of making this change would be to eliminate the suggestion of being able to have more than one sql connection.\n\nUnless we want to keep the door open for multiple connections?  I don\u0027t think we\u0027d ever have more than one per tenant, but I could see someone wanting a different connection for one or more tenants...\n\nIf we were to do this, we should add the new syntax now while supporting the old, then remove the old in 4.1.0, based on my reading of  http://lists.zuul-ci.org/pipermail/zuul-discuss/2020-March/001158.html","commit_id":"104a45daa3384126dbea7a961cc23f01b56ba4ce"}],"doc/source/reference/connections.rst":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"de3d42a814e0ee59b39f765e97659a659153c5aa","unresolved":false,"context_lines":[{"line_number":43,"context_line":"for that server."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The components zuul-scheduler and zuul-web require at least one configured"},{"line_number":46,"context_line":"sql connection."}],"source_content_type":"text/x-rst","patch_set":33,"id":"bf5d9998_10d7b906","line":46,"updated":"2020-12-03 15:44:27.000000000","message":"I think the sql driver docs need an update to add the \u0027default\u0027 parameter.","commit_id":"104a45daa3384126dbea7a961cc23f01b56ba4ce"}],"doc/source/reference/drivers/sql.rst":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"29be8e6a43856ab50e45b892ce4738f5005bbd2c","unresolved":false,"context_lines":[{"line_number":8,"context_line":".. warning::"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   This driver is deprecated, use :attr:`database` configuration instead"},{"line_number":11,"context_line":"   instead."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The SQL driver supports reporters only.  Only one connection per"},{"line_number":14,"context_line":"database is permitted."}],"source_content_type":"text/x-rst","patch_set":36,"id":"31adfc63_a61fef31","line":11,"updated":"2021-02-01 23:23:43.000000000","message":"Duplicate word is duplicated.  :)","commit_id":"c821135889ea8f96bd232917b46edf1ff109f4b6"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"7f705220bed96ca5e921d57a4010586ccddc4547","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"      If there is more than one sql connection defined exactly one of them"},{"line_number":64,"context_line":"      must be marked as default. This connection will then be used for storing"},{"line_number":65,"context_line":"      build results if no other connection is marked as default in the tenant"},{"line_number":66,"context_line":"      configuration."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. _sql_reporter:"}],"source_content_type":"text/x-rst","patch_set":39,"id":"5995ec57_5825d937","line":65,"updated":"2021-02-03 21:29:15.000000000","message":"I think this is incorrect.  Reading back over the comments, I think we did not fully transition from the \"default\" flag idea to the \"first connection\" idea.  I don\u0027t see any code that actually acts on this flag right now.\n\nI think the way to resolve this is to remove this flag and any lingering references to \"default\".","commit_id":"82787ca76905c24cf74c83fe8f7c3473d2a62507"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"308d583f7d74abb024930523cda0a8a5f18270d9","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"      If there is more than one sql connection defined exactly one of them"},{"line_number":64,"context_line":"      must be marked as default. This connection will then be used for storing"},{"line_number":65,"context_line":"      build results if no other connection is marked as default in the tenant"},{"line_number":66,"context_line":"      configuration."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. _sql_reporter:"}],"source_content_type":"text/x-rst","patch_set":39,"id":"d3af71c7_56aef1c8","line":65,"updated":"2021-02-05 17:14:11.000000000","message":"I think this is incorrect.  Reading back over the comments, I think we did not fully transition from the \"default\" flag idea to the \"first connection\" idea.  I don\u0027t see any code that actually acts on this flag right now.\n\nI think the way to resolve this is to remove this flag and any lingering references to \"default\".","commit_id":"82787ca76905c24cf74c83fe8f7c3473d2a62507"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"7662f264b695920f1d97427ef87571684768fd47","unresolved":true,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"      If there is more than one sql connection defined exactly one of them"},{"line_number":64,"context_line":"      must be marked as default. This connection will then be used for storing"},{"line_number":65,"context_line":"      build results if no other connection is marked as default in the tenant"},{"line_number":66,"context_line":"      configuration."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. _sql_reporter:"}],"source_content_type":"text/x-rst","patch_set":39,"id":"46703452_66b466c2","line":65,"range":{"start_line":65,"start_character":20,"end_line":65,"end_character":1},"updated":"2021-02-03 19:46:49.000000000","message":"Is this correct? Should it be `otherwise the first connection will be selected` ?","commit_id":"82787ca76905c24cf74c83fe8f7c3473d2a62507"}],"requirements.txt":[{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"7662f264b695920f1d97427ef87571684768fd47","unresolved":true,"context_lines":[{"line_number":11,"context_line":"extras"},{"line_number":12,"context_line":"statsd\u003e\u003d3.0"},{"line_number":13,"context_line":"voluptuous\u003e\u003d0.10.2"},{"line_number":14,"context_line":"gear\u003d\u003d0.15.0"},{"line_number":15,"context_line":"apscheduler\u003e\u003d3.0"},{"line_number":16,"context_line":"PrettyTable\u003e\u003d0.6,\u003c0.8"},{"line_number":17,"context_line":"babel\u003e\u003d1.0"}],"source_content_type":"text/plain","patch_set":39,"id":"d957a722_71a60700","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":3},"updated":"2021-02-03 19:46:49.000000000","message":"is this related to the change?","commit_id":"82787ca76905c24cf74c83fe8f7c3473d2a62507"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"752114c0bf1ff1bf19062eaf05f77ad5def85efb","unresolved":true,"context_lines":[{"line_number":11,"context_line":"extras"},{"line_number":12,"context_line":"statsd\u003e\u003d3.0"},{"line_number":13,"context_line":"voluptuous\u003e\u003d0.10.2"},{"line_number":14,"context_line":"gear\u003d\u003d0.15.0"},{"line_number":15,"context_line":"apscheduler\u003e\u003d3.0"},{"line_number":16,"context_line":"PrettyTable\u003e\u003d0.6,\u003c0.8"},{"line_number":17,"context_line":"babel\u003e\u003d1.0"}],"source_content_type":"text/plain","patch_set":39,"id":"5c842174_bdb52dac","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":3},"in_reply_to":"d957a722_71a60700","updated":"2021-02-03 20:28:52.000000000","message":"whoops, that should not have landed here. I\u0027ve accidentally committed this.\n\nBackground: 0.15.0 is the only version so far that works on mac so I override that version on my development machine before creating the tox environment. However that version is intentionally excluded since it had a  performance regression on linux.","commit_id":"82787ca76905c24cf74c83fe8f7c3473d2a62507"}],"tests/base.py":[{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"e194ca53e40258abba8f7122b7da4c1399daddec","unresolved":false,"context_lines":[{"line_number":5081,"context_line":"    use_ssl \u003d True"},{"line_number":5082,"context_line":""},{"line_number":5083,"context_line":""},{"line_number":5084,"context_line":"class ZuulDBTestCase(ZuulTestCase):"},{"line_number":5085,"context_line":"    def setup_config(self, config_file: str):"},{"line_number":5086,"context_line":"        config \u003d super(ZuulDBTestCase, self).setup_config(config_file)"},{"line_number":5087,"context_line":"        for section_name in config.sections():"}],"source_content_type":"text/x-python","patch_set":27,"id":"3f65232a_a504d318","side":"PARENT","line":5084,"updated":"2020-10-26 10:42:00.000000000","message":"Thinking about it I think I\u0027ll try to keep the ZuulDBTestCase and mock the db connection in ZuulTestCase so we have no impact on the test duration.","commit_id":"a0de74bef87678514749c2e8aab9cbbbca847a1e"}],"tests/fixtures/config/sql-driver/git/common-config/zuul.yaml":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"29be8e6a43856ab50e45b892ce4738f5005bbd2c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    failure:"},{"line_number":11,"context_line":"      gerrit:"},{"line_number":12,"context_line":"        Verified: -1"},{"line_number":13,"context_line":"      resultsdb_failures: null"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"- pipeline:"},{"line_number":16,"context_line":"    name: gate"}],"source_content_type":"text/x-yaml","patch_set":36,"id":"54d2b610_8cf8fcd7","line":13,"updated":"2021-02-01 23:23:43.000000000","message":"My understanding is we\u0027ll keep this here for the next step (4.1.0: warn on sql reporters in pipelines).  Then sometime after that and before 5.0, we can remove this entirely.","commit_id":"c821135889ea8f96bd232917b46edf1ff109f4b6"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"29be8e6a43856ab50e45b892ce4738f5005bbd2c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"      gerrit:"},{"line_number":42,"context_line":"        - event: ref-updated"},{"line_number":43,"context_line":"          ref: ^refs/tags/.*$"},{"line_number":44,"context_line":"    success:"},{"line_number":45,"context_line":"    failure:"},{"line_number":46,"context_line":"      resultsdb_failures: null"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":36,"id":"adc70ee1_94132716","line":44,"updated":"2021-02-01 23:23:43.000000000","message":"We should remove this empty section (it produces a config error).","commit_id":"c821135889ea8f96bd232917b46edf1ff109f4b6"}],"tests/fixtures/zuul-sql-driver-multiple-default-connections.conf":[{"author":{"_account_id":30637,"name":"Jan Kubovy","email":"jan.kubovy@bmw.de","username":"kubovy"},"change_message_id":"71f92ad45ecf0070b04c3007b81f369feb48291d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"dburi\u003d$MYSQL_FIXTURE_DBURI$"},{"line_number":24,"context_line":"default\u003dtrue"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"[connection resultsdb_mysql_failures]"},{"line_number":27,"context_line":"driver\u003dsql"},{"line_number":28,"context_line":"dburi\u003d$MYSQL_FIXTURE_DBURI$"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[connection resultsdb_postgresql]"},{"line_number":31,"context_line":"driver\u003dsql"},{"line_number":32,"context_line":"dburi\u003d$POSTGRESQL_FIXTURE_DBURI$"},{"line_number":33,"context_line":"default\u003dtrue"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"[connection resultsdb_postgresql_failures]"},{"line_number":36,"context_line":"driver\u003dsql"},{"line_number":37,"context_line":"dburi\u003d$POSTGRESQL_FIXTURE_DBURI$"}],"source_content_type":"text/plain","patch_set":20,"id":"ff570b3c_13221b02","line":37,"range":{"start_line":26,"start_character":0,"end_line":37,"end_character":32},"updated":"2020-05-27 12:43:21.000000000","message":"Those connections are ignored, see related tests","commit_id":"f711b1f9d90c811ee87e5a1ac42ded24c940b71b"}],"tests/fixtures/zuul-sql-driver-multiple-no-default-connection.conf":[{"author":{"_account_id":30637,"name":"Jan Kubovy","email":"jan.kubovy@bmw.de","username":"kubovy"},"change_message_id":"71f92ad45ecf0070b04c3007b81f369feb48291d","unresolved":false,"context_lines":[{"line_number":22,"context_line":"driver\u003dsql"},{"line_number":23,"context_line":"dburi\u003d$MYSQL_FIXTURE_DBURI$"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"[connection resultsdb_mysql_failures]"},{"line_number":26,"context_line":"driver\u003dsql"},{"line_number":27,"context_line":"dburi\u003d$MYSQL_FIXTURE_DBURI$"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"[connection resultsdb_postgresql]"},{"line_number":30,"context_line":"driver\u003dsql"},{"line_number":31,"context_line":"dburi\u003d$POSTGRESQL_FIXTURE_DBURI$"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"[connection resultsdb_postgresql_failures]"},{"line_number":34,"context_line":"driver\u003dsql"},{"line_number":35,"context_line":"dburi\u003d$POSTGRESQL_FIXTURE_DBURI$"}],"source_content_type":"text/plain","patch_set":20,"id":"ff570b3c_7321d7fb","line":35,"range":{"start_line":25,"start_character":0,"end_line":35,"end_character":32},"updated":"2020-05-27 12:43:21.000000000","message":"Those connections are ignored, see related tests","commit_id":"f711b1f9d90c811ee87e5a1ac42ded24c940b71b"}],"tests/unit/test_connection.py":[{"author":{"_account_id":30637,"name":"Jan Kubovy","email":"jan.kubovy@bmw.de","username":"kubovy"},"change_message_id":"a6b3036fffaa8c35092397385107c68a7d21b6a9","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        check_results(\u0027resultsdb_mysql\u0027)"},{"line_number":227,"context_line":"        check_results(\u0027resultsdb_postgresql\u0027)"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def test_multiple_sql_connections(self):"},{"line_number":230,"context_line":"        \"Test putting results in different databases\""},{"line_number":231,"context_line":"        # Add a successful result"},{"line_number":232,"context_line":"        A \u003d self.fake_gerrit.addFakeChange(\u0027org/project\u0027, \u0027master\u0027, \u0027A\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"df33271e_28822250","side":"PARENT","line":229,"range":{"start_line":229,"start_character":0,"end_line":229,"end_character":44},"updated":"2020-03-27 13:52:35.000000000","message":"This is not a valid usecase anymore","commit_id":"fd2ca4fc6e7d038d6f2d285a470e39975ee14c8d"},{"author":{"_account_id":30637,"name":"Jan Kubovy","email":"jan.kubovy@bmw.de","username":"kubovy"},"change_message_id":"71f92ad45ecf0070b04c3007b81f369feb48291d","unresolved":false,"context_lines":[{"line_number":279,"context_line":"                tenant.layout.pipelines[\u0027check\u0027].failure_actions,"},{"line_number":280,"context_line":"                connection_name_2"},{"line_number":281,"context_line":"            )"},{"line_number":282,"context_line":"            self.assertIsNone(reporter2)  # Explicit SQL reporters are ignored"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"            buildsets_resultsdb_failures \u003d conn.execute(sa.sql.select("},{"line_number":285,"context_line":"                [reporter1.connection.zuul_buildset_table])).fetchall()"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff570b3c_d38543d1","line":282,"range":{"start_line":282,"start_character":12,"end_line":282,"end_character":40},"updated":"2020-05-27 12:43:21.000000000","message":"Ignoring explicit SQL connections","commit_id":"f711b1f9d90c811ee87e5a1ac42ded24c940b71b"},{"author":{"_account_id":30637,"name":"Jan Kubovy","email":"jan.kubovy@bmw.de","username":"kubovy"},"change_message_id":"71f92ad45ecf0070b04c3007b81f369feb48291d","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            self.assertEqual(2, len(buildsets_resultsdb_failures))"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"            self.assertEqual("},{"line_number":290,"context_line":"                \u0027check\u0027, buildsets_resultsdb_failures[1][\u0027pipeline\u0027])"},{"line_number":291,"context_line":"            self.assertEqual(\u0027org/project\u0027,"},{"line_number":292,"context_line":"                             buildsets_resultsdb_failures[1][\u0027project\u0027])"},{"line_number":293,"context_line":"            self.assertEqual(2,"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff570b3c_b361af3c","line":290,"range":{"start_line":290,"start_character":54,"end_line":290,"end_character":55},"updated":"2020-05-27 12:43:21.000000000","message":"all results in the one reporter \"reporter1\".","commit_id":"f711b1f9d90c811ee87e5a1ac42ded24c940b71b"}],"tests/unit/test_web.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"dc4884c469a69aaba51b7e57a0f83ec64cc5f52a","unresolved":false,"context_lines":[{"line_number":969,"context_line":"        self.assertEqual([secret], run[0][\u0027secrets\u0027])"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"class TestInfo(ZuulDBTestCase, BaseTestWeb):"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"    config_file \u003d \u0027zuul-sql-driver.conf\u0027"},{"line_number":975,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"ff570b3c_097152df","line":972,"updated":"2020-05-27 08:26:09.000000000","message":"linters: F821 undefined name \u0027ZuulDBTestCase\u0027","commit_id":"363a4d497232b5278842017c61435663b23ef16a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b7ee683e7818bc935a58f689289d2185367c10d9","unresolved":false,"context_lines":[{"line_number":2090,"context_line":"        self.assertEqual(\"some reason\", ah_request[\u0027reason\u0027])"},{"line_number":2091,"context_line":""},{"line_number":2092,"context_line":""},{"line_number":2093,"context_line":"class TestHeldAttributeInBuildInfo(ZuulDBTestCase, BaseTestWeb):"},{"line_number":2094,"context_line":"    config_file \u003d \u0027zuul-sql-driver.conf\u0027"},{"line_number":2095,"context_line":"    tenant_config_file \u003d \u0027config/sql-driver/main.yaml\u0027"},{"line_number":2096,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"3f65232a_40b20de8","line":2093,"updated":"2020-10-26 11:25:54.000000000","message":"linters: F821 undefined name \u0027ZuulDBTestCase\u0027","commit_id":"d9f42043074c9c462a2e2239a6efb37ab01e6e62"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"7f705220bed96ca5e921d57a4010586ccddc4547","unresolved":false,"context_lines":[{"line_number":1172,"context_line":""},{"line_number":1173,"context_line":"        resp \u003d self.get_url(\"api/tenant/non-tenant/builds\")"},{"line_number":1174,"context_line":"        # This should be ideally 404 when zuul-web can check lightweight"},{"line_number":1175,"context_line":"        # for tenant existence."},{"line_number":1176,"context_line":"        self.assertEqual(404, resp.status_code)"},{"line_number":1177,"context_line":""},{"line_number":1178,"context_line":"    def test_web_badge(self):"}],"source_content_type":"text/x-python","patch_set":39,"id":"e8c2623f_8cae13a8","line":1175,"updated":"2021-02-03 21:29:15.000000000","message":"I\u0027m not sure we need this comment; it seems to suggest future work but this is the case now.","commit_id":"82787ca76905c24cf74c83fe8f7c3473d2a62507"}],"zuul/cmd/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"7f705220bed96ca5e921d57a4010586ccddc4547","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import abc"},{"line_number":17,"context_line":"import argparse"},{"line_number":18,"context_line":"import configparser"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import daemon"},{"line_number":21,"context_line":"import extras"},{"line_number":22,"context_line":"import io"}],"source_content_type":"text/x-python","patch_set":39,"id":"6f02cbeb_3cc70168","line":19,"updated":"2021-02-03 21:29:15.000000000","message":"Yep.","commit_id":"82787ca76905c24cf74c83fe8f7c3473d2a62507"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"7662f264b695920f1d97427ef87571684768fd47","unresolved":true,"context_lines":[{"line_number":16,"context_line":"import abc"},{"line_number":17,"context_line":"import argparse"},{"line_number":18,"context_line":"import configparser"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import daemon"},{"line_number":21,"context_line":"import extras"},{"line_number":22,"context_line":"import io"}],"source_content_type":"text/x-python","patch_set":39,"id":"878caf4a_6b10a2ad","line":19,"updated":"2021-02-03 19:46:49.000000000","message":"nit: could this empty line be removed?","commit_id":"82787ca76905c24cf74c83fe8f7c3473d2a62507"}],"zuul/lib/connections.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"de3d42a814e0ee59b39f765e97659a659153c5aa","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    def getSqlDefault(self) -\u003e SQLConnection:"},{"line_number":183,"context_line":"        \"\"\""},{"line_number":184,"context_line":"        Gets the default SQL connection. This is whether the only configured"},{"line_number":185,"context_line":"        connection or one marked as default."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        :return: Default SQL connection."}],"source_content_type":"text/x-python","patch_set":33,"id":"e85c068c_e1abfce0","line":184,"updated":"2020-12-03 15:44:27.000000000","message":"s/whether/either/","commit_id":"104a45daa3384126dbea7a961cc23f01b56ba4ce"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"de3d42a814e0ee59b39f765e97659a659153c5aa","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    def getSqlDefaultReporter(self, pipeline: model.Pipeline) -\u003e SQLReporter:"},{"line_number":203,"context_line":"        \"\"\""},{"line_number":204,"context_line":"        Gets the defatul SQL reporter. Such reporter is based on the"},{"line_number":205,"context_line":"        `getSqlDefault`."},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        :param pipeline: Pipeline"}],"source_content_type":"text/x-python","patch_set":33,"id":"5f4e23f0_45e6aef2","line":204,"updated":"2020-12-03 15:44:27.000000000","message":"s/defatul/default/","commit_id":"104a45daa3384126dbea7a961cc23f01b56ba4ce"}],"zuul/web/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"29be8e6a43856ab50e45b892ce4738f5005bbd2c","unresolved":false,"context_lines":[{"line_number":705,"context_line":"    @ttl_cache(ttl\u003d600)"},{"line_number":706,"context_line":"    def _tenants(self):"},{"line_number":707,"context_line":"        job \u003d self.rpc.submitJob(\u0027zuul:tenant_list\u0027, {})"},{"line_number":708,"context_line":"        return json.loads(job.data[0])"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"    @cherrypy.expose"},{"line_number":711,"context_line":"    @cherrypy.tools.json_out(content_type\u003d\u0027application/json; charset\u003dutf-8\u0027)"}],"source_content_type":"text/x-python","patch_set":36,"id":"d437dc35_68716f00","line":708,"updated":"2021-02-01 23:23:43.000000000","message":"This is necessary so that /api/tenant/foo/builds can still return 404 as it currently does.\n\nHowever, I think we should keep the cache time very low.  We\u0027re already effectively doing an RPC call on each hit to /builds; any caching is an optimization.  However, a long cache will mean that adding a tenant won\u0027t be reflected in the web ui, and the first thing I would do as a user after adding a tenant is to check the web ui.  Let\u0027s set this to 60 seconds for now.  Once we start using ZK, we shouldn\u0027t need this anymore.\n\nThere were some unit test failures related to caching (because they wanted to look up the number of items in the queue for a tenant, and were getting old cached values).  I cleared the cache in the unit tests to handle that.","commit_id":"c821135889ea8f96bd232917b46edf1ff109f4b6"}]}
