diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-14 10:17:49 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-14 10:17:49 +0200 |
| commit | 80ac882346b474bb7ea4e8c8afd4694bd13dd9dd (patch) | |
| tree | 3aebf475a23dc3e44dff1a6c577d8af82418d024 /packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js | |
| parent | af542a40aec6ffe0ac06798d99abd00a24eb9c50 (diff) | |
| download | meshbay-80ac882346b474bb7ea4e8c8afd4694bd13dd9dd.tar.gz | |
feat(node): skip a file the disk stops answering for, then pause its root
A Windows tester's scan stuck for good on one directory of a large disk:
one read that never returned held the indexer's only thread, and with it
every root behind that one.
- A disk call is timed by its silence, not its length: each directory
entry listed and each megabyte read counts as an answer. After 60 s of
silence the call is abandoned on its daemon thread, the file is noted
unread and the scan goes on.
- Three silent files in a row pause the root (not persisted). Resume
skips the files already known to give no answer; a restart, a replug
or a change to the file retries them.
- The walk is per directory with os.scandir: a subdirectory that cannot
be listed costs itself, and a listing that stops answering pauses the
root at once. A scan no longer stats anything from the event loop.
- The log names the file after 10 s of silence, the indexing band shows
it, and Group settings shows the paused root, where it stuck and the
unread files with their reason, on the node's machine only.
- generate_http_api.py writes LF on Windows too.
Verified with real kernel-blocked opens (an unacknowledged oplock) in the
installed frozen app.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js')
| -rw-r--r-- | packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js index 9f32a19..6296a8b 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js @@ -877,6 +877,7 @@ export default { 'indexdock.open': "Ouvrir les paramètres de ce groupe", 'indexdock.hide': "Masquer jusqu'à la prochaine indexation", 'indexdock.pause': "Mettre en pause l'indexation de ce dossier", + 'indexdock.slow': "Pas de réponse du disque depuis {secs} s : {file}", 'chat.load_older': 'Charger {n} messages plus anciens', 'chat.start_of_history': 'Début de la conversation', 'chat.today': 'Aujourd’hui', @@ -1005,6 +1006,11 @@ export default { 'node.root_pause': "Mettre l'indexation en pause", 'node.root_resume': "Reprendre l'indexation", 'node.root_paused': "indexation en pause", + 'node.root_stalled': "le disque ne répond pas", + 'node.root_stalled_hint': "Le node a mis en pause l'indexation de {name} : son disque n'a pas répondu sur {file}. Vérifiez le disque, ou sortez ce fichier du dossier, puis reprenez l'indexation.", + 'node.unread_summary': "Fichiers qui n'ont pas pu être lus : {count}", + 'node.unread_no_answer': "pas de réponse du disque", + 'node.unread_more': "Et {count} autres.", 'node.root_remove_last': 'Un groupe a besoin d\'au moins un répertoire', 'node.root_path': 'Chemin', 'node.root_added': 'Répertoire ajouté.', |