We're updating the issue view to help you get more done. 

Error in log space accounting for LOG_ENTRY_TYPE_RPCRESULT

Description

When running the YCSB benchmark, I recently noticed a server crash with the following error message in the log:

1452195004.489678023 LogSegment.h:153 in getLiveBytes ERROR[4]: accounting error for live bytes in segment: entry type 7, entryLengths[i] 0, deadEntryLengths 58

It turns out the "entry type 7" corresponds to LOG_ENTRY_TYPE_RPCRESULT. I believe that the cause of this message is likely to be a situation where an RPC result record gets added to the log without incrementing the corresponding element in entryLengths; when the record is deleted, deadEntryLengths gets incremented, resulting in the above error later on during cleaning.

Could you do an audit of the code that generates these records to see if you can find a place where entryLengths isn't getting incremented?

Environment

None

Status

Assignee

Seo Jin Park

Reporter

John Ousterhout

Labels

None

Priority

Medium