Hi Christian,
Tried your suggestion too on 1.7.9, unfortunately it hasn't had any
influence even though it looked promising.
Regards,
- Ben
On Tuesday, September 23, 2014 8:48:00 AM UTC+2, Christian Laakmann wrote:
>
> Hi all, Luca,
>
> it seems as if you wait for synchronous responses from _all_ available
> Nodes, even if quorum is set to 0. In
> ODistributedResponseManager#collectResponse, this code handles the
> notification of waiting threads after all expected responses have been
> received.
>
> if (receivedResponses >= expectedSynchronousResponses &&
> (!waitForLocalNode || receivedCurrentNode)) {
> if (completed || isMinimumQuorumReached(false)) {
> // NOTIFY TO THE WAITER THE RESPONSE IS COMPLETE NOW
> notifyWaiters();
> }
> }
>
> My expectation would be, that #isMinimumQuorumReached() were called as
> part of the first IF, i.e.:
>
> if (completed
> || isMinimumQuorumReached(false)
> || (receivedResponses >= expectedSynchronousResponses &&
> (!waitForLocalNode || receivedCurrentNode))) {
> // NOTIFY TO THE WAITER THE RESPONSE IS COMPLETE NOW
> notifyWaiters();
> }
>
> From my understanding, this would notify the waiting thread that pushed
> the task as soon as the quorum is reached or all responses from the
> available nodes have been collected.
>
> Cheers,
> Christian
>
>
> On Tuesday, 23 September 2014 00:58:55 UTC+2, [email protected] wrote:
>>
>> Hi Luca,
>>
>> Since I've been hung out to dry, I've toyed around with the orientdb
>> sources. I was able to establish that the bottlenecks are indeed
>> sendRequest and send2Nodes. Removing sleeps in the latest 1.7.9 release
>> already provided a 50% improvement (From ~1.2sec down to ~0.55sec.).
>> Clearly we have different views on what is asynchronous. In your methods,
>> you inarguably wait for a response from the nodes before giving a response
>> to the client. IMHO asynchronous replication should update the local
>> database, respond to the client and care about the rest later. I believe
>> the replication methodology needs a rethink. Whilst in may be suitable to
>> LAN environments, it is certainly not suitable for WAN. I still wonder if
>> this is intended or even if it has ever been tested. I see examples with
>> europe and usa nodes with sharding, etc.. but I can't believe such delays
>> are accepted or the norm. Other technologies can do it, so should OrientDB.
>>
>> Anyway, enough of my ramblings.... Have a good evening.
>>
>> Regards,
>> - Ben
>>
>
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.