Fix CnosDB CI: replace insufficient sleep with readiness poll#1310
Open
Fix CnosDB CI: replace insufficient sleep with readiness poll#1310
Conversation
6347adf to
d63f9c6
Compare
Two issues caused CnosDB test failures: 1. HTTP ping responded before storage layer was ready, causing "Resource temporarily unavailable" on first SQL command. Use SQL-level readiness check instead. 2. Mismatched Log4j versions (log4j-api 2.10.0 vs log4j-core 2.18.0) from Hive transitive dependencies caused NoSuchMethodError. Exclude log4j-slf4j-impl from Hive deps, align Log4j2 at 2.24.3, and add log4j-slf4j2-impl for SLF4J 2.x compatibility. Also fix copy-paste error in CI step name and upgrade HSQLDB to 2.7.4. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…and SQL readiness check CnosDB cannot reliably drop a database when the API request targets that same database. Use a separate client connected to "public" for DROP/CREATE DATABASE operations. Also limit to single thread since CnosDB's storage engine cannot handle concurrent database lifecycle operations, and replace the CI port check with a SQL readiness poll. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
d63f9c6 to
e3a5407
Compare
CnosDB's Tskv index storage may not be fully ready even after the HTTP API responds to simple queries. On CI runners, DDL operations like DROP/CREATE DATABASE consistently fail with "Resource temporarily unavailable (os error 11)". Additionally, a newly created database may not be immediately queryable, causing "Database not found" errors. Add executeWithRetry() that retries these specific transient errors during database setup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The DROP DATABASE may appear to succeed but not yet propagate in CnosDB's storage layer, causing the subsequent CREATE DATABASE to fail with "Database already exists". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Retrying just CREATE DATABASE on "already exists" is futile when the preceding DROP hasn't propagated in CnosDB's storage layer. Instead, retry the DROP+CREATE sequence together so the DROP is re-issued before each CREATE attempt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
CnosDB setup had only a 5s sleep after starting the container, causing "Resource temporarily unavailable" errors. Poll the /api/v1/ping endpoint instead. Also fix copy-paste error in step name.