Files
xzfcandtimvisee 6b728bb849 Merge io and memory into common (#8155)
* Unify parking_lot/arc_lock feature

* Move lib/common/{io,memory}/* -> lib/common/common/*

- Mmap-related items are grouped into `common::mmap` sub-module:
  - `memory/src/chunked_utils.rs`      -> `common/src/mmap/chunked.rs`
  - `memory/src/madvise.rs`            -> `common/src/mmap/advice.rs`
  - `memory/src/mmap_ops.rs`           -> `common/src/mmap/ops.rs`
  - `memory/src/mmap_type_readonly.rs` -> `common/src/mmap/mmap_readonly.rs`
  - `memory/src/mmap_type.rs`          -> `common/src/mmap/mmap_rw.rs`
- Filesystem-related items are grouped into `common::fs` sub-module:
  - `common/src/fs.rs`          -> `common/src/fs/sync.rs`
  - `io/src/file_operations.rs` -> `common/src/fs/ops.rs`
  - `io/src/move_files.rs`      -> `common/src/fs/move.rs`
  - `io/src/safe_delete.rs`     -> `common/src/fs/safe_delete.rs`
  - `memory/src/checkfs.rs`     -> `common/src/fs/check.rs`
  - `memory/src/fadvise.rs`     -> `common/src/fs/fadvise.rs`
- Rest is moved straight into `common`:
  - `io/src/storage_version.rs` -> `common/src/storage_version.rs`

The old `io` and `memory` are now hollow crates that re-export items
from `common`. These hollow crates will be removed in next commits.

* Replace uses of `io` and `memory` with new paths in `common`

Since `io` and `memory` are just re-exports of `common`, these
replacements are no-op.

* Remove `io` and `memory` crates
2026-02-17 11:01:14 +01:00

113 lines
2.9 KiB
TOML

[package]
name = "collection"
version = "0.4.2"
authors = [
"Andrey Vasnetsov <[email protected]>",
"Qdrant Team <[email protected]>",
]
license = "Apache-2.0"
edition = "2024"
[lints]
workspace = true
[features]
testing = []
tracing = ["dep:tracing", "api/tracing", "segment/tracing"]
data-consistency-check = []
rocksdb = ["segment/rocksdb"]
staging = ["shard/staging"]
[dev-dependencies]
criterion = { workspace = true }
fs-err = { workspace = true, features = ["debug"] }
proptest = { workspace = true }
rstest = { workspace = true }
tar = { workspace = true }
approx = "0.5.1"
collection = { path = ".", features = ["testing"] }
common = { path = "../common/common", features = ["testing"] }
segment = { path = "../segment", default-features = false, features = ["testing"] }
shard = { path = "../shard", default-features = false, features = ["testing"] }
[target.'cfg(not(target_os = "windows"))'.dev-dependencies]
pprof = { workspace = true }
[dependencies]
bytemuck = { workspace = true }
fs-err = { workspace = true }
parking_lot = { workspace = true }
ahash = { workspace = true }
rand = { workspace = true }
thiserror = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
rmp-serde = { workspace = true }
wal = { workspace = true }
ordered-float = { workspace = true }
hashring = "0.3.6"
tinyvec = { workspace = true }
siphasher = "1.0.2"
smallvec = { workspace = true }
count-min-sketch = "0.1.8"
tokio = { workspace = true }
tokio-util = { workspace = true }
futures = { workspace = true }
atomicwrites = { workspace = true}
log = { workspace = true }
env_logger = { workspace = true }
async-trait = { workspace = true }
arc-swap = "1.8.2"
tonic = { workspace = true }
uuid = { workspace = true }
url = { workspace = true }
validator = { workspace = true }
http = { workspace = true }
actix-web-validator = { workspace = true }
actix-web = { workspace = true }
actix-files = { workspace = true }
common = { path = "../common/common" }
cancel = { path = "../common/cancel" }
issues = { path = "../common/issues" }
segment = { path = "../segment", default-features = false }
shard = { path = "../shard", default-features = false }
sparse = { path = "../sparse" }
api = { path = "../api" }
itertools = { workspace = true }
indicatif = { workspace = true }
chrono = { workspace = true }
schemars = { workspace = true }
fs_extra = { workspace = true }
semver = { workspace = true }
tempfile = { workspace = true }
sha2 = { workspace = true }
bytes = { workspace = true }
fnv = { workspace = true }
indexmap = { workspace = true }
ringbuffer = "0.16.0"
strum = { workspace = true }
urlencoding = { workspace = true }
tracing = { workspace = true, optional = true }
fs4 = "0.13.1"
# AWS S3 support
object_store = { version = "0.13.1", features = ["aws"] }
[[bench]]
name = "hash_ring_bench"
harness = false
[[bench]]
name = "batch_search_bench"
harness = false
[[bench]]
name = "batch_query_bench"
harness = false