Skip to content

Commit 473df8e

Browse files
committed
[ENH]: Integrate task operators into compaction
- Update compaction orchestration to use task-based execution - Add task scheduling and execution flow - Update configs and dependencies - Integration with heap tender service
1 parent 85de446 commit 473df8e

File tree

19 files changed

+1281
-193
lines changed

19 files changed

+1281
-193
lines changed

Cargo.lock

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tiltfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ k8s_resource(
237237
k8s_resource('postgres', resource_deps=['k8s_setup'], labels=["infrastructure"], port_forwards='5432:5432')
238238
# Jobs are suffixed with the image tag to ensure they are unique. In this context, the image tag is defined in k8s/distributed-chroma/values.yaml.
239239
k8s_resource('sysdb-migration-latest', resource_deps=['postgres'], labels=["infrastructure"])
240-
k8s_resource('rust-log-service', labels=["chroma"], port_forwards=['50054:50051', '50052:50052'], resource_deps=['minio-deployment'])
240+
k8s_resource('rust-log-service', labels=["chroma"], port_forwards=['50054:50051'], resource_deps=['minio-deployment'])
241241
k8s_resource('sysdb', resource_deps=['sysdb-migration-latest'], labels=["chroma"], port_forwards='50051:50051')
242242
k8s_resource('rust-frontend-service', resource_deps=['sysdb', 'rust-log-service'], labels=["chroma"], port_forwards='8000:8000')
243243
k8s_resource('query-service', resource_deps=['sysdb'], labels=["chroma"], port_forwards='50053:50051')

examples/task_api_example.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"""
88

99
import chromadb
10+
import time
1011

1112
# Connect to Chroma server
1213
client = chromadb.HttpClient(host="localhost", port=8000)
@@ -60,6 +61,8 @@
6061
print("Task is now registered and will run on new data!")
6162
print("=" * 60)
6263

64+
time.sleep(10)
65+
6366
# Add more documents to trigger task execution
6467
print("\nAdding more documents...")
6568
collection.add(

rust/log-service/src/lib.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1388,7 +1388,10 @@ impl LogServer {
13881388
if records.len() != pull_logs.batch_size as usize
13891389
|| (!records.is_empty() && records[0].log_offset != pull_logs.start_from_offset)
13901390
{
1391-
return Err(Status::not_found("Some entries have been purged"));
1391+
return Err(Status::not_found(format!(
1392+
"Some entries have been purged {} versus {}",
1393+
records[0].log_offset, pull_logs.start_from_offset
1394+
)));
13921395
}
13931396
Ok(Response::new(PullLogsResponse { records }))
13941397
}

rust/log/src/in_memory_log.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ impl InMemoryLog {
5353
next_offset, log.log_offset
5454
);
5555
}
56-
logs.push(log);
56+
logs.push(log.clone());
5757
}
5858
}
5959

rust/s3heap-service/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ serde_json = { workspace = true }
1414
tokio = { workspace = true }
1515
tonic = { workspace = true }
1616
tonic-health = { workspace = true }
17+
tower = { workspace = true }
1718
tracing = { workspace = true }
1819

1920
chroma-config = { workspace = true }

rust/worker/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,10 @@ shuttle = { workspace = true }
7979
rand = { workspace = true }
8080
rand_xorshift = { workspace = true }
8181
tempfile = { workspace = true }
82+
reqwest = { workspace = true, features = ["json"] }
8283

8384
chroma-benchmark = { workspace = true }
85+
chroma-frontend = { workspace = true }
8486

8587
[[bench]]
8688
name = "filter"

0 commit comments

Comments
 (0)