Tuesday, February 05, 2008

Urgh...

So... After a long time of head banging, I've managed to graft version 1 of the db. Tacked it on like the skin of a created Chaos Space Marine... Will need some optimizations but basic usage is there. So I decided to get some stress testing done, well at least if even if not a lot of stress, some reads and writes would be good. So I asked ck for his class, since he wrote a stress test package then.
Added it into the project and gave it a whirl... Single client was fine... But the stress test was horrible, exceptions here and there. And the horrible strange error of encryption, which was causing errors if too many clients connected at once.
Managed to fix that bug... Apparently a single Cipher object did not like being called in different objects.
After fixing it, I started to take a look at the mysterious exceptions which were coming from the stress test. To his credit, I probably patched some stuff which were lying dormant. After patching everything I could think of though, the damn thing was still giving off exceptions, and worst of all, it was at random spots. The worst bugs are them random ones, and I was partially traumatised. Why does this come up at this run, but it doesn't on another? Finding it strange, I looked at his logic. To my surprise... It was random... Apparently once the client had signed in, it could run any of a set of methods. It was pretty dumbfounding. Well, being random is fine.... But not when some methods have prerequisites. How can it be correct for a client to send a message to another when it hasn't even downloaded the contact list yet? The aim for this class, if I'm not mistaken, is to form an idea on how much load the server can handle. To do that, you need clients as close to real ones as possible... Gah! <_<

No comments:

Post a Comment