Citat:
Da nije problem na strani servera koji nije u stanju da primi ono što mu nod šalje?
Pa izgleda da je upravo to problem, jer debugovanjem sam utvrdio da node definitivno POSALJE i onda ceka sledeci posao. Sa druge strane, server je skapirao da ovaj hoce da mu salje (primio je "put" komandu) i onda je onda je pokusao da cita i tu se blokirao, dakle kao da mu ovaj nista nije poslao, a jeste!
Citat:
Kako je implementirana ta distribuirana torba poslova, mislim na onaj deo "distribuirana"?
Interno koristim ArrayList, a obmotao sam ga svojom klasom koja je sinhronizovana. Torba ekstenduje tu obmotanu klasu i ima jos neke funkcionalnosti. Postoji jedna instanca i nju drzi NodeServer da iz nje moze da vadi i da trpa. E sad, kada se pojavi novi node, NodeServer kreira nit za njega i oni onda imaju svoj prtokol price. Taj serverski protokol je dobio referencu na tu torbu. Protokol je takav da kada ovaj node kaze put, nodeserver protokl iscita ono sto je doslo i onda nesto radi, a kada kaze get, nadje posao i vrati mu ga. Dakle, distribuirana je samo termin koji oznacava da se torba nalazi na serveru, a da svi nodovi mogu da rade sa tom torbom. Realizovao sam preko postanskih sanducica, razmena poruka..
Citat:
Gde se dešava out of memory?
Na ovo jos ne mogu da ti odgovorim jer mi je za sada jedna masina glumila i server i node :)
Da ne bude zabune, problem zaglavljivanja mi se desio i kada sam imao to na odvojenim masinama, doduse tada se nije desio outofmemoryerror, pa zato ne znam gde puce, a nisam dobro pogleda stacktrace :D
Citat:
Šta server radi kada dobije obrađeni posao od noda, da se ne zaglavi on u nekoj obradi?
Tu se radi gomila nekog posla, server onda pretumbava i azurira neka stanja, prebacuje u neke druge torbe itd, ali cini mi se da to uopste nije bitno, jer u mojoj situaciji server to uspe da uradi i onda POSALJE novi podsposao (dakle nije se zaglavio), node to opet primi i vrati, ali onda ovaj slepac od servera nece da primi. Znaci, nije se on zaglavio zbog toga sto nije umeo da odradi nesto sa prvim vracenim poslom, jer je uspeo da posalje drugi i uspeo da shvati da ovaj oce opet drugi put da mu vrati rezultat.
E da, i ono sto je bitno je da kada je frekvencija razmene manja (Thread.sleep na nodu posle uradjenog posla), ovo radi!!??
[Ovu poruku je menjao Vanja Petreski dana 18.06.2007. u 11:22 GMT+1]