mirror of
				https://github.com/taigrr/bitcask
				synced 2025-01-18 04:03:17 -08:00 
			
		
		
		
	
							parent
							
								
									3a6235ea03
								
							
						
					
					
						commit
						29e1cf648b
					
				
							
								
								
									
										12
									
								
								bitcask.go
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								bitcask.go
									
									
									
									
									
								
							| @ -125,6 +125,11 @@ func (b *Bitcask) close() error { | ||||
| func (b *Bitcask) Sync() error { | ||||
| 	b.mu.RLock() | ||||
| 	defer b.mu.RUnlock() | ||||
| 
 | ||||
| 	if err := b.saveMetadata(); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	return b.curr.Sync() | ||||
| } | ||||
| 
 | ||||
| @ -201,12 +206,7 @@ func (b *Bitcask) Put(key, value []byte) error { | ||||
| 	} | ||||
| 
 | ||||
| 	// in case of successful `put`, IndexUpToDate will be always be false | ||||
| 	if b.metadata.IndexUpToDate { | ||||
| 		b.metadata.IndexUpToDate = false | ||||
| 		if err := b.saveMetadata(); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| 	b.metadata.IndexUpToDate = false | ||||
| 
 | ||||
| 	if oldItem, found := b.trie.Search(key); found { | ||||
| 		b.metadata.ReclaimableSpace += oldItem.(internal.Item).Size | ||||
|  | ||||
| @ -633,6 +633,11 @@ func TestSync(t *testing.T) { | ||||
| 		value := []byte("foobar") | ||||
| 		err = db.Put(key, value) | ||||
| 	}) | ||||
| 
 | ||||
| 	t.Run("Put", func(t *testing.T) { | ||||
| 		err = db.Put([]byte("hello"), []byte("world")) | ||||
| 		assert.NoError(err) | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| func TestMaxKeySize(t *testing.T) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user