mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 13:36:02 -04:00
Add logging on startup/shutdown (#8448)
This is so we can tell what is going on when things are taking a while to start up. The main change here is to ensure that transactions that are created during startup get correctly logged like normal transactions.
This commit is contained in:
parent
ec10bdd32b
commit
e3debf9682
25 changed files with 152 additions and 113 deletions
|
@ -13,7 +13,6 @@
|
|||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import imp
|
||||
import logging
|
||||
import os
|
||||
|
@ -24,9 +23,10 @@ from typing import Optional, TextIO
|
|||
import attr
|
||||
|
||||
from synapse.config.homeserver import HomeServerConfig
|
||||
from synapse.storage.database import LoggingDatabaseConnection
|
||||
from synapse.storage.engines import BaseDatabaseEngine
|
||||
from synapse.storage.engines.postgres import PostgresEngine
|
||||
from synapse.storage.types import Connection, Cursor
|
||||
from synapse.storage.types import Cursor
|
||||
from synapse.types import Collection
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
@ -67,7 +67,7 @@ UNAPPLIED_DELTA_ON_WORKER_ERROR = (
|
|||
|
||||
|
||||
def prepare_database(
|
||||
db_conn: Connection,
|
||||
db_conn: LoggingDatabaseConnection,
|
||||
database_engine: BaseDatabaseEngine,
|
||||
config: Optional[HomeServerConfig],
|
||||
databases: Collection[str] = ["main", "state"],
|
||||
|
@ -89,7 +89,7 @@ def prepare_database(
|
|||
"""
|
||||
|
||||
try:
|
||||
cur = db_conn.cursor()
|
||||
cur = db_conn.cursor(txn_name="prepare_database")
|
||||
|
||||
# sqlite does not automatically start transactions for DDL / SELECT statements,
|
||||
# so we start one before running anything. This ensures that any upgrades
|
||||
|
@ -258,9 +258,7 @@ def _setup_new_database(cur, database_engine, databases):
|
|||
executescript(cur, entry.absolute_path)
|
||||
|
||||
cur.execute(
|
||||
database_engine.convert_param_style(
|
||||
"INSERT INTO schema_version (version, upgraded) VALUES (?,?)"
|
||||
),
|
||||
"INSERT INTO schema_version (version, upgraded) VALUES (?,?)",
|
||||
(max_current_ver, False),
|
||||
)
|
||||
|
||||
|
@ -486,17 +484,13 @@ def _upgrade_existing_database(
|
|||
|
||||
# Mark as done.
|
||||
cur.execute(
|
||||
database_engine.convert_param_style(
|
||||
"INSERT INTO applied_schema_deltas (version, file) VALUES (?,?)"
|
||||
),
|
||||
"INSERT INTO applied_schema_deltas (version, file) VALUES (?,?)",
|
||||
(v, relative_path),
|
||||
)
|
||||
|
||||
cur.execute("DELETE FROM schema_version")
|
||||
cur.execute(
|
||||
database_engine.convert_param_style(
|
||||
"INSERT INTO schema_version (version, upgraded) VALUES (?,?)"
|
||||
),
|
||||
"INSERT INTO schema_version (version, upgraded) VALUES (?,?)",
|
||||
(v, True),
|
||||
)
|
||||
|
||||
|
@ -532,10 +526,7 @@ def _apply_module_schema_files(cur, database_engine, modname, names_and_streams)
|
|||
schemas to be applied
|
||||
"""
|
||||
cur.execute(
|
||||
database_engine.convert_param_style(
|
||||
"SELECT file FROM applied_module_schemas WHERE module_name = ?"
|
||||
),
|
||||
(modname,),
|
||||
"SELECT file FROM applied_module_schemas WHERE module_name = ?", (modname,),
|
||||
)
|
||||
applied_deltas = {d for d, in cur}
|
||||
for (name, stream) in names_and_streams:
|
||||
|
@ -553,9 +544,7 @@ def _apply_module_schema_files(cur, database_engine, modname, names_and_streams)
|
|||
|
||||
# Mark as done.
|
||||
cur.execute(
|
||||
database_engine.convert_param_style(
|
||||
"INSERT INTO applied_module_schemas (module_name, file) VALUES (?,?)"
|
||||
),
|
||||
"INSERT INTO applied_module_schemas (module_name, file) VALUES (?,?)",
|
||||
(modname, name),
|
||||
)
|
||||
|
||||
|
@ -627,9 +616,7 @@ def _get_or_create_schema_state(txn, database_engine):
|
|||
|
||||
if current_version:
|
||||
txn.execute(
|
||||
database_engine.convert_param_style(
|
||||
"SELECT file FROM applied_schema_deltas WHERE version >= ?"
|
||||
),
|
||||
"SELECT file FROM applied_schema_deltas WHERE version >= ?",
|
||||
(current_version,),
|
||||
)
|
||||
applied_deltas = [d for d, in txn]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue