Skip to content

Commit

Permalink
feat: change uuid to snowflake
Browse files Browse the repository at this point in the history
  • Loading branch information
hengfeiyang committed Apr 21, 2022
1 parent 36204cd commit d6a12f8
Show file tree
Hide file tree
Showing 33 changed files with 170 additions and 119 deletions.
9 changes: 7 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ require (
github.com/blugelabs/bluge v0.1.9
github.com/blugelabs/bluge_segment_api v0.2.0
github.com/blugelabs/query_string v0.3.0
github.com/bwmarrin/snowflake v0.3.0
github.com/gin-contrib/cors v1.3.1
github.com/gin-gonic/gin v1.7.4
github.com/go-ego/gse v0.70.0
github.com/google/uuid v1.3.0
github.com/goccy/go-json v0.9.6
github.com/joho/godotenv v1.4.0
github.com/minio/minio-go/v7 v7.0.21
github.com/robfig/cron/v3 v3.0.0
Expand Down Expand Up @@ -59,12 +60,15 @@ require (
github.com/go-playground/universal-translator v0.17.0 // indirect
github.com/go-playground/validator/v10 v10.4.1 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/golang/snappy v0.0.1 // indirect
github.com/golang/snappy v0.0.3 // indirect
github.com/google/go-cmp v0.5.7 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/jtolds/gls v4.20.0+incompatible // indirect
github.com/klauspost/compress v1.13.5 // indirect
github.com/klauspost/cpuid v1.3.1 // indirect
github.com/kr/pretty v0.3.0 // indirect
github.com/leodido/go-urn v1.2.0 // indirect
github.com/mattn/go-isatty v0.0.12 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
Expand All @@ -82,6 +86,7 @@ require (
github.com/segmentio/backo-go v1.0.0 // indirect
github.com/sirupsen/logrus v1.8.1 // indirect
github.com/smartystreets/assertions v1.2.0 // indirect
github.com/stretchr/testify v1.6.1 // indirect
github.com/tklauser/go-sysconf v0.3.9 // indirect
github.com/tklauser/numcpus v0.3.0 // indirect
github.com/ugorji/go/codec v1.1.7 // indirect
Expand Down
24 changes: 19 additions & 5 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ github.com/blugelabs/query_string v0.3.0 h1:/2XMd/3A0lIo33STXMUon4khLcTTybrAcyC0
github.com/blugelabs/query_string v0.3.0/go.mod h1:H0YFWhYAf8/xcv1zoswoUC8kM/fE9L/KEfsgySsnhfs=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0=
github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE=
github.com/caio/go-tdigest v3.1.0+incompatible h1:uoVMJ3Q5lXmVLCCqaMGHLBWnbGoN6Lpu7OAUPR60cds=
github.com/caio/go-tdigest v3.1.0+incompatible/go.mod h1:sHQM/ubZStBUmF1WbB8FAm8q9GjDajLC5T7ydxE3JHI=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
Expand All @@ -122,6 +124,7 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
Expand Down Expand Up @@ -166,6 +169,8 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+
github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE=
github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/goccy/go-json v0.9.6 h1:5/4CtRQdtsX0sal8fdVhTaiMN01Ri8BExZZ8iRmHQ6E=
github.com/goccy/go-json v0.9.6/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
Expand Down Expand Up @@ -197,8 +202,9 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
Expand All @@ -210,8 +216,9 @@ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
Expand Down Expand Up @@ -264,11 +271,13 @@ github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/leesper/go_rng v0.0.0-20190531154944-a612b043e353 h1:X/79QL0b4YJVO5+OsPH9rF2u428CIrGL/jLmPsoOQQ4=
github.com/leesper/go_rng v0.0.0-20190531154944-a612b043e353/go.mod h1:N0SVk0uhy+E1PZ3C9ctsPRlvOPAFPkCNlcPBDkt0N3U=
github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw=
Expand Down Expand Up @@ -331,6 +340,8 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1
github.com/robfig/cron/v3 v3.0.0 h1:kQ6Cb7aHOHTSzNVNEhmp8EcWKLb4CbiMW9h9VyIhO4E=
github.com/robfig/cron/v3 v3.0.0/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4=
github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
Expand Down Expand Up @@ -363,8 +374,9 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tklauser/go-sysconf v0.3.9 h1:JeUVdAOWhhxVcU6Eqr/ATFHgXk/mmiItdKeJPev3vTo=
github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs=
github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2biQ=
Expand Down Expand Up @@ -697,6 +709,8 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
Expand Down
6 changes: 3 additions & 3 deletions pkg/auth/createuser.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ import (
"time"

"github.com/blugelabs/bluge"
"github.com/google/uuid"
"github.com/rs/zerolog/log"
"golang.org/x/crypto/argon2"

"github.com/zinclabs/zinc/pkg/core"
"github.com/zinclabs/zinc/pkg/ider"
)

func CreateUser(userID, name, plaintextPassword, role string) (*ZincUser, error) {
Expand Down Expand Up @@ -52,7 +52,7 @@ func CreateUser(userID, name, plaintextPassword, role string) (*ZincUser, error)
usersIndexWriter := core.ZINC_SYSTEM_INDEX_LIST["_users"].Writer
err = usersIndexWriter.Update(bdoc.ID(), bdoc)
if err != nil {
log.Printf("error updating document: %v", err)
log.Printf("error updating document: %s", err.Error())
return nil, err
}

Expand Down Expand Up @@ -85,7 +85,7 @@ func GeneratePassword(password, salt string) string {
}

func GenerateSalt() string {
return uuid.New().String()
return ider.Generate()
}

type ZincUser struct {
Expand Down
2 changes: 1 addition & 1 deletion pkg/auth/deleteuser.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func DeleteUser(userID string) bool {
usersIndexWriter := core.ZINC_SYSTEM_INDEX_LIST["_users"].Writer
err := usersIndexWriter.Delete(bdoc.ID())
if err != nil {
log.Printf("error deleting user: %v", err)
log.Printf("error deleting user: %s", err.Error())
return false
}

Expand Down
4 changes: 2 additions & 2 deletions pkg/auth/getuser.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func GetUser(userID string) (ZincUser, bool, error) {
reader, _ := core.ZINC_SYSTEM_INDEX_LIST["_users"].Writer.Reader()
dmi, err := reader.Search(context.Background(), searchRequest)
if err != nil {
log.Printf("auth.GetUser: error executing search: %v", err)
log.Printf("auth.GetUser: error executing search: %s", err.Error())
return user, userExists, err
}

Expand Down Expand Up @@ -47,7 +47,7 @@ func GetUser(userID string) (ZincUser, bool, error) {
return true
})
if err != nil {
log.Printf("auth.GetUser: error accessing stored fields: %v", err)
log.Printf("auth.GetUser: error accessing stored fields: %s", err.Error())
return user, userExists, err
} else {
return user, userExists, nil
Expand Down
4 changes: 2 additions & 2 deletions pkg/auth/getusers.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func GetAllUsersWorker() (*v1.SearchResponse, error) {
reader, _ := usersIndex.Writer.Reader()
dmi, err := reader.Search(context.Background(), searchRequest)
if err != nil {
log.Printf("error executing search: %v", err)
log.Printf("error executing search: %s", err.Error())
}

var Hits []v1.Hit
Expand Down Expand Up @@ -48,7 +48,7 @@ func GetAllUsersWorker() (*v1.SearchResponse, error) {
return true
})
if err != nil {
log.Printf("error accessing stored fields: %v", err)
log.Printf("error accessing stored fields: %s", err.Error())
}

hit := v1.Hit{
Expand Down
6 changes: 5 additions & 1 deletion pkg/core/index.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package core

import (
"context"
"encoding/json"
"fmt"
"math"
"path/filepath"
Expand All @@ -12,6 +11,7 @@ import (

"github.com/blugelabs/bluge"
"github.com/blugelabs/bluge/analysis"
"github.com/goccy/go-json"
"github.com/rs/zerolog/log"

meta "github.com/zinclabs/zinc/pkg/meta/v2"
Expand Down Expand Up @@ -351,3 +351,7 @@ func (index *Index) GainDocsCount(n int64) {
atomic.AddInt64(&index.DocsCount, n)
index.ReLoadStorageSize()
}

func (index *Index) Close() error {
return index.Writer.Close()
}
19 changes: 14 additions & 5 deletions pkg/core/loadindexes.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ package core

import (
"context"
"encoding/json"
"fmt"
"os"

"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/s3"
"github.com/blugelabs/bluge"
"github.com/blugelabs/bluge/analysis"
"github.com/goccy/go-json"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
"github.com/rs/zerolog/log"
Expand Down Expand Up @@ -47,7 +47,7 @@ func LoadZincIndexesFromMeta() (map[string]*Index, error) {

dmi, err := reader.Search(context.Background(), searchRequest)
if err != nil {
return nil, fmt.Errorf("core.LoadZincIndexesFromMeta: error executing search: %v", err)
return nil, fmt.Errorf("core.LoadZincIndexesFromMeta: error executing search: %s", err.Error())
}

indexList := make(map[string]*Index)
Expand All @@ -73,14 +73,14 @@ func LoadZincIndexesFromMeta() (map[string]*Index, error) {

log.Info().Msgf("Loading user index... [%s:%s]", index.Name, index.StorageType)
if err != nil {
log.Printf("core.LoadZincIndexesFromMeta: error accessing stored fields: %v", err)
log.Printf("core.LoadZincIndexesFromMeta: error accessing stored fields: %s", err.Error())
}

// load index analysis
if index.Settings != nil && index.Settings.Analysis != nil {
index.CachedAnalyzers, err = zincanalysis.RequestAnalyzer(index.Settings.Analysis)
if err != nil {
log.Printf("core.LoadZincIndexesFromMeta: error parse stored analysis: %v", err)
log.Printf("core.LoadZincIndexesFromMeta: error parse stored analysis: %s", err.Error())
}
}

Expand All @@ -91,7 +91,7 @@ func LoadZincIndexesFromMeta() (map[string]*Index, error) {
}
index.Writer, err = LoadIndexWriter(index.Name, index.StorageType, defaultSearchAnalyzer)
if err != nil {
log.Error().Msgf("Loading user index... [%s:%s] error: %v", index.Name, index.StorageType, err)
log.Error().Msgf("Loading user index... [%s:%s] index writer error: %s", index.Name, index.StorageType, err.Error())
}

// load index docs count
Expand Down Expand Up @@ -235,3 +235,12 @@ func LoadZincIndexesFromMinIO() (map[string]*Index, error) {

return IndexList, nil
}

func CloseIndexes() {
for _, index := range ZINC_INDEX_LIST {
_ = index.Close()
}
for _, index := range ZINC_SYSTEM_INDEX_LIST {
_ = index.Close()
}
}
2 changes: 1 addition & 1 deletion pkg/core/multi_search_v2.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func MultiSearchV2(indexName string, query *meta.ZincQuery) (*meta.SearchRespons

dmi, err := bluge.MultiSearch(ctx, searchRequest, readers...)
if err != nil {
log.Printf("core.MultiSearchV2: error executing search: %v", err)
log.Printf("core.MultiSearchV2: error executing search: %s", err.Error())
if err == context.DeadlineExceeded {
return &meta.SearchResponse{
TimedOut: true,
Expand Down
10 changes: 4 additions & 6 deletions pkg/core/newindex.go
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
package core

import (
"encoding/json"
"fmt"
"strings"
"time"

"github.com/blugelabs/bluge"
"github.com/blugelabs/bluge/analysis"
"github.com/goccy/go-json"

"github.com/zinclabs/zinc/pkg/directory"
meta "github.com/zinclabs/zinc/pkg/meta/v2"
"github.com/zinclabs/zinc/pkg/zutils"
)

// NewIndex creates an instance of a physical zinc index that can be used to store and retrieve data.
func NewIndex(
name string, storageType string, useNewIndexMeta int,
defaultSearchAnalyzer *analysis.Analyzer) (*Index, error) {
func NewIndex(name, storageType string, useNewIndexMeta int, defaultSearchAnalyzer *analysis.Analyzer) (*Index, error) {
if name == "" {
return nil, fmt.Errorf("core.NewIndex: index name cannot be empty")
}
Expand Down Expand Up @@ -125,7 +123,7 @@ func StoreIndex(index *Index) error {

err := ZINC_SYSTEM_INDEX_LIST["_index"].Writer.Update(bdoc.ID(), bdoc)
if err != nil {
return fmt.Errorf("core.StoreIndex: index: %s, error: %v", index.Name, err)
return fmt.Errorf("core.StoreIndex: index: %s, error: %s", index.Name, err.Error())
}

// cache index
Expand All @@ -139,7 +137,7 @@ func DeleteIndex(name string) error {
bdoc.AddField(bluge.NewCompositeFieldExcluding("_all", nil))
err := ZINC_SYSTEM_INDEX_LIST["_index"].Writer.Delete(bdoc.ID())
if err != nil {
return fmt.Errorf("core.DeleteIndex: error deleting template: %v", err)
return fmt.Errorf("core.DeleteIndex: error deleting template: %s", err.Error())
}

return nil
Expand Down
11 changes: 5 additions & 6 deletions pkg/core/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,13 @@ func (index *Index) Search(iQuery *v1.ZincQuery) (*v1.SearchResponse, error) {

reader, err := index.Writer.Reader()
if err != nil {
log.Printf("error accessing reader: %v", err)
log.Printf("error accessing reader: %s", err.Error())
}
defer reader.Close()

dmi, err := reader.Search(context.Background(), searchRequest)
if err != nil {
log.Printf("error executing search: %v", err)
log.Printf("error executing search: %s", err.Error())
}

var Hits []v1.Hit
Expand All @@ -103,11 +103,10 @@ func (index *Index) Search(iQuery *v1.ZincQuery) (*v1.SearchResponse, error) {
result = uquery.HandleSource(sourceCtl, value)
default:
}

return true
})
if err != nil {
log.Printf("error accessing stored fields: %v", err)
log.Printf("error accessing stored fields: %s", err.Error())
}

hit := v1.Hit{
Expand All @@ -123,7 +122,7 @@ func (index *Index) Search(iQuery *v1.ZincQuery) (*v1.SearchResponse, error) {
next, err = dmi.Next()
}
if err != nil {
log.Printf("error iterating results: %v", err)
log.Printf("error iterating results: %s", err.Error())
}

resp := &v1.SearchResponse{
Expand All @@ -140,7 +139,7 @@ func (index *Index) Search(iQuery *v1.ZincQuery) (*v1.SearchResponse, error) {
if len(iQuery.Aggregations) > 0 {
resp.Aggregations, err = uquery.ParseAggregations(dmi.Aggregations())
if err != nil {
log.Printf("error parse aggregation results: %v", err)
log.Printf("error parse aggregation results: %s", err.Error())
}
if len(resp.Aggregations) > 0 {
delete(resp.Aggregations, "count")
Expand Down

0 comments on commit d6a12f8

Please sign in to comment.