build(#29): adopt qbit-quick-search 1.0.0-RC.2 #30
Open
KofTwentyTwo wants to merge 2 commits from
feature/GH-29-adopt-quick-search-rc2 into develop
pull from: feature/GH-29-adopt-quick-search-rc2
merge into: QRun-IO:develop
QRun-IO:develop
QRun-IO:ci-qrun-aggregate-container-develop-20261104
QRun-IO:ci-proof/shared-aggregate-20261102
QRun-IO:ci-qrun-release-caller-develop-v1
QRun-IO:ci-qrun-release-caller-main-v1
QRun-IO:chore/drop-guarded-column-stats
QRun-IO:fix/enterprise-custom-fields-403
QRun-IO:archive/qrun-github-cutover-20261101/8015b8b09014/develop
QRun-IO:feat/enterprise-mock-sessions
QRun-IO:archive/qrun-github-cutover-20261101/2c8abf6a64a1/develop
QRun-IO:feat/enterprise-assistant
QRun-IO:feat/enterprise-quick-search-all
QRun-IO:feat/enterprise-column-stats
QRun-IO:feat/enterprise-terminal-test
QRun-IO:fix/guava-verified-20261030
QRun-IO:fix/guava-security-20261029
QRun-IO:main
QRun-IO:feature/orb-0.8-track
QRun-IO:feature/orb-0.7.17
QRun-IO:feature/orb-main-policy
QRun-IO:feature/policy-shared-codeql
QRun-IO:feature/orb-0712-stable-gate
QRun-IO:feature/align-shared-workers
QRun-IO:feature/orb-0.7.11
QRun-IO:feature/central-ci
QRun-IO:feature/orb-0.6.9
QRun-IO:feature/GH-992-smoke-diagnostics
QRun-IO:feature/GH-921-qqq-all-rc-path
QRun-IO:feature/GH-10-next-rc8
QRun-IO:feature/GH-10-packaged-notices
QRun-IO:feature/GH-10-current-release-docs
QRun-IO:feature/GH-8-ci-smoke
QRun-IO:feature/GH-21-runtime-completion
QRun-IO:feature/GH-10-release-prep
QRun-IO:feature/GH-9-readme-quick-start
QRun-IO:feature/GH-7-compose-image
QRun-IO:feature/GH-6-qbits
QRun-IO:feature/GH-5-full-profile
QRun-IO:feature/GH-4-core-app
QRun-IO:feature/GH-3-stack-bom
QRun-IO:circleci-project-setup
QRun-IO:feature/GH-1-plan-and-design
QRun-IO:feature/GH-2-bootstrap
No Reviewers
Labels
Clear labels
bug
dependencies
documentation
duplicate
enhancement
epic
good first issue
help wanted
invalid
question
secuurity
wontfix
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Epic tracking issue
Good for newcomers
Extra attention is needed
This doesn't seem right
Further information is requested
This will not be worked on
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: QRun-IO/qqq-all#30
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Pull Request
Description
What does this PR do?
Adopts
com.kingsrook.qbits:qbit-quick-search:1.0.0-RC.2(Maven Central, built against qqq 4.1.0-RC.1) so its RC feedback can go back to QRun-IO/qbit-quick-search#12.qqq-all-bom:qbit-quick-search.versionis now1.0.0-RC.2(was0.2.1-SNAPSHOT). The comment says quick search now has a release candidate on qbit-build-parent 2.0.0.DemoQBits.addFull: uses the 1.0 API.instance.addQBit(...)is gone because the producer registerscom.kingsrook.qbits:quick-searchitself.opensearchUrl, built withjava.net.URIfrom the existingQQQ_ALL_OPENSEARCH_HOST/PORT/SSLsettings, so the env contract is unchanged and IPv6 hosts work.withSchedulerName("demoScheduler")schedules the basepull.${env.QQQ_ALL_OPENSEARCH_USER}and${env.QQQ_ALL_OPENSEARCH_PASSWORD}references, and only when they are set.QQQ_ALL_OPENSEARCH_STARTUP_MODE. It defaults toFAIL_FAST; the full-profile tests setDEGRADED.infra/postgres/06-quick-search-permissions.sql: gives the admin rolequickSearchAdmin.hasAccessand read/write onquickSearchIndex,quickSearchIndexRunandquickSearchFailedEvent. 1.0 protects the admin app, the processes and those tables. Without this grant the full smoke'squickSearchFullReindexcall would be denied.Tests:
FullQBitsTestcovers the 1.0 behavior:opensearchUrl,DEGRADEDanddemoSchedulerare set, and the basepull schedule usesdemoSchedulerquickSearchFailedEventtable are registered${env.X}referencesDEGRADED, and the error message is checked06-quick-search-permissions.sqland are enforced, so the test and the SQL cannot driftStackBomTestpins1.0.0-RC.2.qqq-all-app/README.md: documents the new variable, the credential and TLS rule, the permissions, and the upgrade path for volumes created with 0.x. It also says the democustomertable has nomodifyDate, so incremental basepull is off for it. After the first basepull, the index stays current through real-time indexing, failed-event replay, and on-demand reconcile or full reindex. No reconcile cron is configured.Breaking changes (full profile):
FAIL_FASTis the 1.0 default. SetQQQ_ALL_OPENSEARCH_STARTUP_MODE=DEGRADEDto boot without OpenSearch.QQQ_ALL_OPENSEARCH_USER/PASSWORDnow requiresQQQ_ALL_OPENSEARCH_SSL=true.quick_search_*tables (the startup column check rejects the 0.x ones), and onequickSearchFullReindexfor mapping v2. The app README gives the steps.Related Issue:
Closes #29
Type of Change
Testing
How has this been tested?
core,full)Test Commands:
Local full Compose smoke (OpenSearch 2.19.1):
FAIL_FAST. Quick search createdqqq-all-customers-v2-<epoch>behind theqqq-all-customersalias and started its runtime service. The scheduled basepull ondemoSchedulerindexed both seeded customers with 0 errors.OAuth2AuthenticationModulethrewClassCastException: Tokens cannot be cast to OIDCTokens. Unchanged develop (e35f1f6) fails the same way, both locally and in CI (https://github.com/QRun-IO/qqq-all/actions/runs/37777430884), so this failure is not caused by this change.Checklist
Before submitting this PR, please ensure:
Additional Information
Adoption notes
4.1.0-SNAPSHOT. The BOM's qqq pin wins over the4.1.0-RC.1import in quick-search's default-activeqqq-snapshotprofile. opensearch-java 3.10.0, httpclient5 5.6.3 and httpcore5 5.4.3 line up.addQBitin place throwsIllegalArgumentException: Attempted to add a second qBit ... com.kingsrook.qbits:quick-search, as the guide warns.FAIL_FAST, the existing full-profile tests (OpenSearch on port 1) fail insidedefineQInstance(). The error says to setstartupMode=DEGRADED, which is clear and actionable.withSearchableTableand nomodifyDate, quick-search turns off incremental basepull without logging anything. Annotated tables log a warning in the same case.docs/release.mdrequires qbits built on a parent that imports the released QQQ version, so a quick-search build on qbit-build-parent 2.1.0 is still needed before qqq-all's release.CI on
24653de: CircleCItest_onlypasses, and Smokecorepasses. Smokefullfails at the OIDC login, before its quick-search step:QQQ did not establish an OIDC session. The cause is aClassCastException(Tokenscannot be cast toOIDCTokens) in QQQ'sOAuth2AuthenticationModule.This failure is not from this PR. A Smoke run dispatched on unchanged develop (
e35f1f6) fails the same way: https://github.com/QRun-IO/qqq-all/actions/runs/37777430884. develop last passed on 2026-10-02, so the regression probably comes from a newer QQQ 4.1.0-SNAPSHOT or a newer dependency. A local run of untouched develop also fails the same way.The diagnostics from this PR's full run show quick-search 1.0.0-RC.2 working in the stack: the
quickSearchruntime service started, and the scheduledquickSearchBasepullIndexondemoSchedulerindexed both seeded customers with 0 errors (https://github.com/QRun-IO/qqq-all/actions/runs/37776754631). The smoke's HTTPquickSearchFullReindexcheck could not run because OIDC fails first.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.