| Previous | Next |
| CI_E_NOT_RUNNING | CI_E_CONFIG_DISK_FULL |
CI_E_CARDINALITY_MISMATCH
Machine, catalog and scope lists have incompatible cardinality
CI_E_CARDINALITY_MISMATCH is HRESULT 0x80041827 (-2147215321 signed; 2147751975 unsigned). Its severity bit is 1, facility is 4 (FACILITY_ITF for these values), and code field is 0x1827. For CI_E_CARDINALITY_MISMATCH, standard HRESULT severity rules classify the value as a failure. AllStat describes the value as “Mismatch in cardinality of machine(s)/catalog(s)/scope(s).”
API stage and meaning
CI_E_CARDINALITY_MISMATCH belongs to binding parallel arrays or distributed-search target lists before executing the request. The decisive interpretation is that the number of machines, catalogs or scopes cannot be paired according to the API contract. For CI_E_CARDINALITY_MISMATCH, keep the symbolic constant and method stage together in logs; its hexadecimal value alone cannot identify the owning transition or input.
For CI_E_CARDINALITY_MISMATCH, the legacy content-index helper layer has explicit object, catalog and service states. In the CI_E_CARDINALITY_MISMATCH investigation, a generic retry can hide lifecycle, ordering or policy defects. This context narrows the responsible component without replacing the code-specific checks below.
Failure paths
- The
CI_E_CARDINALITY_MISMATCHinvestigation should record one list is omitted while others contain multiple entries. - The
CI_E_CARDINALITY_MISMATCHinvestigation should record configuration expansion produces different lengths. - The
CI_E_CARDINALITY_MISMATCHinvestigation should record empty scope elements are discarded inconsistently. - The
CI_E_CARDINALITY_MISMATCHinvestigation should record distributed targets are merged from incompatible sources.
The useful hypothesis for CI_E_CARDINALITY_MISMATCH must explain both binding parallel arrays or distributed-search target lists before executing the request and the documented condition. Compare the failing case with a control that preserves ordered machine list and changes only ordered catalog list; this prevents unrelated environment differences from dominating the CI_E_CARDINALITY_MISMATCH test.
Observability checklist
- At step 1 for
CI_E_CARDINALITY_MISMATCH, ordered machine list - At step 2 for
CI_E_CARDINALITY_MISMATCH, ordered catalog list - At step 3 for
CI_E_CARDINALITY_MISMATCH, ordered scope list - At step 4 for
CI_E_CARDINALITY_MISMATCH, configuration source for each element
For CI_E_CARDINALITY_MISMATCH, capture ordered machine list before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with ordered catalog list, component version, UTC timestamp and correlation ID. Bound the CI_E_CARDINALITY_MISMATCH telemetry to diagnostic metadata because document content, credentials and unrestricted query text may be sensitive.
How to isolate the cause
- Count every list after normalization. Associate this observation specifically with
CI_E_CARDINALITY_MISMATCH. - Determine whether the contract allows singleton broadcast. Associate this observation specifically with
CI_E_CARDINALITY_MISMATCH. - Keep elements paired in a structured target object. Associate this observation specifically with
CI_E_CARDINALITY_MISMATCH. - Reject partial configuration before network calls begin. Associate this observation specifically with
CI_E_CARDINALITY_MISMATCH.
Change one variable per CI_E_CARDINALITY_MISMATCH control run. Preserve the component version and target identity, then alter only the condition described as the number of machines, catalogs or scopes cannot be paired according to the API contract. This isolates whether CI_E_CARDINALITY_MISMATCH is causal rather than merely repeatable.
Remediation policy
Rebuild aligned target tuples and retry validation. Do not truncate longer lists silently. For CI_E_CARDINALITY_MISMATCH, record whether binding parallel arrays or distributed-search target lists before executing the request produced any content, update or state transition before returning. If completion remains unknown, the CI_E_CARDINALITY_MISMATCH path must not replay non-idempotent work until the owner confirms final state.
The retry gate for CI_E_CARDINALITY_MISMATCH should be a concrete change in ordered machine list or ordered catalog list. A timer alone cannot demonstrate that the CI_E_CARDINALITY_MISMATCH contract condition has changed.
Wrong conclusions to avoid
It does not indicate that a named machine, catalog or scope is individually invalid. Without the call boundary for binding parallel arrays or distributed-search target lists before executing the request, CI_E_CARDINALITY_MISMATCH also cannot identify which wrapper or configuration layer introduced the condition.
Comparison
QUERY_E_INVALID_DIRECTORY rejects a particular scope; this HRESULT rejects the relationship among target lists. In CI_E_CARDINALITY_MISMATCH telemetry, preserve neighboring constants separately because the same visible symptom may require a different caller action, owner or recovery gate.
Developer and administrator actions
CI_E_CARDINALITY_MISMATCH: At the code boundary, keep ordered machine list beside the returned HRESULT.CI_E_CARDINALITY_MISMATCH: In telemetry, correlate ordered catalog list with the target and component generation.CI_E_CARDINALITY_MISMATCH: For regression coverage, force the documented condition: the number of machines, catalogs or scopes cannot be paired according to the API contract.CI_E_CARDINALITY_MISMATCH: For operations staff, expose the corrective state change rather than a generic retry button.CI_E_CARDINALITY_MISMATCH: After remediation, validate one known-good control and the original failing case.
Worked scenario
Three machines are configured with two catalog names after template expansion. Tuple-based configuration prevents the mismatch. In this scenario, handling CI_E_CARDINALITY_MISMATCH at its real contract boundary prevents the application from collapsing a precise state into an unhelpful generic “search failed” message.
Official Microsoft references
- Microsoft: content-indexing helper-function values — official contract information relevant to
CI_E_CARDINALITY_MISMATCH. - Microsoft: Content-Indexing values — official contract information relevant to
CI_E_CARDINALITY_MISMATCH. - Microsoft: Windows Search SQL syntax — official contract information relevant to
CI_E_CARDINALITY_MISMATCH. - Microsoft: HRESULT values — official contract information relevant to
CI_E_CARDINALITY_MISMATCH.
Looking for a different code? Search another status or error code.
