Driver JConnector BUG!!!

5 отговора 179 прегледа
#1

Driver JConnector BUG!!!

Dosta seriozen problem s dokolkoto znam ofizialnia driver za MySQL JCOnnector ili beshe ConectorJ. Se edno.
Kombinaziata:

ResultSet result;
---some stuff here
While (true) {
result.movetoInserRow();
put,put,put......
result.insertRow();

}

Tazi postanovka, s ugovorkata che resultseta e updateable vodi do OutOfMemoryError!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Zvuchi stranno no e taka iztestvah go na 4ri kompiutera za da sum siguren.
Pri transfer ot poriaduka na stotizi hiliadi zapisi, moze i milioni. Ako imame 700mhz mashina s 256ram sus standarten setting na pametta Errora bi triabvalo da se vkliuchi na okolo 65hiliadnia zapis s dulzina 100byte.
Sushtoto neshto e bilo testvano sus oshte 3 drivera, problemi ne biaha zasecheni!
Niakoi moze li da predlozi konkretno reshenie za tozi driver, koeto da vkliuchva v sebe si Updateable resultset.


PS: ne mi predlagaite po novi versii na tozi driver, po novi niama!!!!
PPSS: Prilozenieto triabva da se startira exkluzivno na tozi driver!

Отговор
в отговор на Narzis #2

Re: Driver JConnector BUG!!!

Startiraj si programata v niakoj memory profiler (kato Borland OptimizeIt) i vizh zashto leak-va driver-a. Sled tova opitaj da napishesh syhtia loop, no taka che da izbegnesh leak-a ili vzemi source-a na MySQL Connector/J i go opravi.

Отговор
в отговор на antijb #3

Re: Driver JConnector BUG!!!

Ami ti kude vizdash bug v toia source koito napisah? Tva e nai obiknovenno insertvane basi!!! Bug niama ima samo result set tip "disconnected"na mysql i tova e prichinata za prepulvane. Razbrah go v posledstvie.

Отговор
в отговор на Narzis #4

Re: Driver JConnector BUG!!!

Ne stava vypros za bug v tozi source. Startiraj si programkata v profiler (az polzvam JProfiler) i vizh zashto leak-va. Leak-a mozhe da ne e v tvoia source, mozhe da e v syvsem treto neshto. Vazhno e da razberesh kakvo stava, sled tova shte tyrsish reshenie na problem.

Отговор
в отговор на antijb #5

Re: Driver JConnector BUG!!!

Ami az ti obiasniavam tochno reshenieto. AKo izpolzvash niakakuv memory manager niama da vidish nishto drugo ot edna pochti vodoravna linia. Rabotata e tam che implementaziata na resultset v connector/j e "disconnect" -toest resultset-a niama postoianno otvoren connection kum basata, koeto suotvetono pokazva che zapisite se keshirat i natrupvat v pametta za vseki update. Vuv edin moment pri dostatuchno goliam broi zapisi OutOfMemoryError se izluchva. No tova NE E PROBLEM! Tova e vupros na implementazia v drivera i suotvetno server-a. Prosto resultset-a ne e prisposoben za insertvaneto na goliam broi zaiavki i niama zashto da e pri nalichieto na mnogo po burzi sredstva.

Отговор
в отговор на Narzis #6

Re: Driver JConnector BUG!!!

Ili az ne razbiram kakvo pitash ili ti ne go obiasnivash dobre. Kak taka shte imash OutOfMemoryError i shte vizhdash vodoravna linia? Ne stava vyproz da vidish ochevidnoto s memory profiler-a. Kogato vidish vyv source-a na driver-a zashto i kyde se poluchava tova mozhesh da namerish i nachin da go nakarash da izleze ot tova systoianie. Poslednia ti posting obache totalno me obyrka taka che niama da moga da kazha nishto smisleno po vyprosa.

Отговор