Splunk soffre del Millennium Bug 20 anni dopo, ma c'è la soluzione
di Riccardo Robecchi pubblicata il 04 Dicembre 2019, alle 09:01 nel canale Cloud![Splunk soffre del Millennium Bug 20 anni dopo, ma c'è la soluzione](/i/n/Splunk_logo_720.jpg)
Splunk, software per ottenere diagnosi, analisi e visualizzazioni a partire da dati di vario tipo, soffre di un curioso bug: dal 1 gennaio 2020 gestirà in maniera errata le date. Un Millennium Bug 20 anni dopo
Chi scrive non aveva che otto anni e qualche mese quando arrivò il 1 gennaio 2000, ma ricorda ancora bene il terrore del "Millennium Bug": tale (fantomatico) bug avrebbe dovuto, stando alle teorie in voga all'epoca, impedire che i software continuassero a funzionare una volta scoccata la prima mezzanotte del nuovo millennio. Il motivo? Non era stato previsto l'uso di date posteriori al 1999. Il problema si rivelò inesistente, ma torna (questa volta davvero!) a vent'anni di distanza in Splunk, il quale non riesce a gestire date dopo il 31 dicembre 2019 senza un aggiornamento ad hoc.
Un "Millennium Bug" (vero) per Splunk nel 2020
Splunk è un'azienda californiana che produce un software, a sua volta chiamato Splunk, in grado di correlare tra di loro dati di vario tipo presenti all'interno dell'azienda per ricavarne visualizzazioni, analisi e identificazione di pattern e problemi. È particolarmente utile per correlare dati che altrimenti le persone non correlerebbero e per vedere problemi che altrimenti non emergerebbero.
Il curioso problema emerso sta nel fatto che le date a partire dal 1 gennaio 2020 non vengono riconosciute quando vengono rappresentate con due cifre. Il 1/1/20 non viene riconosciuto come una data valida e il sistema utilizza quindi una data casuale o la data odierna: un problema non di poco conto, soprattutto perché non deterministico (il cui esito è noto a priori in base all'input).
La ragione sta nella progettazione del sistema: la gestione delle date avviene tramite un file, chiamato datetime.xml, che ne definisce il formato. Tale file considerava che la cifra delle decine potesse essere 9 (1990), 0 (2000) o 1 (2010), dunque una data con le decine pari a "2" rappresenta un'anomalia inspiegabile per il sistema.
Il problema è risolvibile in molti modi: nel caso di Splunk Cloud, una patch è già stata applicata; nel caso di applicazioni installate nell'infrastruttura del cliente è possibile effettuare un aggiornamento della piattaforma Splunk, utilizzare un'applicazione che modifica il file datetime.xml o modificare quest'ultimo a mano. Per inciso, analizzando il codice proposto da Splunk emerge come la soluzione sembri valida solo fino al 31 dicembre 2029. Ulteriori informazioni sono presenti su questa pagina.
Non manca un inevitabile elemento di ilarità in questa situazione. In ogni caso, il problema di Splunk ripropone un tema molto noto nell'ambiente dello sviluppo di software e causa di più di qualche grattacapo a più di un'azienda, ultima in ordine di tempo HPE con gli SSD che muoiono a 32.768 ore. Tale problema è la gestione dei dati in fase di specifica e di implementazione. Non si tratta di un tema facile, come dimostrato dalla grande quantità di bachi di questo tipo, ed evidenzia ancora una volta l'impossibilità di garantire senza grossi sforzi che il software sia sempre corretto rispetto a quanto ci si aspetta che faccia.
Un problema simile si riproporrà in maniera più grave fra quasi 20 anni, quando lo "Unix time" arriverà alla sua fine e comincerà a rappresentare date a partire dal 13 dicembre 1901. Sia in questo caso che in quello di Splunk, la soluzione è semplice e diretta: aggiornare il software alle nuove versioni senza l'errore!
4 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoIl programma a cui sto dietro potrebbe avere qualche problemino a fine 2099... chemmifrega saremo tutti schiattati!
Sogni d'oro caro!
Falso!
Il problema era reale ma, ovviamente, anche all'epoca corsero ai ripari aggiornando tutti i sistemi sensibili all'errore. I meno esposti erano proprio i PC in realtà, ma come al solito non lo erano altrettanto i sistemi embedded
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".