Commit Graph

36 Commits

Author SHA1 Message Date
Gaius 7c2ee7858b
refactor: set and dag with generics (#1490)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:39 +08:00
Gaius 46deb4fccf
Use dag to represent peer scheduling topology (#1473)
* feat: use dag to represent peer scheduling topology

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:37 +08:00
Gaius c6a019560d
feat: proxy add defaultTag field (#1462)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:36 +08:00
Gaius 8cf344992f
feat: if peer back-to-source failed, return source metadata. (#1444)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:34 +08:00
Gaius a2511cb945
feat: rewrite interface{} to any (#1419)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:32 +08:00
Gaius 30313a4caa
feat: client add create object storage (#1409)
* feat: add create object storage rest api

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:30 +08:00
Gaius 64f5e9357b
refactor: scheduler announce task (#1407)
* feat: scheduler announce normal task

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: remove cid

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:30 +08:00
Gaius f688d341bd
feat: remove cdn (#1401)
* feat: remove cdn

Signed-off-by: Gaius <gaius.qi@gmail.com>

* docs: generate swagger

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:29 +08:00
Gaius 2a0314e45b
refactor: scheduler grpc (#1310)
* refactor: scheduler grpc

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: generate protoc

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:20 +08:00
Gaius faa5e4e465
feat: add seed peer logic (#1302)
* feat: announce seed peer

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: remove cdn logic

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: remove cdn job

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: dfdaemon change host uuid to host id

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: go generate mocks

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: remove cdn compatibility

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: change docker compose

Signed-off-by: Gaius <gaius.qi@gmail.com>

* fix: reuse panic

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: compatible with v2.0.3-beta.2

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:19 +08:00
Gaius 9c1e05983a
feat: scheduler add seed peer (#1298)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:18 +08:00
Gaius ca8961ed09
refactor: scheduler task SizeScope (#1287)
* refactor: scheduler task SizeScope

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:17 +08:00
Gaius 4497de122a
fix: legacy cdn peer (#1283)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:17 +08:00
Gaius 913b534668
fix: tree infinite loop (#1271)
* fix: peer tree infinite loop

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: peer add Ancestors func

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:16 +08:00
Gaius 9c539fd425
test: AnnounceTask and StatTask (#1254)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:14 +08:00
Eryu Guan 65fa8a1680
feat: define and implement new dfdaemon APIs to make dragonfly2 work as a distributed cache (#1227)
Introduce a new dfcache command which uses dfcache SDK interface to
interactive with dfdaemon and operate on P2P cache system.

For example:
- add a file into cache system
  dfcache import --cid sha256:xxxxxx --tag testtag /path/to/file

- check if a file exists in cache system
  dfcache stat --cid testid --local  # only check local cache
  dfcache stat --cid testid          # check other peers as well

- export/download a file from cache system
  dfcache export --cid testid -O /path/to/output

- delete a file from cache system, both local cache and P2P network
  dfcache delete -i testid -t testtag

Signed-off-by: Gaius <gaius.qi@gmail.com>
Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>

Co-authored-by: Jim Ma <majinjing3@gmail.com>
Co-authored-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:13 +08:00
Gaius f26a63b96e
feat: registerTask returns to the task in time (#1250)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:13 +08:00
Gaius b2c9577e7b
Add csv storage to scheduler (#1234)
* feat: scheduler add csv storage for peer data
* feat: add storage configuration to scheduler

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:13 +08:00
Gaius f5d372bab4
feat: if the number of failed peers in the task is greater than FailedPeerCountLimit, then scheduler notifies running peers of failure (#1211)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:10 +08:00
Gaius bc1b807832
feat: optimize get available task (#1208)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:10 +08:00
Gaius e33736121f
feat: scheduler add block peers set (#1202)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:09 +08:00
Gaius 603db21e17
feat: scheduler add default biz tag (#1164)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:06 +08:00
Gaius eb408d136f
test: scheduler service handlePieceFail (#1146)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:04 +08:00
Gaius 7d30dd86ae
feat: add scheduler traffic metrics (#1143)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:03 +08:00
Gaius 5223cc1ce8
feat: add scheduler metrics (#1139)
* feat: add scheduler metrics

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: generate validate for url meta

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:03 +08:00
Gaius addcf04df0
feat: task state for register (#1132)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:02 +08:00
Gaius 58aff0c231
feat: scheduler change piece cost from nanosecond to millisecond (#1119)
* feat: change picec cost from nanoseconds to milliseconds

Signed-off-by: Gaius <gaius.qi@gmail.com>

* test: scheduler service

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:02 +08:00
Gaius 0326f781f4
feat: optimize scheduler (#1106)
* feat: optimize scheduler

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:00 +08:00
Gaius 27fcc904c0
fix: when peer state is PeerStateSucceeded, return size scope is small (#1103)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:00 +08:00
Gaius 81ea759393
test: scheduler handle failed piece (#1084)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:58 +08:00
Gaius 060429c675
feat: scheduler blocks cdn (#1079)
* feat: scheduler blocks cdn

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:57 +08:00
Gaius d52782ff38
feat: job trigger cdn by resource (#1076)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:57 +08:00
Gaius 6d58de0ef1
refactor: scheduler grpc server (#1046)
* refactor: scheduler grpc server

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: generate mock file

Signed-off-by: Gaius <gaius.qi@gmail.com>

* test: scheduler package

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:55 +08:00
Gaius 65ad608d58
feat: If cdn only updates IP, set cdn peers state to PeerStateLeave (#1038)
* feat: If cdn only updates IP, set cdn peers state to PeerStateLeave

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:54 +08:00
Gaius 5479b3a53e
feat: stream send error code (#986)
* feat: change task and peer ttl (#984)

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: send error code

Signed-off-by: Gaius <gaius.qi@gmail.com>

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: add retry interval

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: dfdaemon report successful piece before end of piece

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: update submodule version

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:51 +08:00
Gaius 97c1eb65e7
Refactor scheduler service (#958)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:50 +08:00