Yet another attempt to make test_wal_receiver test pass

This commit is contained in:
Konstantin Knizhnik
2024-10-25 10:37:18 +03:00
parent 0f63037345
commit 668845fcb7

View File

@@ -16,7 +16,7 @@ if TYPE_CHECKING:
# Ensures that walreceiver does not run without any data inserted and only starts after the insertion.
def test_pageserver_lsn_wait_error_start(neon_env_builder: NeonEnvBuilder):
# Trigger WAL wait timeout faster
neon_env_builder.pageserver_config_override = "wait_lsn_timeout = '10s'"
neon_env_builder.pageserver_config_override = "wait_lsn_timeout = '1s'"
env = neon_env_builder.init_start()
env.pageserver.http_client()
@@ -132,10 +132,19 @@ def insert_test_elements(env: NeonEnv, tenant_id: TenantId, start: int, count: i
last_element_id = first_element_id + count
with env.endpoints.create_start("main", tenant_id=tenant_id) as endpoint:
with endpoint.cursor() as cur:
log.info(f"connstr is {endpoint.connstr()}")
cur.execute("CREATE TABLE IF NOT EXISTS t(key serial primary key, value text)")
ts_before = time.time()
lsn_before = Lsn(endpoint.safe_psql_scalar("select pg_current_wal_lsn()"))
cur.execute(
f"INSERT INTO t SELECT i, CONCAT('payload_', i) FROM generate_series({first_element_id},{last_element_id}) as i"
)
lsn_after = Lsn(endpoint.safe_psql_scalar("select pg_current_wal_lsn()"))
lsn_diff = lsn_after - lsn_before
time_diff = time.time() - ts_before
log.info(
f"inserted {(lsn_diff / 1024 / 1024):.3f} MB of WAL in {time_diff:.3f}s, MB/s: {(lsn_diff / 1024 / 1024) / time_diff}"
)
future_lsn = Lsn("0/FFFFFFFF")