mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-10-25 05:57:15 +00:00
`_compute_batch()` set `is_healthy = True` whenever the batch produced at least one vector. Per-item isolation can recover an early item and then meet a provider-wide failure (exhausted quota, authentication, exhausted transient retries), which `_call_with_retry()` correctly records as unhealthy before it stops. The recovered vector then overwrote that state, so a request that ended in an outage reported the provider as healthy. The terminal-failure flag is now threaded from `_embed_individually()` back to `_compute_batch()`. The vectors recovered before the failure are still returned and cached; only the health state now follows the failure. This matters because `LocalFileStore._recover_after_real_request()` schedules missing-vector backfill off the unhealthy-to-healthy transition: a hidden outage would either trigger backfill while the provider is still unavailable or suppress a later genuine recovery. Adds a regression test through `get_embeddings()` that checks both the retained partial vector and the final unhealthy state. The existing isolation test covers `_call_with_retry()` directly, so it never saw the overwrite. |
||
|---|---|---|
| .. | ||
| agent_wrapper | ||
| as_classifier | ||
| as_embedding | ||
| as_llm | ||
| client | ||
| embedding_store | ||
| file_catalog | ||
| file_chunker | ||
| file_graph | ||
| file_store | ||
| job | ||
| keyword_index | ||
| outbound_proxy | ||
| service | ||
| tag_index | ||
| tokenizer | ||
| __init__.py | ||
| application_context.py | ||
| base_component.py | ||
| component_registry.py | ||
| prompt_handler.py | ||
| runtime_context.py | ||