hi,一共有三个问题
1.tikv暂时是没有完整的c client吗?
如果采用go client ,这个client是需要编译出来吗?不太擅长go 。
今天在编译go client的测试代码时,两个节点,其中一个节点可以正常编译,另一个节点出现了
go: finding module for package github.com/pingcap/pd/pd-client
…/go/pkg/mod/github.com/pingcap/tidb@v2.0.11+incompatible/store/tikv/kv.go:28:2: module github.com/pingcap/pd@latest found (v2.1.19+incompatible), but does not contain package github.com/pingcap/pd/pd-client
这个问题,两个节点的go env除了文件夹名称之外没有什么差别,不清楚为什么会出现此类问题
andylokandy:
近才开始开发的,可能不稳
第三个问题就是go client出现的,这个怎么解决呢
https://github.com/tikv/pd/issues/2148
可以参考这个 issue 看是不是这个问题。如果不能解决的话,可以提供一下测试的代码。
是这个问题,但是问题并没有解决,测试代码就是rawkv的例子
package main
import (
"fmt"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/store/tikv"
)
func main() {
cli, err := tikv.NewRawKVClient([]string{"192.168.244.129:2379"}, config.Security{})
if err != nil {
panic(err)
}
defer cli.Close()
fmt.Printf("cluster ID: %d\
", cli.ClusterID())
key := []byte("Company")
val := []byte("PingCAP")
// put key into tikv
err = cli.Put(key, val)
if err != nil {
panic(err)
}
fmt.Printf("Successfully put %s:%s to tikv\
", key, val)
// get key from tikv
val, err = cli.Get(key)
if err != nil {
panic(err)
}
fmt.Printf("found val: %s for key: %s\
", val, key)
// delete key from tikv
err = cli.Delete(key)
if err != nil {
panic(err)
}
fmt.Printf("key: %s deleted\
", key)
// get key again from tikv
val, err = cli.Get(key)
if err != nil {
panic(err)
}
fmt.Printf("found val: %s for key: %s\
", val, key)
}
system
(system)
关闭
2022 年10 月 31 日 19:15
7
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。