Fix flaky tests (#3616)

## Describe your changes

test_on_demand_download is flaky because not waiting until created image
layer is transferred to S3.
test_tenants_with_remote_storage just leaves garbage at the end of
overwritten file.

Right solution for test_on_demand_download is to add some API call to
wait completion of synchronization with S3 (not just based on last
record LSN). But right now it is solved using sleep.

## Issue ticket number and link

#3209 

## Checklist before requesting a review
- [ ] I have performed a self-review of my code.
- [ ] If it is a core feature, I have added thorough tests.
- [ ] Do we need to implement analytics? if so did you add the relevant
metrics to the dashboard?
- [ ] If this PR requires public announcement, mark it with
/release-notes label and add several sentences in this section.
This commit is contained in:
Konstantin Knizhnik
2023-02-17 15:56:56 +02:00
committed by GitHub
parent d90cd36bcc
commit b242b0ad67
2 changed files with 4 additions and 0 deletions

View File

@@ -218,6 +218,9 @@ def test_ondemand_download_timetravel(
log.info(filled_size)
assert filled_current_physical == filled_size, "we don't yet do layer eviction"
# Wait until generated image layers are uploaded to S3
time.sleep(3)
env.pageserver.stop()
# remove all the layer files

View File

@@ -280,6 +280,7 @@ def test_tenant_upgrades_index_json_from_v0(
timeline_file.seek(0)
json.dump(v0_index_part, timeline_file)
timeline_file.truncate(timeline_file.tell())
env.pageserver.start()
pageserver_http = env.pageserver.http_client()