No copy

1. fix #1683 
2. reduce allocation on good path.
the caller, who is in raft package, should take care of it.