deepstreamIO / deepstream.io

deepstream.io server
https://deepstreamio.github.io
MIT License
7.13k stars 382 forks source link

INVALID_RPC_CORRELATION_ID #1099

Closed caracal7 closed 3 years ago

caracal7 commented 3 years ago
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3haxus-2k18hpbb4ta
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3haxur-1y3hg5m5kpr
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3has8e-2ak5ckl6a43
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3hb0t1-13btaeeysu7i
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3hb1ya-17mldyimtrq
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3hb203-3zulfk4mfi9
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3hb3ga-4dmpfdm1q4p
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3haw23-1knv574lnnw
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3haw40-2gxgvvc5li8
mp       | STDERR: broker.js INVALID_RPC_CORRELATION_ID | name: smile with correlation id: km3haxur-11opb0iffgd

What does it mean? "smile" it is a name of RPC method.

Problem solved after restart server. I don't know how to reproduce error

jaime-ez commented 3 years ago

Hi, which client and server version are you usign?

yasserf commented 3 years ago

INVALID_RPC_CORRELATION_ID means the RPC was responded to twice, or that it timed out and then recieved a response.

What is your RPC timeout values?

caracal7 commented 3 years ago

What is your RPC timeout values?

rpc:
# Timeout for client RPC acknowledgement
ackTimeout: 1000
# Timeout for actual RPC provider response
responseTimeout: 10000

I found what this error appears then I don't have connection to remote MySQL from RPC

caracal7 commented 3 years ago

Hi, which client and server version are you usign?

latest versions from npm

jaime-ez commented 3 years ago

I found what this error appears then I don't have connection to remote MySQL from RPC

Yes that happens usually if the async action takes longer than the reponseTimeout, it will send the timeout message and then when the async action is completed will try to send the response and thus you'll get that error. If you have long running actions or slow connections increase the responseTimeout or respond to the rpc with some id (record/url/etc) that can be queried later for the final result.

yasserf commented 3 years ago

yup! think of it sort of like a lambda expiry event, except we can't force the client to stop running code since we don't own the process

jaime-ez commented 3 years ago

Hi, I'm going to close this and open an issue on the website repo in order to document it. Please reopen if there are other related problems.