Comments (13)
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.
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.
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.
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.
Doh! Thanks for that - i'll fix immediately.
Original comment by [email protected]
on 8 Aug 2013 at 5:42
from protobuf-rpc-pro.
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.
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.
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.
you're right. Thanks!
Original comment by [email protected]
on 22 Jan 2014 at 6:38
- Changed state: Started
from protobuf-rpc-pro.
fixed with 3.2.2
Original comment by [email protected]
on 22 Jan 2014 at 7:51
- Changed state: Fixed
from protobuf-rpc-pro.
You are as quick as always! :)
Original comment by [email protected]
on 22 Jan 2014 at 7:56
from protobuf-rpc-pro.
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.
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)
- async call's timeout not really work HOT 3
- Support Java 6 HOT 3
- RpcServiceRegistry cannot remove BlockingService HOT 1
- Protocol Buffers 2.6 HOT 7
- Disabling logging HOT 3
- Python rpc support HOT 1
- Upgrade to protobuf-java 3.0.0 ( after Netty ) HOT 3
- maven not building for project HOT 3
- protoc plugin that is being used HOT 4
- Using Websockets HOT 1
- CleanShutdownHandler to shutdown RpcClientConnectionWatchdog
- RpcClientChannel support "attributes" and isClosed method.
- CleanshutdownHandler leaves Thread prohibiting JVM shutdown HOT 1
- Allow RpcClientChannel attributes on client peerWith HOT 1
- CleanShutdownHandler leaves shutdown hook registered when shutdown explicitly HOT 1
- Is this project stable enough to use in production environment? HOT 2
- WatchdogThread is not renamed to a readable thread name HOT 2
- StackOverflowError DuplexTcpClientPipelineFactory.peerWith HOT 4
- C++ impl? HOT 1
- Compile Fail by Not Found AsyncThreadPoolCallExecutor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from protobuf-rpc-pro.