Skip to content
Snippets Groups Projects

Full MVC of gitlab-zoekt-indexer

Merged Dylan Griffith requested to merge add-new-api-paths into main
All threads resolved!
Compare and Show latest version
4 files
+ 107
49
Compare changes
  • Side-by-side
  • Inline
Files
4
@@ -18,7 +18,7 @@ import (
@@ -18,7 +18,7 @@ import (
"github.com/prometheus/client_golang/prometheus/collectors"
"github.com/prometheus/client_golang/prometheus/collectors"
"github.com/prometheus/client_golang/prometheus/promauto"
"github.com/prometheus/client_golang/prometheus/promauto"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/prometheus/client_golang/prometheus/promhttp"
// "gitlab.com/gitlab-org/labkit/correlation"
"gitlab.com/gitlab-org/search-team/gitlab-zoekt-indexer/correlation"
"gitlab.com/gitlab-org/search-team/gitlab-zoekt-indexer/indexer"
"gitlab.com/gitlab-org/search-team/gitlab-zoekt-indexer/indexer"
)
)
@@ -43,11 +43,36 @@ type gitalyConnectionInfo struct {
@@ -43,11 +43,36 @@ type gitalyConnectionInfo struct {
type indexRequest struct {
type indexRequest struct {
Timeout string
Timeout string
RepoID uint32
RepoID uint32
CorrelationID string
GitalyConnectionInfo *gitalyConnectionInfo
GitalyConnectionInfo *gitalyConnectionInfo
FileSizeLimit int
FileSizeLimit int
}
}
 
func (s *indexServer) indexRepository(req indexRequest, ctx context.Context) error {
 
timeout, err := time.ParseDuration(req.Timeout)
 
if err != nil {
 
return fmt.Errorf("failed to parse Timeout: %v with error %v", req.Timeout, err)
 
}
 
 
ctx, cancel := context.WithTimeout(ctx, timeout)
 
defer cancel()
 
 
idx := &indexer.Indexer{
 
IndexDir: s.indexDir,
 
ProjectID: req.RepoID,
 
CorrelationID: correlation.GetCorrelationID(ctx),
 
GitalyAddress: req.GitalyConnectionInfo.Address,
 
GitalyStorageName: req.GitalyConnectionInfo.Storage,
 
GitalyRelativePath: req.GitalyConnectionInfo.Path,
 
LimitFileSize: req.FileSizeLimit,
 
}
 
 
if err := idx.IndexRepository(ctx); err != nil {
 
return err
 
}
 
 
return nil
 
}
 
func (s *indexServer) createIndexDir() {
func (s *indexServer) createIndexDir() {
if err := os.MkdirAll(s.indexDir, 0o755); err != nil {
if err := os.MkdirAll(s.indexDir, 0o755); err != nil {
log.Fatalf("createIndexDir %s: %v", s.indexDir, err)
log.Fatalf("createIndexDir %s: %v", s.indexDir, err)
@@ -142,7 +167,7 @@ func (s *indexServer) handleIndex() http.HandlerFunc {
@@ -142,7 +167,7 @@ func (s *indexServer) handleIndex() http.HandlerFunc {
return
return
}
}
err = s.indexRepository(req)
err = s.indexRepository(req, r.Context())
if err != nil {
if err != nil {
s.respondWithError(w, r, route, err)
s.respondWithError(w, r, route, err)
return
return
@@ -156,32 +181,6 @@ func (s *indexServer) handleIndex() http.HandlerFunc {
@@ -156,32 +181,6 @@ func (s *indexServer) handleIndex() http.HandlerFunc {
}
}
}
}
func (s *indexServer) indexRepository(req indexRequest) error {
timeout, err := time.ParseDuration(req.Timeout)
if err != nil {
return fmt.Errorf("failed to parse Timeout: %v with error %v", req.Timeout, err)
}
ctx, cancel := context.WithTimeout(context.Background(), timeout)
defer cancel()
idx := &indexer.Indexer{
IndexDir: s.indexDir,
ProjectID: req.RepoID,
CorrelationID: req.CorrelationID,
GitalyAddress: req.GitalyConnectionInfo.Address,
GitalyStorageName: req.GitalyConnectionInfo.Storage,
GitalyRelativePath: req.GitalyConnectionInfo.Path,
LimitFileSize: req.FileSizeLimit,
}
if err := idx.IndexRepository(ctx); err != nil {
return err
}
return nil
}
func (s *indexServer) handleTruncate() http.HandlerFunc {
func (s *indexServer) handleTruncate() http.HandlerFunc {
route := "truncate"
route := "truncate"
Loading