(Zeze.Builtin.Dbh2.Get r)
| 205 | } |
| 206 | |
| 207 | @Override |
| 208 | protected long ProcessGetRequest(Zeze.Builtin.Dbh2.Get r) throws RocksDBException, InterruptedException { |
| 209 | stateMachine.counterGet.incrementAndGet(); |
| 210 | // var lock = getLocks().get(r.Argument.getKey()); |
| 211 | // lock.lock(this); |
| 212 | // try { |
| 213 | // 直接读取数据库。是否可以读取由raft控制。raft启动时有准备阶段。 |
| 214 | var bucket = stateMachine.getBucket(); |
| 215 | if (!bucket.inBucket(r.Argument.getDatabase(), r.Argument.getTable(), r.Argument.getKey())) |
| 216 | return errorCode(eBucketMismatch); |
| 217 | var value = bucket.get(r.Argument.getKey()); |
| 218 | if (null == value) |
| 219 | r.Result.setNull(true); |
| 220 | else { |
| 221 | r.Result.setValue(value); |
| 222 | stateMachine.sizeGet.addAndGet(value.size()); |
| 223 | } |
| 224 | r.SendResult(); |
| 225 | // } finally { |
| 226 | // lock.unlock(); |
| 227 | // } |
| 228 | return 0; |
| 229 | } |
| 230 | |
| 231 | @Override |
| 232 | protected long ProcessKeepAliveRequest(KeepAlive r) throws Exception { |
nothing calls this directly
no test coverage detected