Files
seaweedfs/weed/filer/rocksdb
Chris Lu 83195fc111 filer: reuse the caller's fetched entry in CreateEntry (#9645)
CreateEntry starts with a FindEntry to load the current entry. A conditional
CreateEntry already fetched that entry to evaluate the precondition under the
per-path lock, so the create repeated the lookup.

Add an existing *Entry parameter: when non-nil it is used as the current entry
and the internal lookup is skipped; nil keeps the lookup. The gRPC CreateEntry
handler passes the entry it fetched for the precondition, removing the redundant
read while the lock is held. All other callers pass nil.
2026-05-23 21:40:41 -07:00
..

Prepare the compilation environment on linux

Prepare the compilation environment on mac os

brew install snappy

install rocksdb:

 export ROCKSDB_HOME=/Users/chris/dev/rocksdb

 git clone https://github.com/facebook/rocksdb.git $ROCKSDB_HOME
 pushd $ROCKSDB_HOME
 make clean
 make install-static
 popd

install gorocksdb

export CGO_CFLAGS="-I$ROCKSDB_HOME/include"
export CGO_LDFLAGS="-L$ROCKSDB_HOME -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy -llz4 -lzstd"

go get github.com/tecbot/gorocksdb

compile with rocksdb

cd ~/go/src/github.com/seaweedfs/seaweedfs/weed
go install -tags rocksdb