Files
neon/test_runner/regress/test_sharding.py
2023-12-05 12:05:27 +00:00

20 lines
1021 B
Python

from fixtures.neon_fixtures import NeonEnvBuilder
import pytest
@pytest.mark.parametrize("shard_count", [2])
def test_sharding(neon_env_builder: NeonEnvBuilder, shard_count: int):
neon_env_builder.enable_generations = True
neon_env_builder.initial_shard_count = shard_count
neon_env_builder.num_pageservers = shard_count
env = neon_env_builder.init_start()
for pageserver in env.pageservers:
# FIXME: attachment_service is not yet sharding aware, so generation validation is broken.
pageserver.allowed_errors.append(".*Dropped remote consistent LSN updates.*")
pageserver.allowed_errors.append(".*Dropping stale deletions for tenant.*")
endpoint = env.endpoints.create_start("main", pageserver_ids=[p.id for p in env.pageservers])
endpoint.safe_psql("create table t(t bigint, payload text default repeat('?',200))")
endpoint.safe_psql("insert into t values(generate_series(1,10000000))")
assert endpoint.safe_psql("select count(*) from t")[0][0] == 10000000