Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
360b795
doc(docker): add docker usage into README files; add a docker-compose…
Ethereal-O Jun 18, 2025
09dab68
chore: add test case into gitignore
Ethereal-O Jul 19, 2025
318c0e8
chore: tmp framework
Ethereal-O Jul 19, 2025
8a7e152
chore: reorgnize
Ethereal-O Jul 20, 2025
2aa8c2a
feat: pass test
Ethereal-O Jul 21, 2025
095b6da
feat: a tmp version of optimizing
Ethereal-O Jul 22, 2025
fe3fcdc
feat: a tmp version of optimizing
Ethereal-O Jul 22, 2025
3a72f0a
chore: add some algorithms
Ethereal-O Jul 24, 2025
0acc014
chore: rename the modules; add filter interface
Ethereal-O Jul 26, 2025
185583c
chore: add PriorityElderSchedulerAlgorithm
Ethereal-O Jul 29, 2025
6f4b42e
chore: check PriorityElderSchedulerAlgorithm
Ethereal-O Jul 30, 2025
a61a886
chore: check PriorityElderSchedulerAlgorithm
Ethereal-O Jul 31, 2025
21ce37d
chore: add some note for idle workers
Ethereal-O Jul 31, 2025
9f18599
chore: add cron manager
Ethereal-O Jul 31, 2025
e5790ac
chore: add configurations
Ethereal-O Jul 31, 2025
d503951
test: add some test for priority
Ethereal-O Aug 5, 2025
dc9808b
chore: add some test for priority
Ethereal-O Sep 10, 2025
aca2994
chore: add some test for priority
Ethereal-O Sep 11, 2025
17b98ef
chore: add some test for routine
Ethereal-O Sep 13, 2025
ec5c1d2
chore: add some test for routine
Ethereal-O Sep 14, 2025
02b83cc
chore: change some files/ai suggestions
Ethereal-O Sep 15, 2025
767cad8
chore: change getting all task to complete/ refresh group assign
Ethereal-O Sep 22, 2025
c00bd80
chore: add some corner test
Ethereal-O Sep 25, 2025
dad0b39
chore: add some comments
Ethereal-O Sep 26, 2025
5995cf8
chore: repair ai
Ethereal-O Sep 26, 2025
c5c8e15
chore: repair ai
Ethereal-O Sep 26, 2025
5ee6421
chore: some tiny error
Ethereal-O Oct 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions vermeer/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,7 @@ node_modules/
/output/
/bin/*
!/bin/*.sh

# 其他 #
######################
test/case/
22 changes: 22 additions & 0 deletions vermeer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,28 @@
## Introduction
Vermeer is a high-performance distributed graph computing platform based on memory, supporting more than 15 graph algorithms, custom algorithm extensions, and custom data source access.

## Run with Docker

Pull the image:
```
docker pull hugegraph/vermeer:latest
```
Comment on lines +9 to +11
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

为代码块标注语言并收敛 volume 挂载范围

与中文 README 同步:增加 bash 语言标注;避免挂载 $HOME,仅挂载需要的配置目录(只读)。

应用此变更:

-```
+```bash
 docker pull hugegraph/vermeer:latest
-```
+```
@@
-```
-master: docker run -v ~/:/go/bin/config hugegraph/vermeer --env=master
-worker: docker run -v ~/:/go/bin/config hugegraph/vermeer --env=worker
-```
+```bash
+master: docker run -v $PWD/config:/go/bin/config:ro hugegraph/vermeer --env=master
+worker: docker run -v $PWD/config:/go/bin/config:ro hugegraph/vermeer --env=worker
+```
@@
-```
+```bash
 docker-compose up -d
-```
+```

另:建议固定镜像版本标签或 digest,避免 latest

Also applies to: 17-20, 24-26

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

9-9: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In vermeer/README.md around lines 9-11 (and similarly at 17-20 and 24-26), the
code blocks need language annotation and safer, narrower volume mounts: add
"bash" after the opening triple backticks for these blocks, replace any volume
mounts that map the entire home directory (e.g., ~/:/go/bin/config) with a
targeted config mount using the repository-relative path (e.g.,
$PWD/config:/go/bin/config:ro) to make it read-only, and update the docker run
examples for master and worker accordingly; also change the docker pull
reference to avoid using the unpinned "latest" tag (use a specific version tag
or digest) and apply the same bash annotation to the docker-compose code block.


Create local configuration files, for example, `~/master.ini` and `~/worker.ini`.

Run with Docker. The `--env` flag specifies the file name.

```
master: docker run -v ~/:/go/bin/config hugegraph/vermeer --env=master
worker: docker run -v ~/:/go/bin/config hugegraph/vermeer --env=worker
```

We've also provided a `docker-compose` file. Once you've created `~/master.ini` and `~/worker.ini`, and updated the `master_peer` in `worker.ini` to `172.20.0.10:6689`, you can run it using the following command:

```
docker-compose up -d
```

## Start

```
Expand Down
20 changes: 20 additions & 0 deletions vermeer/README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,26 @@
## 简介
Vermeer是一个基于内存的高性能分布式图计算平台,支持15+图算法。支持自定义算法扩展,支持自定义数据源接入。

## 基于 Docker 运行

拉取镜像
```
docker pull hugegraph/vermeer:latest
```
Comment on lines +9 to +11
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

为代码块标注语言并避免挂载整个 $HOME

  • 未标注语言触发 markdownlint(MD040)。将三引号改为 bash
  • -v ~/:/go/bin/config 会把整个家目录挂入容器,存在安全与越权风险。建议仅挂载所需配置目录且只读。

应用此变更:

-```
+```bash
 docker pull hugegraph/vermeer:latest
-```
+```
@@
-```
-master: docker run -v ~/:/go/bin/config hugegraph/vermeer --env=master
-worker: docker run -v ~/:/go/bin/config hugegraph/vermeer --env=worker
-```
+```bash
+master: docker run -v $PWD/config:/go/bin/config:ro hugegraph/vermeer --env=master
+worker: docker run -v $PWD/config:/go/bin/config:ro hugegraph/vermeer --env=worker
+```
@@
-```
+```bash
 docker-compose up -d
-```
+```

另外建议在文档中固定镜像版本(例如 hugegraph/vermeer:vX.Y.Z 或 digest)而非 latest,以确保可重复性。

Also applies to: 17-19, 23-24

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

9-9: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In vermeer/README.zh-CN.md around lines 9-11 (and also apply same changes to
lines 17-19 and 23-24), the markdown code blocks lack a language tag and the
docker run examples mount the entire home directory; change the opening triple
backticks to ```bash for those code blocks, replace the bind mount -v
~/:/go/bin/config with a targeted read-only mount such as -v
$PWD/config:/go/bin/config:ro for master and worker examples, and update the
docker pull and examples to recommend pinning a specific image tag or digest
instead of using :latest.


创建好本地配置文件,例如`~/master.ini``~/worker.ini`

基于docker运行,其中`--env`指定的是文件名称。
```
master: docker run -v ~/:/go/bin/config hugegraph/vermeer --env=master
worker: docker run -v ~/:/go/bin/config hugegraph/vermeer --env=worker
```

我们也提供了`docker-compose`文件,当创建好`~/master.ini``~/worker.ini`,将`worker.ini`中的`master_peer`修改为`172.20.0.10:6689`后,即可通过以下命令运行:
```
docker-compose up -d
```

## 运行

```
Expand Down
1 change: 1 addition & 0 deletions vermeer/apps/graphio/local_file.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ func (a *LocalMaker) MakeTasks(params map[string]string, taskID int32) ([]LoadPa
logrus.Errorf(s)
return nil, errors.New(s)
}
logrus.Debugf("MakeTask LoadTypeLocal parse file: %s, s:%d, e:%d", files, s, e)
for i := s; i <= e; i++ {
part := LoadPartition{}
part.Init(partID, taskID, LoadPartTypeVertex)
Expand Down
2 changes: 2 additions & 0 deletions vermeer/apps/master/bl/compute_task.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ func (ctb *ComputeTaskBl) ComputeTaskStatus(
}
}
taskMgr.ForceState(computeTask.Task, structure.TaskStateComplete)
// for scheduler, mark task complete
Scheduler.taskManager.MarkTaskComplete(taskId)
graph.SubUsingNum()
computeTask.FreeMemory()
needQuery := options.GetInt(computeTask.Task.Params, "output.need_query") == 1
Expand Down
6 changes: 6 additions & 0 deletions vermeer/apps/master/bl/grpc_handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"time"
"vermeer/apps/compute"
"vermeer/apps/graphio"
"vermeer/apps/master/schedules"
"vermeer/apps/master/threshold"
"vermeer/apps/master/workers"
pb "vermeer/apps/protos"
Expand Down Expand Up @@ -103,6 +104,11 @@ func (h *ServerHandler) SayHelloMaster(ctx context.Context, req *pb.HelloMasterR
logrus.Errorf("failed to add a WorkerClient to the WorkerManager, error: %s", err)
return &pb.HelloMasterResp{}, err
}
_, err = Scheduler.ChangeWorkerStatus(reqWorker.Name, schedules.WorkerOngoingStatusIdle)
if err != nil {
logrus.Errorf("failed to change worker status to idle, error: %s", err)
return &pb.HelloMasterResp{}, err
}

logrus.Infof("worker say hello name: %s and set to workgroup: %s, client: %s", reqWorker.Name, reqWorker.Group, p.Addr.String())

Expand Down
3 changes: 3 additions & 0 deletions vermeer/apps/master/bl/load_task.go
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,9 @@ func (lb *LoadTaskBl) LoadTaskStatus(taskId int32, state string, workerName stri
loadTask.Task.SetState(structure.TaskStateLoaded)
//TaskMgr.ForceState(loadTask.Task, structure.TaskStateLoaded)

// for scheduler, mark task complete
Scheduler.taskManager.MarkTaskComplete(taskId)

logrus.Infof("graph: %s, vertex: %d, edge: %d", graph.Name, graph.VertexCount, graph.EdgeCount)
for _, w := range graph.Workers {
logrus.Infof(
Expand Down
Loading
Loading