Tales from the Machine Room |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
Ah, ho gia' detto che il mio piano consisteva nel fare due giorni di ferie giovedi/venerdi? Il che mi lascia sostanzialmente 3 giorni prima della dipartita di K.
Ok, lunedi' e' passato con le modifiche al programma di conversione del database, martedi' mattina mi metto di buona lena, installo una ennesima macchina virtuale, ci installo tutte le librerie necessarie per far funzionare questi script e comincio a guardarmeli. E subito mi scontro con la dura realta': non posso da qui' collegarmi al database. Acchiappo subito T per fare i cambiamenti sul firewall. Lui nicchia. Io gli dico chiaramente che o mi apre il firewall o i cambiamento sugli script se li fa da solo. Il firewall viene aperto.
Comincio a controllare come funziona la cosa, allora lo script vecchio fa' una join su questa-e-quella tabella, poi cerca, sfrucuglia, smazza, flippa e sfruppallazza... perche' i dati nel db vecchio sono sparpagliati su 5 o 6 tabelle diverse. Tanto per dirne una, c'e' una tabella 'DOMINI', una tabella 'CONFDOMINI' ed una tabella 'SPAMDOMINI', con relazioni 1-1, la tabella DOMINI contiene il nome del dominio e poco altro, la tabella CONFDOMINI contiene le informazioni relative al server SMTP di destinazione e la tabella SPAMDOMINI cosa dovresti farci con lo spam trovato per il dominio (delete, forward, addheader, changesubject). Quindi 3 tabelle per informazioni che potrebbero essere semplicemente su una. Ed infatti nella struttura nuova c'e' UNA sola tabella che contiene tutte le informazioni. Meglio. Solo che questo mi obbliga a riscrivere praticamente da capo tutto lo script.
Mi metto percio' di lena. La cosa si rivela piu' ardua di quello che sembra, perche' ogni 10 minuti (pare a me) qualcuno arriva a domandare qualche cosa, tipo "perche' il cliente X riceve ancora spam anche se hanno sottoscritto il nostro abbonamento?" risposta: perche' se il loro MX continua ad essere il loro server di posta la posta non passa da noi e noi non possiamo controllarla. Poi e' la volta di DaBoss che ha altri patemi relativi al maledetto CRM, poi arriva Bart che vuole che io guardi come mai il MS SQL Server cluster di $notacompagniatelefonica non funziona (??? io ho abbandonato SQL Server alla versione 6.5, 10 anni fa!), varie ed eventuali.
Dopo un bel po' ho una versione 'aggiornata' di ogni script. A questo punto alzo gli occhi dalla tastiera e vedo T che si infila la giacca.
IO - E dove stai andando adesso?
T - (indicando la finestra) Dato che sono le 6 di sera me ne vado a casa,
perche'?
Io guardo fuori: buio pesto! Ma come???? Che fine ha fatto la giornata!!
Fast-forward a mercoledi'. Oggi e' la giornata dei test di questi script. Ma la giornata comincia subito male perche' K arriva a chiedermi se posso fare dei cambiamenti sul database usato dall'applicazione.
IO - Come sarebbe a dire "dei cambiamenti"?? Quel foxxuto database dovrebbe essere
stabile come una roccia! Dovremmo mettere in produzione l'arnese alla fine di
questa settimana!
K - Si ma ho fatto alcuni aggiustamenti sull'interfaccia e mi servono alcuni
cambiamenti, poca roba... allora nella tabella XYZ il campo "datacreazione" e'
diventato "data_creazione", il campo "modificatoil" e' diventato "modificato_il",
il campo "nomedominio" e' diventato "nome_dominio" e...
Ed e' andato avanti cosi' per un bel po'. Dopo averlo stramaledetto faccio i cambiamenti sul database, sullo script di conversione e (naturalmente) su tutti i maledetti script che ho corretto ieri.
Comincio percio' a fare i test, eseguo il primo script "vecchio" sul vecchio db, eseguo lo script nuovo e controllo i risultati. Lo script genera l'elenco degli indirizzi di white-list per ogni dominio. Ok, lo script vecchio ha generato un elenco di 975321 indirizzi, lo script nuovo 834632.. eeeeeh???? Che cappero di fine hanno fatto gli altri 140000 (e rotti)? Riprendi in mano lo script e controlla. E cosi' scopro che circa 1200 domini non sono nel database nuovo. Perche'? Ricordate cosa avevo detto di quella struttura dati? Bene, pare che circa 1200 domini della tabella 'DOMINI' non hanno un record di 'SPAM' o uno di 'CONF' corrispondente, ragion per cui la conversione non li riporta. Cerca di capire perche'. Perche' qualcuno (H) ha fatto dei cambiamenti "volanti" sul database senza passare dall'interfaccia. Metti insieme uno script per verificare se questi domini dovrebbero essere nel nostro database oppure no, scopri che sono dei record "morti" e non servono ad un tubo. Zappali via dal vecchio database, riprova. Successo! I due file prodotti sono uguali.
Arriva DaBoss.
DB - Hai dieci minuti di tempo per guardare se il modulo tal-de-tali funziona
con la nostra versione del CRM?
IO - Vuoi mettere sta' merda di applicazione in produzione questa settimana
oppure no? Se la risposta e' "si" pussa via.
Si ri-appropinqua K.
K - Avrei bisogno di altri due o tre cambiamenti sul database...
Ripetete il tutto per una ventina di volte...
Ad un certo punto Bart mi compare accanto. No, in effetti era li' da un po' che cercava di attirare la mia attenzione, solo che ero troppo concentrato per guardarlo.
Bart - E' pronto il server per l'applicazione? Cosi' domani vado in co-lo ad
installarlo.
IO - Pronto e' pronto. Solo che non sono sicuro di quali indirizzi IP dovrebbe
avere.
Bart - Be', se lo sistemiamo lo metto in auto cosi' domani vado la' direttamente.
IO - Ma non possiamo farlo dopo?
Bart - Guarda che sono le 5.40...
Mortacc... corri a cercare l'indirizzo ip giusto, riconfigura il coso, scrivi il tutto nel malefico database di configurazione, spegni tutto e molla il server nella mani di Bart.
Se non altro, K e DaBoss se ne sono andati a casa e non possono piu' rompere. Finisco il tutto alle 20.25, lascio un messaggio a T sul quali sono gli script giusti, aggiorno la copia in subversion e me ne vado a casa. Secondo me quella cosa non va' "live" venerdi'... Io comunque per non saper ne' leggere ne' scrivere spengo il cellofono.
Davide
01/06/2009 08:00
Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.
... le cose cambiano By WM posted 01/06/2009 08:37
-- WM
Primo?!?!?!?! By Vlad posted 01/06/2009 08:38
-- Vlad
-AT- Vlad By Davide Inglima posted 01/06/2009 10:01
-- http://limacat.blogspot.com
-AT- Vlad By argaar posted 01/06/2009 10:15
-- Noi esploriamo...e ci chiamate criminali...
-AT- argaar By Davide Bianchi posted 01/06/2009 10:26
-- Davide Bianchi
-AT- Davide Bianchi By argaar posted 01/06/2009 11:27
-- Noi esploriamo...e ci chiamate criminali...
-AT- Vlad By Nausicaa posted 01/06/2009 12:04
-- Nausicaa
deja' vu By anonymous posted 01/06/2009 08:44
-- anonymous
stress, cosa l'e'??? By Matteo Jurman posted 01/06/2009 08:48
--
---
BabboMatteo
SQL Server By A. Tortella posted 01/06/2009 08:56
-- A. Tortella
Modifiche al DB By Luca Barba posted 01/06/2009 15:00
-- Luca Barba
quello succede anche a me By Riccardo Cagnasso posted 01/06/2009 15:51
-- Riccardo Cagnasso
consolati By camillo posted 01/06/2009 17:35
-- camillo
Script By Luca posted 02/06/2009 04:11
-AT- Luca By Davide Bianchi posted 02/06/2009 08:08
-- Davide Bianchi
Domandina ... By kallsu posted 02/06/2009 12:05
-- kallsu
-AT- kallsu By Davide Bianchi posted 02/06/2009 12:21
-- Davide Bianchi
il lavoro By Simone posted 03/06/2009 08:44
-- - Simone
ah... le ferie... By Daniele posted 03/06/2009 17:22
-- Daniele
This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.
This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.