8000 test(rerank): classify the rows-to-facts client in the egress inventory by amartya1523 · Pull Request #2998 · xerj-org/xerj · GitHub
[go: up one dir, main page]

Skip to content

test(rerank): classify the rows-to-facts client in the egress inventory - #2998

Closed
amartya1523 wants to merge 1 commit into
xerj-org:mainfrom
amartya1523:fix/egress-inventory-facts-rows
Closed

amartya1523 wants to merge 1 commit into
xerj-org:mainfrom
amartya1523:fix/egress-inventory-facts-rows

Conversation

@amartya1523
Copy link
Copy Markdown
Contributor

AI-assisted change, run and reviewed by @amartya1523.

What this changes, and why

main is red on Build + Test since #2988 (rows-to-facts). xerj-rerank's egress inventory found a new outbound client and failed, as it is meant to:

test every_outbound_client_in_the_engine_is_on_the_published_list ... FAILED
new outbound network client(s) in ["xerj-autoindex/src/facts_rows.rs"]. Classify each in KNOWN (node / client / test-only) and, if the node or a client can now send data somewhere, add it to docs/RERANK.md "Every way data leaves a XERJ node", to xerj_rerank::DATA_EGRESS and to the air-gapped recipe.

Every PR branched from current main inherits the failure (for example #2996 and #2997).

Classification. facts_rows.rs is the client behind xerj autoindex <path> --facts <ns>. Its FactsClient:

  • is built with crate::esclient::node_blocking_builder, the same builder the existing xerj autoindex client (esclient.rs) uses;
  • talks only to the node URL that command already takes (--url, else http://localhost:9200);
  • calls GET /_facts, GET /_facts/{ns} and POST /_facts/{ns}/_bulk.

Row text goes to the operator's own node, the same peer esclient.rs already sends documents to. So this is a command-line client of an already-published command, not a new way data leaves a node.

Change: one KNOWN entry, ("xerj-autoindex/src/facts_rows.rs", Role::Client("xerj autoindex")), with a comment in the style of the neighbouring entries (xc.rs, staleness.rs). docs/RERANK.md already lists xerj autoindex among the command-line clients, so the_published_list_names_every_path holds without a doc change. DATA_EGRESS and the air-gapped recipe are unchanged.

Evidence

# main c4a07d194
test every_outbound_client_in_the_engine_is_on_the_published_list ... FAILED
test result: FAILED. 3 passed; 1 failed

# this branch
test every_outbound_client_in_the_engine_is_on_the_published_list ... ok
test result: ok. 4 passed; 0 failed

Checks

  • cargo fmt -p xerj-rerank -- --check
  • cargo test --profile quick -p xerj-rerank --test egress_inventory: 4 passed, 0 failed (3 passed, 1 failed on main)
  • Docs: no change needed. xerj autoindex is already in "Every way data leaves a XERJ node".

Provenance

  • Written by: AI-assisted, run and reviewed by @amartya1523
  • Verified: the test output above and the FactsClient construction and URL default in facts_rows.rs, on macOS 26 (aarch64), quick profile, based on main c4a07d194.
  • Assumed: that the facts ingest path is meant to stay a node-local write, like the rest of xerj autoindex. If feat(autoindex): rows to facts (xerj autoindex <path> --facts <namespace>) #2988's author intends --url to point at a remote node as a supported deployment, it is still the operator's own node, so the classification holds.

xerj-org#2988 added FactsClient (xerj autoindex <path> --facts <ns>), which the egress inventory flags as a new outbound client and fails main's Build + Test. It is built with node_blocking_builder and talks only to the command's node URL (--url, else localhost:9200), like esclient.rs, so it is a `xerj autoindex` client and DATA_EGRESS, docs/RERANK.md and the air-gapped recipe do not change.
@cla-bot cla-bot Bot added the cla-signed label Nov 6, 2026
@amartya1523
Copy link
Copy Markdown
Contributor Author

Closing as a duplicate: #2990 (49083e4) landed the same classification of xerj-autoindex/src/facts_rows.rs as a xerj autoindex client, so main's egress inventory is green again and this entry would only repeat it.

One thing this run surfaced that the egress failure had been masking: with the inventory passing, Build + Test here fails on xerj-server's http2_small_data_frames::empty_data_frame_flood_is_still_refused ("20000 empty DATA frames were accepted — the flood guard is gone"). Earlier runs on #2996, #2997 and #2984 stopped at the egress test before reaching it, so it may be red on main as well.

@amartya1523 amartya1523 closed this Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0