Remote interface: Change into non-blocked RPC
ajblane opened this issue · comments
AjMaChInE commented
In the case of all remote workers which are not workable, blocked PRCs not get RPC results until remote workers are workable. Therefore, remote interface needs to change blocked RPC to non-blocked RPC with 10s. When time-out occurs, remote interface goes to run local dcurl.
AjMaChInE commented
Here is the test result with a broker and remote interface without remote workers:
$ make BUILD_REMOTE=1 BUILD_DEBUG=1 check
CC build/curl.o
CC build/constants.o
CC build/trinary.o
CC build/dcurl.o
CC build/implcontext.o
CC build/common.o
CC build/pow_avx.o
CC build/remote_common.o
CC build/remote_interface.o
CC build/test-trinary.o
LD build/test-trinary
*** Validating build/test-trinary ***
[ Verified ]
CC build/test-curl.o
LD build/test-curl
*** Validating build/test-curl ***
[ Verified ]
CC build/test-dcurl.o
LD build/test-dcurl
*** Validating build/test-dcurl ***
[dcurl] Implementation CPU (Intel AVX) is initialized successfully
[dcurl-remote] Implementation Remote interface is initialized successfully
[dcurl-remote] callback queue amq.gen-RrL7AtIgsQLUmtCaF17O0A
[dcurl-remote] RPC timeout: request timed out
[dcurl] Implementation CPU (Intel AVX) is initialized successfully
[dcurl-remote] Implementation Remote interface is initialized successfully
[dcurl-remote] callback queue amq.gen-usfeFto5n3HQMjzRtZ0xTw
[dcurl-remote] RPC timeout: request timed out
[dcurl] Implementation CPU (Intel AVX) is initialized successfully
[dcurl-remote] Implementation Remote interface is initialized successfully
[dcurl-remote] callback queue amq.gen-GSMrICcOF1ss1aJ8APQmBg
[dcurl-remote] RPC timeout: request timed out
[dcurl] Implementation CPU (Intel AVX) is initialized successfully
[dcurl-remote] Implementation Remote interface is initialized successfully
[dcurl-remote] callback queue amq.gen-TXzscJvYGMsgqgiEFdCMXA
[dcurl-remote] RPC timeout: request timed out
[dcurl] Implementation CPU (Intel AVX) is initialized successfully
[dcurl-remote] Implementation Remote interface is initialized successfully
[dcurl-remote] callback queue amq.gen-flRh-XTwRpSL20JitnR0zg
[dcurl-remote] RPC timeout: request timed out
[ Verified ]
CC build/test-pow.o
LD build/test-pow
*** Validating build/test-pow ***
CPU - AVX
[dcurl] Implementation CPU (Intel AVX) is initialized successfully
PoW execution times: 1 times.
Success.
[ Verified ]
CC build/test-multi-pow.o
LD build/test-multi-pow
*** Validating build/test-multi-pow ***
[dcurl] Implementation CPU (Intel AVX) is initialized successfully
[dcurl-remote] Implementation Remote interface is initialized successfully
[dcurl-remote] callback queue amq.gen-YBfLwcPOjszYHRvpZOi10g
[dcurl-remote] callback queue amq.gen-8y4UXUNf7ZurixWmRqgCcw
[dcurl-remote] callback queue amq.gen-mkEJkSdXzKhxRh0DGA5nHw
[dcurl-remote] callback queue amq.gen-WrcOwOyZhSBgd5m-KVWRjQ
[dcurl-remote] callback queue amq.gen-TYPyUdhlMI-Afh28bU9NGw
[dcurl-remote] callback queue amq.gen-yENjMxB10Xb9ZnaPz9cH-w
[dcurl-remote] callback queue amq.gen-SATKIdxO0lA3K3jZLJ9yDA
[dcurl-remote] callback queue amq.gen-IIhzNlK2LNPy6Q1KqrQVQw
[dcurl-remote] callback queue amq.gen-OAl9Bz4juXvPb9R3AZG7Rg
[dcurl-remote] callback queue amq.gen-Fjt7TM07-PW7fLQcxU-E2w
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[dcurl-remote] RPC timeout: request timed out
[ Verified ]
rm build/test-trinary.o build/test-curl.o build/test-pow.o build/test-multi-pow.o build/test-dcurl.o