mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-12 07:52:55 +00:00
run some tests in validation mode
Signed-off-by: Alex Chi Z <chi@neon.tech>
This commit is contained in:
@@ -518,6 +518,7 @@ impl Timeline {
|
||||
}
|
||||
|
||||
// Pre-deserialize the rel directory to avoid duplicated work in `get_relsize_cached`.
|
||||
// TODO: refactor this read path to use reldir v2.
|
||||
let reldir_key = rel_dir_to_key(spcnode, dbnode);
|
||||
let buf = version.get(self, reldir_key, ctx).await?;
|
||||
let reldir = RelDirectory::des(&buf)?;
|
||||
@@ -2425,9 +2426,9 @@ impl DatadirModification<'_> {
|
||||
}
|
||||
// It's possible that this is the first rel for this db in this
|
||||
// tablespace. Create the reldir entry for it if so.
|
||||
let mut dbdir = DbDirectory::des(&self.get(DBDIR_KEY, ctx).await?)?;
|
||||
let mut dbdir: DbDirectory = DbDirectory::des(&self.get(DBDIR_KEY, ctx).await?)?;
|
||||
let mut is_dbdir_dirty = false;
|
||||
|
||||
|
||||
let dbdir_exists =
|
||||
if let hash_map::Entry::Vacant(e) = dbdir.dbdirs.entry((rel.spcnode, rel.dbnode)) {
|
||||
// Didn't exist. Update dbdir
|
||||
|
||||
@@ -125,8 +125,13 @@ def patch_tenant_conf(tenant_conf: dict[str, Any], reldir_type: str) -> dict[str
|
||||
if reldir_type == "v2":
|
||||
tenant_conf["rel_size_v2_enabled"] = True
|
||||
tenant_conf["rel_size_v1_access_disabled"] = True
|
||||
else:
|
||||
elif reldir_type == "v1v2":
|
||||
tenant_conf["rel_size_v2_enabled"] = True
|
||||
tenant_conf["rel_size_v1_access_disabled"] = False
|
||||
elif reldir_type == "v1":
|
||||
tenant_conf["rel_size_v2_enabled"] = False
|
||||
else:
|
||||
raise ValueError(f"Invalid reldir_type: {reldir_type}")
|
||||
return tenant_conf
|
||||
|
||||
|
||||
@@ -134,7 +139,7 @@ def patch_tenant_conf(tenant_conf: dict[str, Any], reldir_type: str) -> dict[str
|
||||
#
|
||||
@pytest.mark.timeout(3000) # Contains many sub-tests, is slow in debug builds
|
||||
@pytest.mark.parametrize("shard_count", [None, 4])
|
||||
@pytest.mark.parametrize("reldir_type", ["v1", "v2"])
|
||||
@pytest.mark.parametrize("reldir_type", ["v1", "v1v2", "v2"])
|
||||
def test_pg_regress(
|
||||
neon_env_builder: NeonEnvBuilder,
|
||||
test_output_dir: Path,
|
||||
@@ -214,7 +219,7 @@ def test_pg_regress(
|
||||
#
|
||||
@pytest.mark.timeout(1500) # Contains many sub-tests, is slow in debug builds
|
||||
@pytest.mark.parametrize("shard_count", [None, 4])
|
||||
@pytest.mark.parametrize("reldir_type", ["v1", "v2"])
|
||||
@pytest.mark.parametrize("reldir_type", ["v1", "v1v2", "v2"])
|
||||
def test_isolation(
|
||||
neon_env_builder: NeonEnvBuilder,
|
||||
test_output_dir: Path,
|
||||
@@ -294,7 +299,7 @@ def test_isolation(
|
||||
# Run extra Neon-specific pg_regress-based tests. The tests and their
|
||||
# schedule file are in the sql_regress/ directory.
|
||||
@pytest.mark.parametrize("shard_count", [None, 4])
|
||||
@pytest.mark.parametrize("reldir_type", ["v1", "v2"])
|
||||
@pytest.mark.parametrize("reldir_type", ["v1", "v1v2", "v2"])
|
||||
def test_sql_regress(
|
||||
neon_env_builder: NeonEnvBuilder,
|
||||
test_output_dir: Path,
|
||||
@@ -417,7 +422,7 @@ def test_max_wal_rate(neon_simple_env: NeonEnv):
|
||||
|
||||
|
||||
@skip_in_debug_build("only run with release build")
|
||||
@pytest.mark.parametrize("reldir_type", ["v1", "v2"])
|
||||
@pytest.mark.parametrize("reldir_type", ["v1", "v1v2", "v2"])
|
||||
def test_tx_abort_with_many_relations(
|
||||
neon_env_builder: NeonEnvBuilder,
|
||||
reldir_type: str,
|
||||
|
||||
Reference in New Issue
Block a user