This is an automated email from the ASF dual-hosted git repository.

xuetaoli pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/dubbo-go-pixiu-samples.git


The following commit(s) were added to refs/heads/main by this push:
     new 2f0ecf9  fix: fix CI problems (#129)
2f0ecf9 is described below

commit 2f0ecf9e712a54f01ffbf27f70621fef16e4a5dc
Author: 陈乐樂 <[email protected]>
AuthorDate: Mon Mar 23 09:41:26 2026 +0800

    fix: fix CI problems (#129)
    
    * feat: add kvcache samples
    
    * fix some problems
    
    * fix:fix some bugs and add headers
    
    * feat:add integrate test
    
    * feat: add descriptions to readme
    
    * fix: fix ci problems
    
    * remove replace
    
    * replace gomod gosum
---
 ai/kvcache/mock/pixiu/conf.yaml         | 10 ++++++++--
 ai/kvcache/mock/server/app/main.go      | 27 +++++++++++++++++++++++----
 ai/kvcache/mock/server/engine-a/main.go | 16 ++++++++++++++++
 ai/kvcache/mock/server/engine-b/main.go | 16 ++++++++++++++++
 ai/kvcache/real-engine/pixiu/conf.yaml  | 10 ++++++++--
 go.sum                                  |  2 +-
 6 files changed, 72 insertions(+), 9 deletions(-)

diff --git a/ai/kvcache/mock/pixiu/conf.yaml b/ai/kvcache/mock/pixiu/conf.yaml
index 7c50c85..313ad97 100644
--- a/ai/kvcache/mock/pixiu/conf.yaml
+++ b/ai/kvcache/mock/pixiu/conf.yaml
@@ -78,14 +78,20 @@ static_resources:
     - name: "mock_llm"
       lb_policy: "round_robin"
       endpoints:
-        - id: "mock-llm-a"
+        - ID: "mock-llm-a"
           socket_address:
             address: "127.0.0.1"
             port: 18091
-        - id: "mock-llm-b"
+          llm_meta:
+            retry_policy:
+              name: "NoRetry"
+        - ID: "mock-llm-b"
           socket_address:
             address: "127.0.0.1"
             port: 18092
+          llm_meta:
+            retry_policy:
+              name: "NoRetry"
 
   shutdown_config:
     timeout: "10s"
diff --git a/ai/kvcache/mock/server/app/main.go 
b/ai/kvcache/mock/server/app/main.go
index 957201f..95a676d 100644
--- a/ai/kvcache/mock/server/app/main.go
+++ b/ai/kvcache/mock/server/app/main.go
@@ -105,10 +105,11 @@ func main() {
        preferredEndpoint := envOrDefault("PREFERRED_ENDPOINT_ID", "mock-llm-b")
        engineAID := envOrDefault("LLM_A_ID", "mock-llm-a")
        engineBID := envOrDefault("LLM_B_ID", "mock-llm-b")
+       responseDelay := envDurationMSOrDefault("MOCK_LLM_RESPONSE_DELAY_MS", 
150)
 
        controller := buildControllerMux(preferredEndpoint)
-       engineA := buildEngineAMux(engineAID)
-       engineB := buildEngineBMux(engineBID)
+       engineA := buildEngineAMux(engineAID, responseDelay)
+       engineB := buildEngineBMux(engineBID, responseDelay)
 
        errCh := make(chan error, 3)
        go serve("mock-controller", controllerAddr, controller, errCh)
@@ -239,7 +240,7 @@ func handleTokenEvent(stats *controllerStats, w 
http.ResponseWriter, r *http.Req
        writeJSON(w, http.StatusOK, eventResp{EventID: nextEventID(op), 
NumTokens: len(req.Tokens)})
 }
 
-func buildEngineAMux(engineID string) http.Handler {
+func buildEngineAMux(engineID string, responseDelay time.Duration) 
http.Handler {
        stats := &engineAStats{}
        mux := http.NewServeMux()
 
@@ -294,6 +295,9 @@ func buildEngineAMux(engineID string) http.Handler {
                stats.mu.Lock()
                stats.chatCalls++
                stats.mu.Unlock()
+               if responseDelay > 0 {
+                       time.Sleep(responseDelay)
+               }
 
                resp := llmResponse{
                        ID:       nextEventID("chatcmpl"),
@@ -315,7 +319,7 @@ func buildEngineAMux(engineID string) http.Handler {
        return mux
 }
 
-func buildEngineBMux(engineID string) http.Handler {
+func buildEngineBMux(engineID string, responseDelay time.Duration) 
http.Handler {
        stats := &engineBStats{}
        mux := http.NewServeMux()
 
@@ -358,6 +362,9 @@ func buildEngineBMux(engineID string) http.Handler {
                stats.mu.Lock()
                stats.chatCalls++
                stats.mu.Unlock()
+               if responseDelay > 0 {
+                       time.Sleep(responseDelay)
+               }
 
                resp := llmResponse{
                        ID:       nextEventID("chatcmpl"),
@@ -457,6 +464,18 @@ func envOrDefault(key string, fallback string) string {
        return val
 }
 
+func envDurationMSOrDefault(key string, fallbackMS int) time.Duration {
+       val, ok := os.LookupEnv(key)
+       if !ok || strings.TrimSpace(val) == "" {
+               return time.Duration(fallbackMS) * time.Millisecond
+       }
+       ms, err := strconv.Atoi(strings.TrimSpace(val))
+       if err != nil || ms < 0 {
+               return time.Duration(fallbackMS) * time.Millisecond
+       }
+       return time.Duration(ms) * time.Millisecond
+}
+
 func max(a int, b int) int {
        if a > b {
                return a
diff --git a/ai/kvcache/mock/server/engine-a/main.go 
b/ai/kvcache/mock/server/engine-a/main.go
index bb24e05..cdaa6d0 100644
--- a/ai/kvcache/mock/server/engine-a/main.go
+++ b/ai/kvcache/mock/server/engine-a/main.go
@@ -71,6 +71,7 @@ var eventCounter uint64
 func main() {
        addr := envOrDefault("LLM_A_ADDR", ":18091")
        engineID := envOrDefault("LLM_A_ID", "mock-llm-a")
+       responseDelay := envDurationMSOrDefault("MOCK_LLM_RESPONSE_DELAY_MS", 
150)
        stats := &engineStats{}
 
        mux := http.NewServeMux()
@@ -127,6 +128,9 @@ func main() {
                stats.mu.Lock()
                stats.chatCalls++
                stats.mu.Unlock()
+               if responseDelay > 0 {
+                       time.Sleep(responseDelay)
+               }
 
                resp := llmResponse{
                        ID:       nextEventID("chatcmpl"),
@@ -229,3 +233,15 @@ func envOrDefault(key string, fallback string) string {
        }
        return val
 }
+
+func envDurationMSOrDefault(key string, fallbackMS int) time.Duration {
+       val, ok := os.LookupEnv(key)
+       if !ok || strings.TrimSpace(val) == "" {
+               return time.Duration(fallbackMS) * time.Millisecond
+       }
+       ms, err := strconv.Atoi(strings.TrimSpace(val))
+       if err != nil || ms < 0 {
+               return time.Duration(fallbackMS) * time.Millisecond
+       }
+       return time.Duration(ms) * time.Millisecond
+}
diff --git a/ai/kvcache/mock/server/engine-b/main.go 
b/ai/kvcache/mock/server/engine-b/main.go
index c5ebcab..caa1e92 100644
--- a/ai/kvcache/mock/server/engine-b/main.go
+++ b/ai/kvcache/mock/server/engine-b/main.go
@@ -64,6 +64,7 @@ var eventCounter uint64
 func main() {
        addr := envOrDefault("LLM_B_ADDR", ":18092")
        engineID := envOrDefault("LLM_B_ID", "mock-llm-b")
+       responseDelay := envDurationMSOrDefault("MOCK_LLM_RESPONSE_DELAY_MS", 
150)
        stats := &engineStats{}
 
        mux := http.NewServeMux()
@@ -107,6 +108,9 @@ func main() {
                stats.mu.Lock()
                stats.chatCalls++
                stats.mu.Unlock()
+               if responseDelay > 0 {
+                       time.Sleep(responseDelay)
+               }
 
                resp := llmResponse{
                        ID:       nextEventID("chatcmpl"),
@@ -150,3 +154,15 @@ func envOrDefault(key string, fallback string) string {
        }
        return val
 }
+
+func envDurationMSOrDefault(key string, fallbackMS int) time.Duration {
+       val, ok := os.LookupEnv(key)
+       if !ok || strings.TrimSpace(val) == "" {
+               return time.Duration(fallbackMS) * time.Millisecond
+       }
+       ms, err := strconv.Atoi(strings.TrimSpace(val))
+       if err != nil || ms < 0 {
+               return time.Duration(fallbackMS) * time.Millisecond
+       }
+       return time.Duration(ms) * time.Millisecond
+}
diff --git a/ai/kvcache/real-engine/pixiu/conf.yaml 
b/ai/kvcache/real-engine/pixiu/conf.yaml
index 4c5e56c..2d47865 100644
--- a/ai/kvcache/real-engine/pixiu/conf.yaml
+++ b/ai/kvcache/real-engine/pixiu/conf.yaml
@@ -82,14 +82,20 @@ static_resources:
     - name: "real_llm"
       lb_policy: "round_robin"
       endpoints:
-        - id: "${ENGINE_ENDPOINT_A_ID}"
+        - ID: "${ENGINE_ENDPOINT_A_ID}"
           socket_address:
             address: "${ENGINE_ENDPOINT_A_HOST}"
             port: ${ENGINE_ENDPOINT_A_PORT}
-        - id: "${ENGINE_ENDPOINT_B_ID}"
+          llm_meta:
+            retry_policy:
+              name: "NoRetry"
+        - ID: "${ENGINE_ENDPOINT_B_ID}"
           socket_address:
             address: "${ENGINE_ENDPOINT_B_HOST}"
             port: ${ENGINE_ENDPOINT_B_PORT}
+          llm_meta:
+            retry_policy:
+              name: "NoRetry"
 
   shutdown_config:
     timeout: "30s"
diff --git a/go.sum b/go.sum
index 96ccaa0..4fbaf84 100644
--- a/go.sum
+++ b/go.sum
@@ -2175,4 +2175,4 @@ rsc.io/sampler v1.3.0/go.mod 
h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
 sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
 sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
 sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
-sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod 
h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
+sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod 
h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
\ No newline at end of file

Reply via email to