135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
# File 'lib/ls4/service/gateway.rb', line 135
def rpc_read_impl(version, key, offset, size)
ar = MessagePack::RPC::AsyncResult.new
CachedMDSBus.get_okey(key, version) {|okey,error|
if error
$log.warn("failed to get a key from MDS: key=#{key.inspect}: #{error}")
$log.debug_backtrace error.backtrace if error.is_a?(Exception)
ar.error(error.to_s)
elsif okey
DataClientBus.read(okey, offset, size, true) {|data,error|
if error
$log.warn("failed to get data from DS: key=#{key.inspect}: #{error} rsid=#{okey.rsid}")
$log.debug_backtrace error.backtrace if error.is_a?(Exception)
end
ar.result(data)
}
else
ar.result(nil)
end
}
ar
end
|