Skip to content

docs(15.9): document timed_out, shard_failed and the split timeout logging - #535

Merged
marevol merged 1 commit into
mainfrom
docs/distinguish-search-timeout-and-shard-failure
Sep 13, 2026
Merged

marevol merged 1 commit into
mainfrom
docs/distinguish-search-timeout-and-shard-failure

Conversation

@marevol

@marevol marevol commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Documents codelibs/fess#3440 in the 15.9 tree.

That PR fixes how Fess reports a search result that is not complete. The partial flag used to be set only when a shard failed, while the UI message and the [SEARCH TIMEOUT] log line called it a timeout, and a real query timeout was not flagged at all. Now /api/v2/search returns timed_out and shard_failed next to partial, and query.timeout.logging writes [SEARCH TIMEOUT] for a timed-out search and [SEARCH SHARD FAILURE] for a search that lost a shard.

Changes, all in the 15.9 tree:

  • api/api-search.rst (7 languages): timed_out and shard_failed added to the response example and the field table, and the partial row now says it is always true when either is, and can also be true with neither when the search could not be run.
  • config/search-advanced.rst (7 languages): the query.timeout.logging section describes both log lines, that both are written when both happen, what each line contains, and that the reason for a shard failure is in _shards.failures of the logged response because the search engine logs it only at DEBUG. Headings are unchanged, so anchors do not move.
  • en/15.9/config/search-config.rst: the one paragraph on query.timeout.logging gets the same correction.
  • config/properties.rst and properties.po: regenerated with tools/update_properties_doc.sh from the fix(search): tell a query timeout apart from a failed shard fess#3440 branch. The only change is the new description of query.timeout.logging. If that description changes before the PR is merged, the script needs to run again.

The admin search-list API is not changed by codelibs/fess#3440, so its page is untouched.

Verification

  • python3 tools/gen_properties_doc.py --check: the 7 properties pages agree.
  • python3 tools/check_headings.py on the 15.8 and 15.9 trees: passes.
  • python3 -m unittest discover -s tools: 79 tests OK.
  • A docutils parse of the 22 edited .rst files, compared with main: no new system messages, section counts unchanged, the response tables still two columns, and the JSON examples parse in every language.
  • A Sphinx dummy build of each language's 15.9 tree, compared with main: the warning count is identical in every language.

The non-English wording has not been reviewed by native speakers.

…gging

codelibs/fess#3440 adds timed_out and shard_failed to /api/v2/search and makes
query.timeout.logging write [SEARCH TIMEOUT] for a timed-out search and
[SEARCH SHARD FAILURE] for a search that lost a shard, instead of calling
every shard failure a timeout.

api-search.rst lists the two new fields and says when partial is set, and
search-advanced.rst describes both log lines and where the reason for a shard
failure is found, in all seven languages. The English search-config.rst gets
the same correction, and properties.rst is regenerated with
tools/update_properties_doc.sh for the new property description.
@marevol marevol self-assigned this Sep 13, 2026
@marevol
marevol merged commit e8f18d9 into main Sep 13, 2026
2 checks passed
@marevol
marevol deleted the docs/distinguish-search-timeout-and-shard-failure branch September 13, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant