mirror of
				https://github.com/taigrr/bitcask
				synced 2025-01-18 04:03:17 -08:00 
			
		
		
		
	Fixed a bug with incorrect offsets populating the trie (#82)
This commit is contained in:
		
							parent
							
								
									0338755f8c
								
							
						
					
					
						commit
						50d3971e86
					
				| @ -356,6 +356,7 @@ func (b *Bitcask) reopen() error { | |||||||
| 		} | 		} | ||||||
| 	} else { | 	} else { | ||||||
| 		for i, df := range datafiles { | 		for i, df := range datafiles { | ||||||
|  | 			var offset int64 | ||||||
| 			for { | 			for { | ||||||
| 				e, n, err := df.Read() | 				e, n, err := df.Read() | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
| @ -368,11 +369,13 @@ func (b *Bitcask) reopen() error { | |||||||
| 				// Tombstone value  (deleted key) | 				// Tombstone value  (deleted key) | ||||||
| 				if len(e.Value) == 0 { | 				if len(e.Value) == 0 { | ||||||
| 					t.Delete(e.Key) | 					t.Delete(e.Key) | ||||||
|  | 					offset += n | ||||||
| 					continue | 					continue | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| 				item := internal.Item{FileID: ids[i], Offset: e.Offset, Size: n} | 				item := internal.Item{FileID: ids[i], Offset: offset, Size: n} | ||||||
| 				t.Insert(e.Key, item) | 				t.Insert(e.Key, item) | ||||||
|  | 				offset += n | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user