Repository navigation
fix: e2e and post leave nothing behind - #223
Merged
Merged
Conversation
The console TLS precheck fails closed. Run as a user who cannot enter the certificate directory, proxy_tls.py died on a PermissionError with nothing on stdout, and make read the empty answer as no problem. It now names the directory it cannot open, and the Makefile turns any non-zero exit from the precheck into the refusal. post.py's routing claim drops the `postroute<8 hex>` table its own source deployed, once the source delete has gone through. The engine's source delete takes the topics, the fetcher instance and the receiver rule and leaves the table, so every self test left one behind. The delete gets 90 s, enough for the engine to remove two topics from a broker that does not answer. A delete with no answer is reported instead of raised. The schema guard lets that one statement through. The search-to-rule test deletes the `e2e` organisation and the `e2e-analyst` account when this run made them, after the hunt and the rule. One that already existed stays. The concurrent-send test asserts how many requests the stand-in receiver held at once instead of a time ceiling, which a busy host broke.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three things the e2e harness and the self test left behind, found running the suite on the docker GA target.
proxy_tls.py precheckdied on a PermissionError with nothing on stdout, and the Makefile read that as no problem. It now says which directory it cannot open. The Makefile also turns ANY non-zero exit from the precheck into the refusal, so a crash refuses the start instead of passing it.postroute<8 hex>table on every run, because the engine's source delete takes the topics, fetcher instance and receiver rule but not the table. The claim now drops that table once the source delete has gone through, and only a name of that exact shape. The delete gets 90 s, enough for the engine to remove two topics from a broker that does not answer, and a delete with no answer is reported instead of raised.e2eorganisation and thee2e-analystaccount and never deleted them. It now deletes whichever of the two it made, after the hunt and the rule.Heads up: the schema guard (
test_engine_only_schema_control.py) holds ClickHouse DDL to dfe-engine. This lets exactly ONE statement through: post.py'sDROP TABLE IF EXISTS {database}.{name} SYNCfor its own throwaway table, plus the test line that asserts it. That is the same footing test_e2e.py already has for its own database. The engine offers no way to drop a source's table, so the alternative is an engine change that drops it on source delete.Also in here: the concurrent-send test from #222 asserted a time ceiling that a busy host broke. It now asserts how many requests the stand-in receiver held at once.
Done when CI is green and the GA target shows no post.py table, organisation or account left behind after
make postand the detection tests.