GithubHelp home page GithubHelp logo

Comments (13)

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
Thanks for raising this. I've been on holiday for the last month, i hope to 
look into this in the next week. 

Original comment by [email protected] on 4 Aug 2013 at 10:47

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
I think this is a synchronization problem which can be triggered with a race 
condition. I have made a fix for this with 3.0.5.

Original comment by [email protected] on 5 Aug 2013 at 4:53

  • Changed state: Fixed

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
Thanks! I will try it out and get back to you if it occurs again.

Original comment by [email protected] on 7 Aug 2013 at 8:35

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
I just noticed a bug in the latest version. You are multiplying the ms timeout 
with 1000 in order to get the nanosecond timeout. However, you need to multiply 
by 1 000 000 for the conversion to be correct. Otherwise it will timeout too 
quickly.

Original comment by [email protected] on 8 Aug 2013 at 12:58

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
Doh! Thanks for that - i'll fix immediately.

Original comment by [email protected] on 8 Aug 2013 at 5:42

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
Thanks for the quick response! We just tried it and unfortunately it isn't 
solved yet. ClientRpcController.getTimeoutMs() returns an int and it therefore 
overflows when multiplied by 1 000 000, resulting in a negative timeout. I'd 
suggest changing it to a long. 

Original comment by [email protected] on 9 Aug 2013 at 9:39

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
Double doh! Thanks again i was taking too many shortcuts. The fix is now in 
3.0.7.

regards,P.

Original comment by [email protected] on 9 Aug 2013 at 7:59

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
I just found a bug related to this fix. The following code in RpcClient waits 
too long: 
if ( !callback.isDone() ) {
    callback.wait(timeToDeadline);
}
timeToDeadline contains the timeout in nanos but wait(long timeout) expects to 
receive the time in ms. 

Original comment by [email protected] on 22 Jan 2014 at 2:07

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
you're right. Thanks!

Original comment by [email protected] on 22 Jan 2014 at 6:38

  • Changed state: Started

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
fixed with 3.2.2

Original comment by [email protected] on 22 Jan 2014 at 7:51

  • Changed state: Fixed

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
You are as quick as always! :)

Original comment by [email protected] on 22 Jan 2014 at 7:56

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
Some of our clients have started throwing this exception: "Exception: Issue25: 
not fixed - callback after timeout handling not finished. Please re-open issue.
Value: com.googlecode.protobuf.pro.duplex.RpcClient Issue25: not fixed - 
callback after timeout handling not finished. Please re-open issue.". 
Unfortunately I don't know exactly how to reproduce. The only thing I know is 
that it started occurring when we started making a lot more concurrent calls.

Original comment by [email protected] on 14 Aug 2014 at 8:56

from protobuf-rpc-pro.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 18, 2024
Hi Carl, i think this "error log" is producable because of a race condition 
between the correct response handling and the timeout handling in two separate 
threads( and not fully synchronizing access to the BlockingRpcCallback ) . 

I'm pretty sure there is not really a problem and the logging lines:

if ( !callback.isDone() ) {
    log.error("Issue25: not fixed ..
}
can be safely removed. Or enclosed in a synchronize(callback){..} block

do you want a new revision to fix this - if yes, then i propose to just delete 
the log.


Original comment by [email protected] on 15 Aug 2014 at 6:52

from protobuf-rpc-pro.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.