Lors de l'utilisation d'une sous-recherche dans la clause where d'une commande tstats trop volumineuse (ressemblant à plus de 5 000 lignes), la recherche échoue et renvoie l'erreur :
Le processus de recherche ne s'est pas terminé correctement, exit_code=255, description="terminé avec le code 255". Pour plus d'informations, recherchez cet homologue dans le fichier search.log de l'Inspecteur de tâches.
| tstats count from datamodel=Web where NOT [| inputlookup lookup.csv | fields dest | rename dest as Web.dest | format ] by Web.src Web.dest
Dans cet exemple, lookup_name.csv contenait environ 110 000 lignes.
Lorsque la recherche échoue avec l'erreur ci-dessous.
[<INDEXER_NAME>] Search process did not exit cleanly, exit_code=255, description="exited with code 255". Please look in search.log for this peer in the Job Inspector for more info.
Le message d'erreur signifie que le processus de recherche sur l'indexeur INDEXER_NAME a rencontré un problème - dans la plupart des cas, il a planté (ou a été tué).
S'il n'y a pas de crash.log, cela signifie que le splunk a été tué en externe ou que nous avons eu un problème pour sauvegarder le crash.log.
En regardant la chaîne de recherche, cependant (nombre de OR-s) - c'est probablement un débordement de pile dû à la récursivité.
C'est un problème connu que la récursivité peut causer des plantages (c'est-à-dire, une chaîne de recherche inefficace avec beaucoup d'OR/AND)
Suivi par SPL-144975 :Redesign parts of Splunk and remove recursion
Une façon de contourner le problème est d'augmenter l'ulimit pour la pile, et la valeur par défaut est 8064, et des valeurs améliorées comme 128k ou 256k pourraient résoudre le problème.
| Révision | Date de publication | Commentaires |
|---|---|---|
1.0 |
28-Sep-2026
|
Première publication |