Skip to content

feat(cache): add node-level shared model cache#32

Closed
chlins wants to merge 1 commit intomainfrom
feat/cache
Closed

feat(cache): add node-level shared model cache#32
chlins wants to merge 1 commit intomainfrom
feat/cache

Conversation

@chlins
Copy link
Copy Markdown
Member

@chlins chlins commented Apr 19, 2026

This pull request introduces a node-level shared cache for static inline model volumes, enabling multiple pods on the same node to share a single copy of a fully-pulled model. The cache is reference-counted and garbage-collected when no volumes are using a particular model. The implementation includes new helpers for cache directory management, updates to the publish and unpublish volume paths to use the shared cache, and comprehensive tests for cache path logic.

Shared cache implementation and integration:

  • Added a node-level shared cache for static inline model volumes, with helpers in RawConfig for cache directory structure and digest parsing. The cache stores models under cache/content/$algo/$hex, with references tracked under cache/refs/$algo/$hex/$refName. (pkg/config/config.go pkg/config/config.goR146-R183)
  • Implemented EnsureCachedModel, ReleaseCachedModel, and FindCacheDigestByRef in Worker to manage cache population, reference counting, and garbage collection. These methods ensure deduplication of downloads, safe concurrent access, and cleanup when no references remain. (pkg/service/worker.go [1] [2]
  • Updated the static inline volume publish path to use the shared cache unless a partial-file variant is requested, in which case the legacy per-volume path is used. The unpublish path now releases the shared cache reference and garbage-collects if unused. (pkg/service/node_static_inline.go [1] [2]

Testing and status tracking:

  • Added comprehensive tests for cache path helpers and digest parsing to ensure correct directory structure and algorithm handling. (pkg/config/cache_test.go pkg/config/cache_test.goR1-R78)
  • Extended status.Status to track the cache digest in status.json, allowing unpublish operations to reliably release cache references. (pkg/status/status.go pkg/status/status.goR65)

Storage structure:

root@demo-worker2:/var/lib/model-csi# tree .
.
|-- cache
|   |-- content
|   |   `-- sha256
|   |       `-- c8aa0e556497db137139bf48917ed3b17c2434be3a265d1e5269df0aafc6e49a
|   |           |-- LICENSE
|   |           |-- README.md
|   |           |-- config.json
|   |           |-- generation_config.json
|   |           |-- merges.txt
|   |           |-- model.safetensors
|   |           |-- tokenizer.json
|   |           |-- tokenizer_config.json
|   |           `-- vocab.json
|   `-- refs
|       `-- sha256
|           `-- c8aa0e556497db137139bf48917ed3b17c2434be3a265d1e5269df0aafc6e49a
|               |-- csi-102388cbff4215591def86cd750a01e912a05490b34642522153a4bfbd4e2de2
|               |-- csi-5cfd64b0a240ba135bf7d06d14d9117a9cd9f9298d1ae3e5a81aaef8bc4f9bfd
|               |-- csi-6be1c13e5c44b202bbd1f8678d06c5e5f8984dede38dd645c3352e84776f9977
|               |-- csi-7430a191502a42d26c9e196fe258584ce02433b51caf113817e2c3c5f7375d6e
|               |-- csi-bedf0e604f004c641577bb1571fe10b5551d49e1898d236acedd2e5f8f2224bb
|               |-- csi-c37357c9c32acc0f6f18d245b35a9d29335f71835614111098c776a875925792
|               |-- csi-cfdbf200715a089c29cfb09d0af18f6170334e889d72fc4d6603b8ab64ab4089
|               |-- csi-d3770c44283cd6fc6d93cc94c5975fe0d678f30bd2b4472de463d28837cce4c8
|               |-- csi-d9d62e31fcf1f2b87fe20481791de5d8df4fde1a595d69f6db23d62cdb2b88eb
|               `-- csi-de6a8cfeaade0e48192ff372796e179e99d66f6b1f502d1c1d057a6d0107835f
`-- volumes
    |-- csi-102388cbff4215591def86cd750a01e912a05490b34642522153a4bfbd4e2de2
    |   `-- status.json
    |-- csi-5cfd64b0a240ba135bf7d06d14d9117a9cd9f9298d1ae3e5a81aaef8bc4f9bfd
    |   `-- status.json
    |-- csi-6be1c13e5c44b202bbd1f8678d06c5e5f8984dede38dd645c3352e84776f9977
    |   `-- status.json
    |-- csi-7430a191502a42d26c9e196fe258584ce02433b51caf113817e2c3c5f7375d6e
    |   `-- status.json
    |-- csi-bedf0e604f004c641577bb1571fe10b5551d49e1898d236acedd2e5f8f2224bb
    |   `-- status.json
    |-- csi-c37357c9c32acc0f6f18d245b35a9d29335f71835614111098c776a875925792
    |   `-- status.json
    |-- csi-cfdbf200715a089c29cfb09d0af18f6170334e889d72fc4d6603b8ab64ab4089
    |   `-- status.json
    |-- csi-d3770c44283cd6fc6d93cc94c5975fe0d678f30bd2b4472de463d28837cce4c8
    |   `-- status.json
    |-- csi-d9d62e31fcf1f2b87fe20481791de5d8df4fde1a595d69f6db23d62cdb2b88eb
    |   `-- status.json
    `-- csi-de6a8cfeaade0e48192ff372796e179e99d66f6b1f502d1c1d057a6d0107835f
        `-- status.json

@chlins chlins added the enhancement New feature or request label Apr 19, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 19, 2026

📊 Code Coverage Report

Metric Coverage Threshold Status
Overall 74.0% 70%
Changed lines 84% 90%
📦 Per-package breakdown
github.com/modelpack/model-csi-driver/pkg/client/grpc.go:104:                    80.0%
github.com/modelpack/model-csi-driver/pkg/client/grpc.go:116:                    80.0%
github.com/modelpack/model-csi-driver/pkg/client/grpc.go:31:                     85.7%
github.com/modelpack/model-csi-driver/pkg/client/grpc.go:60:                     75.0%
github.com/modelpack/model-csi-driver/pkg/client/grpc.go:69:                     80.0%
github.com/modelpack/model-csi-driver/pkg/client/grpc.go:81:                     80.0%
github.com/modelpack/model-csi-driver/pkg/client/grpc.go:92:                     80.0%
github.com/modelpack/model-csi-driver/pkg/client/http.go:105:                    100.0%
github.com/modelpack/model-csi-driver/pkg/client/http.go:23:                     80.0%
github.com/modelpack/model-csi-driver/pkg/client/http.go:49:                     74.3%
github.com/modelpack/model-csi-driver/pkg/client/request.go:12:                  100.0%
github.com/modelpack/model-csi-driver/pkg/client/request.go:34:                  75.0%
github.com/modelpack/model-csi-driver/pkg/client/request.go:50:                  66.7%
github.com/modelpack/model-csi-driver/pkg/client/request.go:65:                  75.0%
github.com/modelpack/model-csi-driver/pkg/config/auth/docker.go:112:             87.5%
github.com/modelpack/model-csi-driver/pkg/config/auth/docker.go:26:              100.0%
github.com/modelpack/model-csi-driver/pkg/config/auth/docker.go:32:              100.0%
github.com/modelpack/model-csi-driver/pkg/config/auth/docker.go:55:              100.0%
github.com/modelpack/model-csi-driver/pkg/config/auth/docker.go:66:              92.9%
github.com/modelpack/model-csi-driver/pkg/config/auth/docker.go:88:              92.3%
github.com/modelpack/model-csi-driver/pkg/config/auth/keychain.go:20:            100.0%
github.com/modelpack/model-csi-driver/pkg/config/auth/keychain.go:31:            100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:102:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:107:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:112:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:117:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:122:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:127:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:132:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:137:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:142:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:147:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:152:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:157:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:163:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:173:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:179:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:17:                   87.5%
github.com/modelpack/model-csi-driver/pkg/config/config.go:185:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:189:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:193:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:197:                  61.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:274:                  83.3%
github.com/modelpack/model-csi-driver/pkg/config/config.go:287:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:295:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:299:                  100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:70:                   100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:74:                   100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:78:                   100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:82:                   100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:86:                   100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:90:                   100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:94:                   100.0%
github.com/modelpack/model-csi-driver/pkg/config/config.go:98:                   100.0%
github.com/modelpack/model-csi-driver/pkg/config/watcher.go:13:                  65.2%
github.com/modelpack/model-csi-driver/pkg/logger/logger.go:19:                   100.0%
github.com/modelpack/model-csi-driver/pkg/logger/logger.go:29:                   100.0%
github.com/modelpack/model-csi-driver/pkg/logger/logger.go:41:                   100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/mount_collector.go:21:         100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/mount_collector.go:34:         100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/mount_collector.go:38:         100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/mount_collector.go:42:         83.3%
github.com/modelpack/model-csi-driver/pkg/metrics/registry.go:117:               100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/registry.go:126:               100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/registry.go:135:               100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/registry.go:146:               100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/registry.go:24:                100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/serve.go:26:                   100.0%
github.com/modelpack/model-csi-driver/pkg/metrics/serve.go:37:                   90.9%
github.com/modelpack/model-csi-driver/pkg/metrics/serve.go:59:                   83.3%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:39:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:50:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:54:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:59:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:64:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:69:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:74:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:82:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/builder.go:88:                 80.0%
github.com/modelpack/model-csi-driver/pkg/mounter/mounter.go:15:                 100.0%
github.com/modelpack/model-csi-driver/pkg/mounter/mounter.go:26:                 66.7%
github.com/modelpack/model-csi-driver/pkg/mounter/mounter.go:37:                 90.9%
github.com/modelpack/model-csi-driver/pkg/mounter/mounter.go:57:                 71.4%
github.com/modelpack/model-csi-driver/pkg/mounter/mounter.go:81:                 83.3%
github.com/modelpack/model-csi-driver/pkg/provider/provider.go:15:               100.0%
github.com/modelpack/model-csi-driver/pkg/service/artifact.go:11:                100.0%
github.com/modelpack/model-csi-driver/pkg/service/cache.go:119:                  85.7%
github.com/modelpack/model-csi-driver/pkg/service/cache.go:135:                  85.7%
github.com/modelpack/model-csi-driver/pkg/service/cache.go:28:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/cache.go:37:                   73.9%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:101:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:115:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:122:             76.2%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:157:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:164:             50.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:189:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:196:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:203:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:210:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:217:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:22:              84.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:249:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:256:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:263:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:270:             100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller.go:62:              91.3%
github.com/modelpack/model-csi-driver/pkg/service/controller_local.go:143:       79.3%
github.com/modelpack/model-csi-driver/pkg/service/controller_local.go:184:       28.1%
github.com/modelpack/model-csi-driver/pkg/service/controller_local.go:25:        57.3%
github.com/modelpack/model-csi-driver/pkg/service/controller_remote.go:134:      0.0%
github.com/modelpack/model-csi-driver/pkg/service/controller_remote.go:199:      0.0%
github.com/modelpack/model-csi-driver/pkg/service/controller_remote.go:34:       100.0%
github.com/modelpack/model-csi-driver/pkg/service/controller_remote.go:46:       0.0%
github.com/modelpack/model-csi-driver/pkg/service/controller_remote.go:60:       0.0%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server.go:107:         66.7%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server.go:151:         71.4%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server.go:190:         88.9%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server.go:46:          100.0%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server.go:54:          82.4%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server.go:84:          83.3%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server_handler.go:124: 83.3%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server_handler.go:156: 90.9%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server_handler.go:185: 85.7%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server_handler.go:203: 100.0%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server_handler.go:27:  83.3%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server_handler.go:38:  100.0%
github.com/modelpack/model-csi-driver/pkg/service/dynamic_server_handler.go:56:  80.0%
github.com/modelpack/model-csi-driver/pkg/service/identity.go:21:                100.0%
github.com/modelpack/model-csi-driver/pkg/service/identity.go:41:                100.0%
github.com/modelpack/model-csi-driver/pkg/service/identity.go:9:                 100.0%
github.com/modelpack/model-csi-driver/pkg/service/kube.go:14:                    0.0%
github.com/modelpack/model-csi-driver/pkg/service/kube.go:25:                    0.0%
github.com/modelpack/model-csi-driver/pkg/service/kube.go:34:                    0.0%
github.com/modelpack/model-csi-driver/pkg/service/model.go:114:                  89.5%
github.com/modelpack/model-csi-driver/pkg/service/model.go:157:                  91.7%
github.com/modelpack/model-csi-driver/pkg/service/model.go:177:                  100.0%
github.com/modelpack/model-csi-driver/pkg/service/model.go:27:                   80.0%
github.com/modelpack/model-csi-driver/pkg/service/model.go:48:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/model.go:60:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/model.go:68:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/model.go:96:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:123:                   94.4%
github.com/modelpack/model-csi-driver/pkg/service/node.go:154:                   66.7%
github.com/modelpack/model-csi-driver/pkg/service/node.go:202:                   94.4%
github.com/modelpack/model-csi-driver/pkg/service/node.go:233:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:241:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:249:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:269:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:26:                    100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:34:                    100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:42:                    100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:46:                    100.0%
github.com/modelpack/model-csi-driver/pkg/service/node.go:50:                    48.8%
github.com/modelpack/model-csi-driver/pkg/service/node_dynamic.go:18:            73.3%
github.com/modelpack/model-csi-driver/pkg/service/node_dynamic.go:52:            68.4%
github.com/modelpack/model-csi-driver/pkg/service/node_static.go:16:             81.8%
github.com/modelpack/model-csi-driver/pkg/service/node_static.go:42:             69.2%
github.com/modelpack/model-csi-driver/pkg/service/node_static_inline.go:128:     88.9%
github.com/modelpack/model-csi-driver/pkg/service/node_static_inline.go:18:      90.5%
github.com/modelpack/model-csi-driver/pkg/service/node_static_inline.go:92:      94.1%
github.com/modelpack/model-csi-driver/pkg/service/puller.go:42:                  26.9%
github.com/modelpack/model-csi-driver/pkg/service/quota.go:21:                   94.1%
github.com/modelpack/model-csi-driver/pkg/service/quota.go:49:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/quota.go:55:                   100.0%
github.com/modelpack/model-csi-driver/pkg/service/quota.go:67:                   84.2%
github.com/modelpack/model-csi-driver/pkg/service/service.go:41:                 100.0%
github.com/modelpack/model-csi-driver/pkg/service/service.go:45:                 0.0%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:108:                 77.3%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:152:                 100.0%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:161:                 87.5%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:186:                 71.7%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:292:                 84.6%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:372:                 87.9%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:431:                 95.0%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:462:                 77.1%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:63:                  100.0%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:69:                  100.0%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:81:                  100.0%
github.com/modelpack/model-csi-driver/pkg/service/worker.go:97:                  100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:100:                    100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:107:                    86.7%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:139:                    100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:174:                    88.9%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:195:                    100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:28:                     100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:34:                     100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:46:                     100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:53:                     100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:69:                     100.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:76:                     80.0%
github.com/modelpack/model-csi-driver/pkg/status/hook.go:87:                     100.0%
github.com/modelpack/model-csi-driver/pkg/status/status.go:111:                  87.5%
github.com/modelpack/model-csi-driver/pkg/status/status.go:126:                  100.0%
github.com/modelpack/model-csi-driver/pkg/status/status.go:137:                  100.0%
github.com/modelpack/model-csi-driver/pkg/status/status.go:51:                   75.0%
github.com/modelpack/model-csi-driver/pkg/status/status.go:69:                   100.0%
github.com/modelpack/model-csi-driver/pkg/status/status.go:75:                   77.8%
github.com/modelpack/model-csi-driver/pkg/status/status.go:93:                   100.0%
github.com/modelpack/model-csi-driver/pkg/tracing/tracing.go:22:                 85.7%
github.com/modelpack/model-csi-driver/pkg/tracing/tracing.go:36:                 55.6%
github.com/modelpack/model-csi-driver/pkg/tracing/tracing.go:72:                 100.0%
github.com/modelpack/model-csi-driver/pkg/tracing/tracing.go:79:                 81.8%
github.com/modelpack/model-csi-driver/pkg/utils/utils.go:16:                     100.0%
github.com/modelpack/model-csi-driver/pkg/utils/utils.go:34:                     75.0%
github.com/modelpack/model-csi-driver/pkg/utils/utils.go:54:                     81.8%

total:											(statements)					74.0%

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a shared node-level cache for static inline volumes, allowing multiple pods to share model data and reducing redundant pulls. The implementation includes configuration helpers for cache paths, reference counting and garbage collection logic in the worker service, and updated CSI node publish/unpublish workflows. Review feedback suggests using the provided request context instead of context.Background() when acquiring locks to ensure that operations properly handle timeouts and cancellations.

Comment thread pkg/service/worker.go
Comment thread pkg/service/worker.go
Comment thread pkg/service/worker.go
Signed-off-by: chlins <chlins.zhang@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant