Major SVN commit for the server

2 views
Skip to first unread message

Torben Weis

unread,
Feb 25, 2010, 7:42:12 PM2/25/10
to qwave...@googlegroups.com
Hi,

I just checked in a very huge change to the C++ wave server. In large areas it is more a rewrite than an incremental change. I would be grateful if somebody could give its compilation a try. It compiles on my PC, but usually this does not mean much :-)

Changes: The wave server is now split in several parts which can execute in parallel:
 - Wave: The basic wave logic, OT etc.
 - Store: Persistent storage of wave deltas, etc.
 - Federation: XMPP code
 - Client: Code for the C/S protocol

These components communicate only by exchanging messages. This would (not implemented yet) allow us to distribute parts of the wave server on several computers. Furthermore, it will be possible in the future to split such a part and execute each split on a different computer. This way the wave server will be able to scale nicely even in a large data center. Currently, I am still running all parts in a single thread, but the architecture is in place. From a user perspective there is nothing new, except the fact that the persistence layer is working much better than before.

Cheers
Torben


Nicolas

unread,
Feb 25, 2010, 9:55:44 PM2/25/10
to QWaveClient
It compiles fine here too. However when playing around with waves
(with QWave client) I get OOoooops document 2 error.

Torben Weis

unread,
Feb 27, 2010, 9:15:30 AM2/27/10
to qwave...@googlegroups.com
Oooops, seems I introduced new bugs. What is the easiest way to reproduce this? Fast typing with one client, or concurrently with two?

The server project urgently needs some tests which send heaps of submit requests via the C/S protocol in parallel. At the same time we could use this to compare the speed of different wave servers ... 

I try to locate and fix the bugs.

Cheers
Torben

2010/2/26 Nicolas <patry....@gmail.com>



--
---------------------------
Prof. Torben Weis
Universitaet Duisburg-Essen
torbe...@gmail.com

Nicolas

unread,
Feb 27, 2010, 10:10:31 AM2/27/10
to QWaveClient
Seems I cannot reproduce the bug on my laptop, I got the bug on a x64
machine, I'll see what is different beyond that on Monday. I tested
fast typing, and echoey seems to be doing fine.

I was trying to build tests for the robot framework but it seems that
network unit testing is not that easy, do you have any idea ?

On Feb 27, 11:15 pm, Torben Weis <torben.w...@gmail.com> wrote:
> Oooops, seems I introduced new bugs. What is the easiest way to reproduce
> this? Fast typing with one client, or concurrently with two?
>
> The server project urgently needs some tests which send heaps of submit
> requests via the C/S protocol in parallel. At the same time we could use
> this to compare the speed of different wave servers ...
>
> I try to locate and fix the bugs.
>
> Cheers
> Torben
>

> 2010/2/26 Nicolas <patry.nico...@gmail.com>

> torben.w...@gmail.com

Torben Weis

unread,
Feb 27, 2010, 10:15:02 AM2/27/10
to qwave...@googlegroups.com
Hi,

I found two bugs which emerge when two users type concurrently. I am about to fix them.

Regarding network testing: I am currently working with the code in waveclient/tests/remoteot. It acts as two wave clients which are sending messages concurrently via the C/S protocol. Currently the wave server fails on this test :-(

I just committed a fix that gets the test case up and working again. It became broken sometime in the past.

Greetings
Torben

2010/2/27 Nicolas <patry....@gmail.com>

Torben Weis

unread,
Feb 27, 2010, 11:13:52 AM2/27/10
to qwave...@googlegroups.com

I found two bugs which emerge when two users type concurrently. I am about to fix them.

Fixed. 

Regarding network testing: I am currently working with the code in waveclient/tests/remoteot. It acts as two wave clients which are sending messages concurrently via the C/S protocol. Currently the wave server fails on this test :-(

The C++ wave server is now passing all test cases in the 'remoteot' test.

Torben
Reply all
Reply to author
Forward
0 new messages