Thanks, and no worries. The official document doesn't indicate that but now
I have understood it.
 

 

Thank you again.

Regard,
Junfeng Chen

 

发件人: 肖康(Kang Xiao) [mailto:[email protected]] 
发送时间: 2014年11月9日 20:07
收件人: [email protected]
主题: Re: 答复: DRPC problem

 

​Sorry for late response. Yes, 'id' is ​is a fixed field that generated by drpc 
server and emitted by drpc spout. However it is not visible to drpc client.

 

On Wed, Oct 22, 2014 at 9:49 AM, Junfeng Chen <[email protected] 
<mailto:[email protected]> > wrote:

Hi , thanks

I found the following sentences:” The first bolt you declare will take in as 
input 2-tuples, where the first field is the request id and the second field is 
the arguments for that request. LinearDRPCTopologyBuilder expects the last bolt 
to emit an output stream containing 2-tuples of the form [id, result]. Finally, 
all intermediate tuples must contain the request id as the first field.”

 

I tried to add one more field in the declareOutputFields function, and I get 
the following error message: “Output stream of last component in 
LinearDRPCTopology must contain exactly two fields. The first should be the 
request id, and the second should be the result.”

 

Does that mean the ‘id’ field is a fixed field in the tuple and be ignored in 
the “drpc.execute("exclamation", word)”. The returned value must be the second 
field. 

 

Is my word correnct? 

 

 

发件人: 肖康(Kang Xiao) [mailto:[email protected] <mailto:[email protected]> 
] 
发送时间: 2014年10月21日 23:24
收件人: [email protected] <mailto:[email protected]> 
主题: Re: DRPC problem

 

hi Junfeng,

 

http://storm.apache.org/documentation/Distributed-RPC.html is useful for you to 
understand how DRPC works.

 

LocalDRPC is generated from clj code 
https://github.com/apache/storm/blob/master/storm-core/src/clj/backtype/storm/LocalDRPC.clj.

 

On Mon, Oct 20, 2014 at 2:14 PM, Junfeng Chen <[email protected] 
<mailto:[email protected]> > wrote:

Hi, I am a newbie for the Storm. Now I meet a problem about DRPC. 

 

In the BasicDRPCTopology of sample code, drpc.execute("exclamation", word) 
return a String as the result. I don’t understand how the DRPC return the 
emitted value in ExclaimBolt as it declares two Tuples as output format, while 
it just return "result" field. I tried to discover the source code but no 
source file of the class “LocalDRPC” can be found in 
storm-core\src\jvm\backtype\storm path. Could somebody explain for me? Thanks a 
lot. 

 

Regard,

Junfeng Chen

 





 

-- 

Best Regards!

Kang Xiao,<[email protected] <mailto:[email protected]> >
Distributed Software Engineer





 

-- 

Best Regards!

Kang Xiao,<[email protected] <mailto:[email protected]> >
Distributed Software Engineer

Reply via email to