| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| [package] |
| name = "uniffle-x" |
| version = "0.1.0" |
| edition = "2021" |
| |
| # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html |
| |
| [[bin]] |
| name="uniffle-worker" |
| path= "src/main.rs" |
| |
| [lib] |
| name = "uniffle_worker" |
| path = "src/lib.rs" |
| |
| [features] |
| # whether to use jemalloc as the global allocator or not |
| jemalloc = [ |
| "dep:tikv-jemalloc-ctl", |
| "dep:tikv-jemalloc-sys", |
| "dep:tikv-jemallocator", |
| ] |
| |
| # whether to enable memory profiling or not, once enabled, it implies using jemalloc as the global allocator |
| memory-prof = [ |
| "jemalloc", |
| "tikv-jemallocator/profiling" |
| ] |
| |
| hdfs = [ |
| "dep:hdfs-native" |
| ] |
| |
| [dependencies] |
| anyhow = "1" |
| tokio = { version = "1.28.2", features = ["full" ] } |
| tokio-rustls = "0.22" |
| tokio-stream = { version = "0.1", features = ["sync"] } |
| tokio-util = { version = "0.6", features = ["compat"]} |
| toml = "0.7.4" |
| tracing = "0.1" |
| tracing-appender = "0.2" |
| tracing-subscriber = { version = "0.3", features = ["env-filter"] } |
| tonic = "0.9.1" |
| prost = "0.11.9" |
| bytes = "1" |
| tonic-build = "0.9.1" |
| thiserror = "1" |
| dashmap = "5.4.0" |
| log = "0.4.17" |
| env_logger = "0.10.0" |
| crossbeam = "0.8.2" |
| crossbeam-channel = "0.5" |
| tempdir = "0.3.7" |
| async-trait = "0.1.68" |
| futures = "0.3" |
| serde = { version = "1", features = ["derive"] } |
| async-channel = "1.8.0" |
| croaring = "0.8.1" |
| prometheus = { version = "0.13", features = ["process", "push"] } |
| crc32fast = "1.3.2" |
| fs2 = "0.4.3" |
| url = "2.4.0" |
| await-tree = "0.1.1" |
| poem = { version = "1.3.56", features = ["rustls", "test"]} |
| pprof = { version = "0.11.1", features = [ |
| "flamegraph", |
| "protobuf-codec", |
| "protobuf", |
| ] } |
| tempfile = "3.7.0" |
| once_cell = "1.18.0" |
| tower = { version = "0.4", features = ["util", "load-shed"] } |
| hyper = "0.14" |
| tokio-console = "0.1.8" |
| console-subscriber = "0.1.9" |
| pin-project-lite = "0.2.8" |
| signal-hook = "0.3.17" |
| clap = "3.0.14" |
| socket2 = { version="0.4", features = ["all"]} |
| cap = "0.1.2" |
| spin = "0.9.8" |
| opendal = { version = "0.44.0", features = ["services-fs"]} |
| |
| [dependencies.hdfs-native] |
| version = "0.7.0" |
| optional = true |
| features = ["kerberos"] |
| |
| # jemalloc related optional dependencies |
| [dependencies.tikv-jemalloc-ctl] |
| version = "0.5.0" |
| optional = true |
| |
| [dependencies.tikv-jemalloc-sys] |
| version = "0.5.0" |
| optional = true |
| features = ["stats"] |
| |
| [dependencies.tikv-jemallocator] |
| version = "0.5.0" |
| optional = true |
| features = ["stats"] |
| |
| [build-dependencies] |
| tonic-build = "0.9.1" |
| prost-build = "0.11.9" |
| |
| [dev-dependencies] |
| env_logger = "0.10.0" |
| awaitility = "0.3.1" |
| |
| [profile.dev] |
| # re-enable debug assertions when pprof-rs fixed the reports for misaligned pointer dereferences |
| # https://github.com/rust-lang/rust/pull/98112/ |
| debug-assertions = false |