Goswagger - Skipping '', recursion detected

问题:当使用的结构体为嵌套格式,会提示 recursion detected 或 cannot find type definition go 1 2 3 4 5 6 7 8 9 10 11 type Instance struct { metav1.TypeMeta Instances []InstanceItem `json:"instances" yaml:"instances" form:"instances" binding:"required"` ServiceSelector map[string]string `json:"serivce_selector" yaml:"serivce_selector" form:"serivce_selector"` } type InstanceItem struct { Name string `json:"name" yaml:"name" form:"name" binding:"required"` PromEndpoint string `json:"prom_endpoint" yaml:"prom_endpoint" form:"prom_endpoint" binding:"required"` Labels map[string]string `json:"labels" yaml:"labels" form:"labels"` } go swagger 注释为 text 1 2 3 4 5 6 7 8 9 10 // deleteInstance godoc // @Summary Remove prometheus instance....

 ·  · 

Gin - 参数默认值问题

遇到问题:gin 使用 Bind 时无法填充,改成下面代码可以获取到 go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 type User struct { Name string `form:"name,default=user1" json:"name,default=user2"` Age int `form:"age,default=10" json:"age,default=20"` } r := gin.Default() // way1 curl 127.0.0.1:8900/bind?name=aa // way2 curl -X POST 127.0.0.1:8900/bind -d "name=aa&age=30" // way3 curl -X POST 127.0.0.1:8900/bind -H "Content-Type: application/json" -d "{\"name\": \"aa\"}" r....

 ·  · 

Gorm - BeforeDelete无法获取正确条目

遇到问题:BeforeDelete 在删除时获取 SQL 不正确 BeforeDelete 代码如下 go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 func (t *Target) BeforeDelete(tx *gorm.DB) (err error) { // 找到与此 Target 相关的所有 Labels var labels []Label if err := tx.Model(t).Association("Labels").Find(&labels); err != nil { klog.V(4).Infof("Error fetching labels: %v", err) return err } for _, label := range labels { if err := tx.Delete(&label).Error; err != nil { klog....

 ·  · 

GKE强制升级后JAVA Pod无法识别limit限制

今日 GKE EOL,kubelet 自动升级至1.28后,Java程序在启动后无法识别资源清单中的限制,被大量OOMKill Deployment清单中已经配置了资源限制,例如下面的参数 yaml 1 2 3 4 5 resources: limits: memory: "1Gi" requests: memory: "600Mi" JAVA_OPS参数配置是使用百分比 bash 1 -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 但是启动后无法识别参数,使用 gcloud 登录到主机内查看 jvm 运行状态(因为容器使用 distroless) bash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 project-20220325-asia-east-2-pool-221ab289-hgnf ~ # nsenter -t 274655 --mount --uts --ipc --net --pid /opt/java/openjdk/bin/java -XX:+UnlockDiagnosticVMOptions -XX:+PrintContainerInfo -version OSContainer::init: Initializing Container Support Detected cgroups v2 unified hierarchy Path to /cpu....

 ·  · 

nacos code=403,msg=user not found!

应用连接 nacos 时报错 403,用户密码均正确,用户存在,并且权限正确 log 2024-05-20 10:36:11,593 - [ERROR] - [ropertySourceBuilder][main][n.c.NacosPropertySourceBuilder: 101][]: get data from Nacos error,dataId:admin-server.yaml - com.alibaba.nacos.api.exception.NacosException: http error, code=403,msg=user not found!,dataId=admin-server.yaml,group=DEFAULT_GROUP,tenant=cced143f-5adb-4cb8-a580-28802ea8f203 at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.queryConfig(ClientWorker.java:979) 原因:nacos地址应该和应用连接的不一致,修改一致后恢复正常 nacos 配置文件配置 ‘/nacos’, 应用直接连接 ‘/’ bash 1 server.servlet.contextPath=/nacos

 ·  ·