Non vi è alcuna degradazione o avviso preventivo per questo problema, che si manifesta sotto forma di errore del processo FS (PANIC), dopo di che il processo si riavvia e si riattiva automaticamente.
A causa del percorso del codice in corso, il processo FS può verificarsi in modo irreversibile in diversi modi, tra cui:
PANIC: ddr/sm/ddfs/ddfs_mtree.c: ddfs_mtree_list: 829: !((dd_errno(e) == ENOENT) || (dd_errno(e) == DD_ERR_FM_EATTRNOENT) || (dd_errno(e) == DD_ERR_STALE))
PANIC: ddr/fv/file_verify.c: file_verify_update_marker_attrs: 4872: Fatal Error
PANIC: ddr/fv/file_verify.c: file_verify_update_snap_attr: 4446: Fatal Error
PANIC: ddr/fv/file_verify.c: file_verify_update_marker_attrs: 4860: Fatal Error
Nei file di registro del processo FS (ddfs.info) vengono rilevati i seguenti messaggi prima di ogni arresto anomalo del processo:
01/17 20:21:59.292947 [7fbbf4f98f50] dd_cache_elem_reclaim: Evict count=256, Visited count=257, Skipped elem count=0, Skipped bucket count=0, Time threshold=1539816333626910. (99% full) Complete=True
01/17 20:22:04.662303 [7fbb031ad4f0] ERROR: FM fm_iget:355 - fm_iget failed to allocate elem in dd_cache 5001
I messaggi che indicano che il processo interno è pieno al 99%, quindi non sono in grado di allocare altri elementi, determinando quindi l'arresto anomalo del processo.
NOTA: Questo problema interessa solo le seguenti versioni:
- DDOS 7.7.3.x: Non completamente confermato
- DDOS 7.7.4.x
- DD OS 7.9.0.10
- DDOS 7.10.0.x
Per qualsiasi operazione di file come lettura/scrittura, viene allocata una struttura inode dal pool di elementi dd_cache.
Se la cache è piena e viene inserita una nuova richiesta, un elemento viene allontanato da questa cache e la nuova richiesta viene evasa.
Questa rimozione si basa su una policy di tempo (un elemento viene eliminato se non è stato effettuato l'accesso negli ultimi "x" secondi).
Nel caso in cui questa cache diventi troppo attiva (è stato effettuato l'accesso a tutti gli elementi negli ultimi "x" secondi) e non è possibile rimuovere alcun elemento anche dopo più tentativi, la fm_iget restituisce DD_ERR_NOMEM.
Alcuni chiamanti dell'allocazione del pool di elementi non saranno in grado di gestire l'errore in modo graduale e pertanto il processo FS dovrebbe essere panic e il dump core dovrebbe funzionare "fm_iget" restituisce qualsiasi errore. Questo è il motivo per cui esistono alcune firme panic diverse corrispondenti al difetto del codice sottostante.
Il problema di codice fondamentale che determina questi arresti anomali del processo FS viene risolto utilizzando
DDOS-168410 nelle seguenti versioni (e tutte quelle successive nelle stesse filiali del codice):
- DD OS 7.7.5.1
- DD OS 7.10.1.0
- DDOS 7.11.0
I clienti interessati da questo problema che non possono eseguire immediatamente l'aggiornamento a una qualsiasi delle versioni precedenti possono provare una soluzione alternativa per la quale devono contattare il supporto Dell.
Se si esegue una versione con il problema (quelle elencate sopra) ma non si è verificato un arresto anomalo imprevisto del processo FS ma si verificano sintomi corrispondenti a questo articolo della KB, si consiglia di non applicare in modo proattivo la soluzione alternativa e, al contrario, di eseguire l'aggiornamento a una delle versioni corrette precedenti (o a uno qualsiasi dei rispettivi successori) per sfruttare gli aggiornamenti e le correzioni del codice più recenti.