Commit Graph

19 Commits

Author SHA1 Message Date
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 e74a05685e
fix: infinite loop in peer.Ancestors() (#1469)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:36 +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 3b426d2c54
feat: rename client/clientutil to client/util (#1420)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:32 +08:00
Gaius 75710ab761
feat: scheduler http status (#1414)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:31 +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 9c1e05983a
feat: scheduler add seed peer (#1298)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:18 +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
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 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 83cdf39a9c
feat: limit tree depth (#1099)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:00 +08:00
Gaius 557425249c
feat: optimize peer range (#1095)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:59 +08:00
Jim Ma c14d36ba6a
fix: scheduler download tiny file error (#1052)
* fix: scheduler download tiny file error

Signed-off-by: Jim Ma <majinjing3@gmail.com>

* chore: fix golang lint

Signed-off-by: Jim Ma <majinjing3@gmail.com>
2023-06-28 17:32:55 +08:00
Gaius aa5f078a14
feat: remove host and task when peer make tree (#1042)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:55 +08:00
Gaius 99da719ce1
feat: cdn download tiny file (#1040)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:55 +08:00
Gaius 061c3c8752
feat: scheduler download tiny file with range header (#1024)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:53 +08:00
Gaius 61310b55d5
feat: when cdn peer is failed, peer should be back-to-source (#1005)
* feat: schdule peer with cdn failed

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

* feat: when cdn peer is failed, peer back-to-source

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

* test: callback

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

* feat: change scheduler default config

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:32:53 +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