PDA

Visualizza versione completa : [JAVA] Timeout Servlet


DavideDave
18-11-2004, 09.36.48
Dobbiamo far girare una procedura (potrebbe durare piu' di 40 ore) che carichi dei campi presi da un file di circa 2 GB in un DB Oracle

Ieri alle 13.40 stata lanciata e ha iniziato a girare correttamente

Questo l'errore che ci siamo trovati stamattina:


[18/11/2004 00:00:14:695 GMT] Timeout for servlet GestioneTrasferimenti expired. Probable deadlock. Skipping destroy().
[18/11/2004 00:00:14:695 GMT] GestionePerigeo/Perigeo.servlet.manager.PerigeoServlet: destroy


L'ambiente jdk 1.1.8, Apache e Jserver con JSDK 2.0

E' possibile che una servlet vada in timeout, a prescindere che si presentino errori nella procedura, dopo un tot tempo?

Il caricamento si bloccato, non posso nemmeno dire che sotto stia continuando a girare...

pholcus
18-11-2004, 14.56.45
Quel deadlock mi suona sospetto..probabilmente c'e un errore nella procedura..

DavideDave
18-11-2004, 15.20.15
suona sospetto pure a me

cmq

sto facendo fare allo sviluppatore delle classi stand alone, che facciano la stessa cosa ma che non girino sotto application server, bens da riga di comando

vediamo che succede

la procedura abbastanza complicata quindi prima di metterci mano vediaom cosa succede procedendo in questo modo....

Sergio Neddi
18-11-2004, 21.36.45
Lo so che sto dicendo la cavolata pi grossa della mia vita, ma ho notato che la procedura si inceppata subito dopo la mezzanotte: un caso oppure c'entra l'orario in qualche maniera? Che so, un timer che lavora in qualche modo e che si trova inaspettatamente (per lui) azzerato per cui sbaglia a calcolare un timeout o qualcosa di simile?

DavideDave
19-11-2004, 09.05.28
Originariamente inviato da Sergio Neddi
Lo so che sto dicendo la cavolata pi grossa della mia vita, ma ho notato che la procedura si inceppata subito dopo la mezzanotte: un caso oppure c'entra l'orario in qualche maniera? Che so, un timer che lavora in qualche modo e che si trova inaspettatamente (per lui) azzerato per cui sbaglia a calcolare un timeout o qualcosa di simile?

Mah..non credo...utilizza la data corrente, ma come SYSDATE da Oracle, non penso che passata la mezzanotte il cambio del giorno provochi problemi...adesso cmq faccio dare una controllata...che so...la formattazione delle date magari...boh...

DavideDave
24-11-2004, 14.53.38
il mio furbissimo sviluppatore caricava un file da 2 GB, e se lo copiava in un altro StringBuffer... ogni file mi occupava 4Gb di memoria... i files erano tre... forse che forse che era quello il problema?!?!?!

e vabeh

risolto...

Dav82
24-11-2004, 15.21.08
Originariamente inviato da DavideDave
il mio furbissimo sviluppatore caricava un file da 2 GB, e se lo copiava in un altro StringBuffer... ogni file mi occupava 4Gb di memoria... i files erano tre... forse che forse che era quello il problema?!?!?!

Mh.... forse eh, non ne sono poi sicuro.... :D

Problema risolto cmq :)

Sergio Neddi
24-11-2004, 22.36.38
:eek::eek::eek:!!!!!!!!!!















:S:S:S!!!!!!!!!!!!!!!!

pholcus
24-11-2004, 22.48.42
Poi Java e' il linguaggio adatto per caricare file da 2gb :p :p :p

Dav82
24-11-2004, 22.54.34
Scusate ma questo andrebbe messo in evidenza in Programmazione almeno per alcuni giorni!!! :D :D :D

DavideDave
25-11-2004, 09.19.50
quale onore :D