Project

General

Profile

Bug #4618

Updated by Greg Farnum about 11 years ago

The Journaler has mechanisms to try and read extra data if an event is large enough that it exceeds the current prefetch, but they don't work properly. _is_readable() is setting the temp_fetch_len member based on how much *more* data it needs, but _prefetch() is interpreting it from read_pos. Seeing this bug requires having some pretty large Events in the log, and there's an easy workaround (increase the prefetch period config setting), but it's hard to diagnose and a bit embarrassing. ;) 

 I haven't got any patches to fix this issue, yet. 


 Original bug: 

 Our mds replay the journal forever, doesnt want to active. 
 There are 5 mons, and 5 osd. 
 max_mds is 2. 
 <pre> 
 'ceph-mds2' mds.0.272 up:resolve seq 12 
 'ceph-mds1' mds.1.241 up:replay seq 25 
 </pre> 

 The logs are here: http://elbandi.net/ceph/ 
 Version everywhere: 0.56.4 

Back