Fix WAL recovery

use readFully instead of read to read byte array from WAL, as sometimes
read only reads partital data from stream, causing futher reads to get
corrupted data.