From 5c659702833b790fd5601c4a0f3529bb93b3cbe7 Mon Sep 17 00:00:00 2001 From: Nut He <18328704+hetao92@users.noreply.github.com> Date: Wed, 7 Sep 2022 11:16:49 +0800 Subject: [PATCH 01/11] mod: add release workflow (#126) --- .github/workflows/Http-Gateway-Release.yml | 8 +++--- .github/workflows/Http-Gateway-nightly.yml | 33 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/Http-Gateway-nightly.yml diff --git a/.github/workflows/Http-Gateway-Release.yml b/.github/workflows/Http-Gateway-Release.yml index bc20284..c9394b5 100644 --- a/.github/workflows/Http-Gateway-Release.yml +++ b/.github/workflows/Http-Gateway-Release.yml @@ -1,8 +1,8 @@ name: Http-Gateway-Release on: - push: - branches: - - master + release: + types: + - published jobs: release-image: runs-on: ubuntu-latest @@ -30,4 +30,4 @@ jobs: context: . file: ./Dockerfile push: true - tags: vesoft/nebula-http-gateway:nightly \ No newline at end of file + tags: vesoft/nebula-http-gateway:3.2.0 \ No newline at end of file diff --git a/.github/workflows/Http-Gateway-nightly.yml b/.github/workflows/Http-Gateway-nightly.yml new file mode 100644 index 0000000..27fc945 --- /dev/null +++ b/.github/workflows/Http-Gateway-nightly.yml @@ -0,0 +1,33 @@ +name: Http-Gateway-nightly +on: + push: + branches: + - master +jobs: + release-image: + runs-on: ubuntu-latest + steps: + - + name: Checkout Github Action + uses: actions/checkout@master + + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + push: true + tags: vesoft/nebula-http-gateway:nightly \ No newline at end of file From 7093843a144ea5bced86083ac1887c28411b7778 Mon Sep 17 00:00:00 2001 From: uniding <116274818+uniding@users.noreply.github.com> Date: Thu, 27 Oct 2022 14:08:46 +0800 Subject: [PATCH 02/11] Update README.md (#128) fix : add common-nsid cookie in disconnect api --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 060708e..d0e3a7d 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ response: #### Disconnect API #### ```bash -$ curl -X POST http://127.0.0.1:8080/api/db/disconnect +$ curl -X POST -H "Cookie:common-nsid=bec2e665ba62a13554b617d70de8b9b9" http://127.0.0.1:8080/api/db/disconnect ``` response: From 748b8f063bb6bf1fb0d6af9855816b417375d031 Mon Sep 17 00:00:00 2001 From: Nut He <18328704+hetao92@users.noreply.github.com> Date: Mon, 14 Nov 2022 17:46:53 +0800 Subject: [PATCH 03/11] fix: fix crash after query of map/path (#129) --- ccore/nebula/gateway/dao/dao.go | 10 +++++----- service/importer/importer.go | 7 ++++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ccore/nebula/gateway/dao/dao.go b/ccore/nebula/gateway/dao/dao.go index 2a5301d..5dbdff1 100644 --- a/ccore/nebula/gateway/dao/dao.go +++ b/ccore/nebula/gateway/dao/dao.go @@ -237,7 +237,7 @@ func getMapInfo(valWarp *wrapper.ValueWrapper, _verticesParsedList *list, _edges for _, v := range valueMap { vType := v.GetType() if vType == "vertex" { - var _props map[string]types.Any + _props := make(map[string]types.Any) _props, err = getVertexInfo(&v, _props) if err == nil { *_verticesParsedList = append(*_verticesParsedList, _props) @@ -245,7 +245,7 @@ func getMapInfo(valWarp *wrapper.ValueWrapper, _verticesParsedList *list, _edges return err } } else if vType == "edge" { - var _props map[string]types.Any + _props := make(map[string]types.Any) _props, err = getEdgeInfo(&v, _props) if err == nil { *_edgesParsedList = append(*_edgesParsedList, _props) @@ -253,7 +253,7 @@ func getMapInfo(valWarp *wrapper.ValueWrapper, _verticesParsedList *list, _edges return err } } else if vType == "path" { - var _props map[string]types.Any + _props := make(map[string]types.Any) _props, err = getPathInfo(&v, _props) if err == nil { *_pathsParsedList = append(*_pathsParsedList, _props) @@ -302,8 +302,8 @@ func Disconnect(nsid string) error { } /* - executes the gql based on nsid, - and returns result, the runtime panic error and the result error. +executes the gql based on nsid, +and returns result, the runtime panic error and the result error. */ func Execute(nsid string, gql string, paramList types.ParameterList) (ExecuteResult, interface{}, error) { result := ExecuteResult{ diff --git a/service/importer/importer.go b/service/importer/importer.go index df27993..544d864 100644 --- a/service/importer/importer.go +++ b/service/importer/importer.go @@ -3,10 +3,11 @@ package importer import ( "errors" "fmt" - "github.com/vesoft-inc/nebula-importer/pkg/logger" "path/filepath" "time" + "github.com/vesoft-inc/nebula-importer/pkg/logger" + "github.com/astaxie/beego" "github.com/astaxie/beego/logs" "github.com/vesoft-inc/nebula-importer/pkg/config" @@ -135,7 +136,7 @@ func actionQuery(taskID string, result *ActionResult) { } /* - `actionQueryAll` will return all tasks with status Aborted or Processing +`actionQueryAll` will return all tasks with status Aborted or Processing */ func actionQueryAll(result *ActionResult) { taskIDs := GetTaskMgr().GetAllTaskIDs() @@ -159,7 +160,7 @@ func actionStop(taskID string, result *ActionResult) { } /* - `actionStopAll` will stop all tasks with status Processing +`actionStopAll` will stop all tasks with status Processing */ func actionStopAll(result *ActionResult) { taskIDs := GetTaskMgr().GetAllTaskIDs() From 8ae8bd95d13904364378dc828992ce1a5ae614e4 Mon Sep 17 00:00:00 2001 From: Vee Zhang Date: Wed, 30 Nov 2022 14:22:53 +0800 Subject: [PATCH 04/11] fix: client blocking when connecting (#131) --- ccore/nebula/gateway/pool/pool.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ccore/nebula/gateway/pool/pool.go b/ccore/nebula/gateway/pool/pool.go index 690e699..d788fea 100644 --- a/ccore/nebula/gateway/pool/pool.go +++ b/ccore/nebula/gateway/pool/pool.go @@ -213,8 +213,6 @@ func ListParams(args string, tmpParameter types.ParameterMap, sessionMap types.P func NewClient(address string, port int, username string, password string, opts ...nebula.Option) (*ClientInfo, error) { var err error - clientMux.Lock() - defer clientMux.Unlock() // TODO: it's better to add a schedule to make it instead if currentClientNum > clientRecycleNum { @@ -253,8 +251,11 @@ func NewClient(address string, port int, username string, password string, opts }, timezone: c.GetTimezoneInfo(), } + + clientMux.Lock() clientPool[nsid] = client currentClientNum++ + clientMux.Unlock() // Make a goroutine to deal with concurrent requests from each connection go handleRequest(nsid) From 9dfe1884493e3dd81c691250dcc73b7122ea664e Mon Sep 17 00:00:00 2001 From: Miao Zhuang <1060950782@163.com> Date: Fri, 16 Dec 2022 15:31:38 +0800 Subject: [PATCH 05/11] Update options.go (#132) --- ccore/nebula/options.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ccore/nebula/options.go b/ccore/nebula/options.go index b1687a8..7a6f8ea 100644 --- a/ccore/nebula/options.go +++ b/ccore/nebula/options.go @@ -55,9 +55,9 @@ func WithLogger(log Logger) Option { func WithTimeout(timeout time.Duration) Option { return func(o *Options) { - WithGraphTimeout(timeout) - WithMetaTimeout(timeout) - WithStorageTimeout(timeout) + WithGraphTimeout(timeout)(o) + WithMetaTimeout(timeout)(o) + WithStorageTimeout(timeout)(o) } } From e133a7783361ce24867cf602128ad8aacf28f1c7 Mon Sep 17 00:00:00 2001 From: Nut He <18328704+hetao92@users.noreply.github.com> Date: Mon, 6 Feb 2023 15:01:20 +0800 Subject: [PATCH 06/11] mod: update nebula-go (#133) --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 1a83441..7ea118b 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/google/go-cmp v0.5.4 // indirect github.com/prometheus/client_golang v1.9.0 // indirect github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 // indirect - github.com/vesoft-inc/nebula-go/v3 v3.2.0 // indirect + github.com/vesoft-inc/nebula-go/v3 v3.4.0 // indirect golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect golang.org/x/sys v0.0.0-20210105210732-16f7687f5001 // indirect diff --git a/go.sum b/go.sum index e36d6ed..e388b05 100644 --- a/go.sum +++ b/go.sum @@ -321,6 +321,8 @@ github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtX github.com/vesoft-inc/nebula-go/v3 v3.0.0-20220425030225-cdb52399b40a/go.mod h1:+sXv05jYQBARdTbTcIEsWVXCnF/6ttOlDK35xQ6m54s= github.com/vesoft-inc/nebula-go/v3 v3.2.0 h1:f0IW6W5f91O6FyXAi+kFq1D2bNFXtPtkb/H9WywFGmM= github.com/vesoft-inc/nebula-go/v3 v3.2.0/go.mod h1:+sXv05jYQBARdTbTcIEsWVXCnF/6ttOlDK35xQ6m54s= +github.com/vesoft-inc/nebula-go/v3 v3.4.0 h1:7q2DSW4QABwI2oGPSVuC+Ql7kGwj26G/YVPGD7gETys= +github.com/vesoft-inc/nebula-go/v3 v3.4.0/go.mod h1:+sXv05jYQBARdTbTcIEsWVXCnF/6ttOlDK35xQ6m54s= github.com/vesoft-inc/nebula-importer v1.0.1-0.20220719030708-8e376665042e h1:Xj3N5lfKv+mG59Fh2GoWZ/89kWEwQtW/W4EiKkD2yI0= github.com/vesoft-inc/nebula-importer v1.0.1-0.20220719030708-8e376665042e/go.mod h1:8xAQi6KI2qe40Dop/GqDXmBEurt7qGp5Pjd1MESAVNA= github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc= From 04ec84c014d611af857412400e148f169439c385 Mon Sep 17 00:00:00 2001 From: Miao Zhuang <1060950782@163.com> Date: Tue, 14 Feb 2023 14:28:30 +0800 Subject: [PATCH 07/11] Update pool.go (#134) --- ccore/nebula/gateway/pool/pool.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ccore/nebula/gateway/pool/pool.go b/ccore/nebula/gateway/pool/pool.go index d788fea..b66289c 100644 --- a/ccore/nebula/gateway/pool/pool.go +++ b/ccore/nebula/gateway/pool/pool.go @@ -274,6 +274,7 @@ func ClearClients() { } func recycleClients() { + clientMux.Lock() for _, client := range clientPool { now := time.Now().Unix() expireAt := client.updateTime + SessionExpiredDuration @@ -281,6 +282,7 @@ func recycleClients() { client.CloseChannel <- true } } + clientMux.Unlock() } func handleRequest(nsid string) { From 06c3be819c9c0735190a41b688ab68804b3f52ef Mon Sep 17 00:00:00 2001 From: Kenshin <35095889+kqzh@users.noreply.github.com> Date: Wed, 23 Aug 2023 16:32:28 +0800 Subject: [PATCH 08/11] feat: add space id (#135) --- ccore/nebula/internal/driver/v2_5/wrapper.go | 4 ++++ ccore/nebula/internal/driver/v2_6/wrapper.go | 4 ++++ ccore/nebula/internal/driver/v3_0/wrapper.go | 4 ++++ ccore/nebula/types/driver.go | 1 + 4 files changed, 13 insertions(+) diff --git a/ccore/nebula/internal/driver/v2_5/wrapper.go b/ccore/nebula/internal/driver/v2_5/wrapper.go index 52caf41..412ffb7 100644 --- a/ccore/nebula/internal/driver/v2_5/wrapper.go +++ b/ccore/nebula/internal/driver/v2_5/wrapper.go @@ -1148,6 +1148,10 @@ func (w spaceWrapper) GetName() string { return string(w.Space.GetName()) } +func (w spaceWrapper) GetId() string { + return w.Space.GetId().String() +} + type spacesWrap struct { metaBaserWrap Spaces []types.Space diff --git a/ccore/nebula/internal/driver/v2_6/wrapper.go b/ccore/nebula/internal/driver/v2_6/wrapper.go index 9e825cf..c55549a 100644 --- a/ccore/nebula/internal/driver/v2_6/wrapper.go +++ b/ccore/nebula/internal/driver/v2_6/wrapper.go @@ -1248,6 +1248,10 @@ func (w spaceWrapper) GetName() string { return string(w.Space.GetName()) } +func (w spaceWrapper) GetId() string { + return w.Space.GetId().String() +} + type spacesWrap struct { metaBaserWrap Spaces []types.Space diff --git a/ccore/nebula/internal/driver/v3_0/wrapper.go b/ccore/nebula/internal/driver/v3_0/wrapper.go index c37bd96..69b2c94 100644 --- a/ccore/nebula/internal/driver/v3_0/wrapper.go +++ b/ccore/nebula/internal/driver/v3_0/wrapper.go @@ -1213,6 +1213,10 @@ func (w spaceWrapper) GetName() string { return string(w.Space.GetName()) } +func (w spaceWrapper) GetId() string { + return w.Space.GetId().String() +} + type spacesWrap struct { metaBaserWrap Spaces []types.Space diff --git a/ccore/nebula/types/driver.go b/ccore/nebula/types/driver.go index 2ba0810..490d935 100644 --- a/ccore/nebula/types/driver.go +++ b/ccore/nebula/types/driver.go @@ -73,6 +73,7 @@ type ( Space interface { GetName() string + GetId() string } Spaces interface { From d2e5f5fe6dc3be15f8ae020cb131f07acc5f80f6 Mon Sep 17 00:00:00 2001 From: Kenshin <35095889+kqzh@users.noreply.github.com> Date: Wed, 23 Aug 2023 17:23:37 +0800 Subject: [PATCH 09/11] fix: get id (#136) --- ccore/nebula/internal/driver/v2_5/wrapper.go | 4 ++-- ccore/nebula/internal/driver/v2_6/wrapper.go | 4 ++-- ccore/nebula/internal/driver/v3_0/wrapper.go | 4 ++-- ccore/nebula/types/driver.go | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ccore/nebula/internal/driver/v2_5/wrapper.go b/ccore/nebula/internal/driver/v2_5/wrapper.go index 412ffb7..deeb23f 100644 --- a/ccore/nebula/internal/driver/v2_5/wrapper.go +++ b/ccore/nebula/internal/driver/v2_5/wrapper.go @@ -1148,8 +1148,8 @@ func (w spaceWrapper) GetName() string { return string(w.Space.GetName()) } -func (w spaceWrapper) GetId() string { - return w.Space.GetId().String() +func (w spaceWrapper) GetId() int32 { + return w.Space.GetId().GetSpaceID() } type spacesWrap struct { diff --git a/ccore/nebula/internal/driver/v2_6/wrapper.go b/ccore/nebula/internal/driver/v2_6/wrapper.go index c55549a..c1f4e2a 100644 --- a/ccore/nebula/internal/driver/v2_6/wrapper.go +++ b/ccore/nebula/internal/driver/v2_6/wrapper.go @@ -1248,8 +1248,8 @@ func (w spaceWrapper) GetName() string { return string(w.Space.GetName()) } -func (w spaceWrapper) GetId() string { - return w.Space.GetId().String() +func (w spaceWrapper) GetId() int32 { + return w.Space.GetId().GetSpaceID() } type spacesWrap struct { diff --git a/ccore/nebula/internal/driver/v3_0/wrapper.go b/ccore/nebula/internal/driver/v3_0/wrapper.go index 69b2c94..0cd35e0 100644 --- a/ccore/nebula/internal/driver/v3_0/wrapper.go +++ b/ccore/nebula/internal/driver/v3_0/wrapper.go @@ -1213,8 +1213,8 @@ func (w spaceWrapper) GetName() string { return string(w.Space.GetName()) } -func (w spaceWrapper) GetId() string { - return w.Space.GetId().String() +func (w spaceWrapper) GetId() int32 { + return w.Space.GetId().GetSpaceID() } type spacesWrap struct { diff --git a/ccore/nebula/types/driver.go b/ccore/nebula/types/driver.go index 490d935..4ec92c2 100644 --- a/ccore/nebula/types/driver.go +++ b/ccore/nebula/types/driver.go @@ -73,7 +73,7 @@ type ( Space interface { GetName() string - GetId() string + GetId() int32 } Spaces interface { From b8de5de703b6ba1986f41ffcc26d7c9872fb214d Mon Sep 17 00:00:00 2001 From: Kenshin <35095889+kqzh@users.noreply.github.com> Date: Thu, 19 Oct 2023 13:52:41 +0800 Subject: [PATCH 10/11] feat: add api AddHostsIntoZone (#137) --- ccore/nebula/client_meta.go | 13 +++++++ ccore/nebula/internal/driver/v2_5/meta.go | 4 +++ ccore/nebula/internal/driver/v2_6/meta.go | 4 +++ ccore/nebula/internal/driver/v3_0/meta.go | 42 +++++++++++++++++++++++ ccore/nebula/types/driver.go | 1 + 5 files changed, 64 insertions(+) diff --git a/ccore/nebula/client_meta.go b/ccore/nebula/client_meta.go index b5f3785..fda75a7 100644 --- a/ccore/nebula/client_meta.go +++ b/ccore/nebula/client_meta.go @@ -11,6 +11,7 @@ type ( MetaClient interface { Open() error AddHosts(endpoints []string) (types.MetaBaser, error) + AddHostsIntoZone(zone string, endpoints []string, isNew bool) (types.MetaBaser, error) DropHosts(endpoints []string) (types.MetaBaser, error) ListSpaces() (types.Spaces, error) BalanceData(space string) (types.Balancer, error) @@ -80,6 +81,18 @@ func (c *defaultMetaClient) AddHosts(endpoints []string) (resp types.MetaBaser, return } +func (c *defaultMetaClient) AddHostsIntoZone(zone string, endpoints []string, isNew bool) (resp types.MetaBaser, err error) { + retryErr := c.retryDo(func() (types.MetaBaser, error) { + resp, err = c.meta.AddHostsIntoZone(zone, endpoints, isNew) + return resp, err + }) + if retryErr != nil { + return nil, retryErr + } + + return +} + func (c *defaultMetaClient) DropHosts(endpoints []string) (resp types.MetaBaser, err error) { retryErr := c.retryDo(func() (types.MetaBaser, error) { resp, err = c.meta.DropHosts(endpoints) diff --git a/ccore/nebula/internal/driver/v2_5/meta.go b/ccore/nebula/internal/driver/v2_5/meta.go index ab10f4f..e8130ce 100644 --- a/ccore/nebula/internal/driver/v2_5/meta.go +++ b/ccore/nebula/internal/driver/v2_5/meta.go @@ -46,6 +46,10 @@ func (c *defaultMetaClient) AddHosts(endpoints []string) (types.MetaBaser, error return nil, nerrors.ErrUnsupported } +func (c *defaultMetaClient) AddHostsIntoZone(zone string, endpoints []string, isNew bool) (types.MetaBaser, error) { + return nil, nerrors.ErrUnsupported +} + func (c *defaultMetaClient) DropHosts(endpoints []string) (types.MetaBaser, error) { return nil, nerrors.ErrUnsupported } diff --git a/ccore/nebula/internal/driver/v2_6/meta.go b/ccore/nebula/internal/driver/v2_6/meta.go index bd140bc..66f1acb 100644 --- a/ccore/nebula/internal/driver/v2_6/meta.go +++ b/ccore/nebula/internal/driver/v2_6/meta.go @@ -50,6 +50,10 @@ func (c *defaultMetaClient) AddHosts(endpoints []string) (types.MetaBaser, error return nil, nerrors.ErrUnsupported } +func (c *defaultMetaClient) AddHostsIntoZone(zone string, endpoints []string, isNew bool) (types.MetaBaser, error) { + return nil, nerrors.ErrUnsupported +} + func (c *defaultMetaClient) DropHosts(endpoints []string) (types.MetaBaser, error) { return nil, nerrors.ErrUnsupported } diff --git a/ccore/nebula/internal/driver/v3_0/meta.go b/ccore/nebula/internal/driver/v3_0/meta.go index f245df8..153430a 100644 --- a/ccore/nebula/internal/driver/v3_0/meta.go +++ b/ccore/nebula/internal/driver/v3_0/meta.go @@ -1,6 +1,7 @@ package v3_0 import ( + "fmt" "net" "strconv" @@ -86,6 +87,47 @@ func (c *defaultMetaClient) AddHosts(endpoints []string) (types.MetaBaser, error }, nil } +func (c *defaultMetaClient) AddHostsIntoZone(zone string, endpoints []string, isNew bool) (types.MetaBaser, error) { + hostsToAdd := make([]*nthrift.HostAddr, 0, len(endpoints)) + for _, ep := range endpoints { + host, portStr, err := net.SplitHostPort(ep) + if err != nil { + return nil, err + } + + port, err := strconv.Atoi(portStr) + if err != nil { + return nil, err + } + + hostsToAdd = append(hostsToAdd, &nthrift.HostAddr{ + Host: host, + Port: nthrift.Port(port), + }) + } + + req := &meta.AddHostsIntoZoneReq{ + Hosts: hostsToAdd, + ZoneName: []byte(zone), + IsNew: isNew, + } + + fmt.Println(req) + + resp, err := c.meta.AddHostsIntoZone(req) + if err != nil { + return nil, err + } + + return metaBaserWrap{ + code: nerrors.ErrorCode(resp.GetCode()), + leader: types.HostAddr{ + Host: resp.GetLeader().GetHost(), + Port: resp.GetLeader().GetPort(), + }, + }, nil +} + func (c *defaultMetaClient) DropHosts(endpoints []string) (types.MetaBaser, error) { hostsToDrop := make([]*nthrift.HostAddr, 0, len(endpoints)) for _, ep := range endpoints { diff --git a/ccore/nebula/types/driver.go b/ccore/nebula/types/driver.go index 4ec92c2..25a4ea1 100644 --- a/ccore/nebula/types/driver.go +++ b/ccore/nebula/types/driver.go @@ -37,6 +37,7 @@ type ( Open() error VerifyClientVersion() error AddHosts(endpoints []string) (MetaBaser, error) + AddHostsIntoZone(zone string, endpoints []string, isNew bool) (MetaBaser, error) DropHosts(endpoints []string) (MetaBaser, error) ListSpaces() (Spaces, error) Balance(req BalanceReq) (Balancer, error) From c5d78707df84b696bff78f08c62a2ee3f631751a Mon Sep 17 00:00:00 2001 From: Kenshin <35095889+kqzh@users.noreply.github.com> Date: Mon, 15 Jan 2024 15:53:30 +0800 Subject: [PATCH 11/11] fix: meta retry (#141) --- ccore/nebula/client_meta.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccore/nebula/client_meta.go b/ccore/nebula/client_meta.go index fda75a7..5dc19a2 100644 --- a/ccore/nebula/client_meta.go +++ b/ccore/nebula/client_meta.go @@ -212,10 +212,10 @@ func (c *defaultMetaClient) openRetry(driver types.Driver) error { _ = c.meta.close() err := c.meta.open(driver) - c.meta.connection.UpdateNextIndex() // update nextIndex every time if err == nil { return nil } + c.meta.connection.UpdateNextIndex() // update nextIndex when connect failed } return nerrors.ErrNoValidMetaEndpoint }