Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <git@zjvandeweg.nl>2019-06-17 14:33:57 +0300
committerZeger-Jan van de Weg <git@zjvandeweg.nl>2019-06-17 21:55:39 +0300
commitc540a5a6d661228efde04c40ffa5a8c72e54a512 (patch)
tree3ba41d803936be62fbdd20f96d9b3184d73d80ed
parenta4a0481e938763304f8e3be58f84093a81c4e8fa (diff)
Fix socket path not working
The Listen call used a disk path with the prefix `unix:` present. So the file would be written to a location that would be relative to the current working directory and had to start with `unix:`. By cleaning the prefix it would use the user intended path. Another minor improvement; when the server receives a signal and succesfully shuts down it no longer exits with a non zero exit code.
-rw-r--r--changelogs/unreleased/zj-fix-praefect-socket-config.yml5
-rw-r--r--cmd/praefect/main.go17
2 files changed, 16 insertions, 6 deletions
diff --git a/changelogs/unreleased/zj-fix-praefect-socket-config.yml b/changelogs/unreleased/zj-fix-praefect-socket-config.yml
new file mode 100644
index 000000000..0536c95eb
--- /dev/null
+++ b/changelogs/unreleased/zj-fix-praefect-socket-config.yml
@@ -0,0 +1,5 @@
+---
+title: Fix praefect not listening to the correct socket path
+merge_request: 1313
+author:
+type: fixed
diff --git a/cmd/praefect/main.go b/cmd/praefect/main.go
index 60c00c851..00769307e 100644
--- a/cmd/praefect/main.go
+++ b/cmd/praefect/main.go
@@ -9,6 +9,7 @@ import (
"net/http"
"os"
"os/signal"
+ "strings"
"syscall"
"time"
@@ -39,7 +40,9 @@ func main() {
logger.Fatalf("%s", err)
}
- logger.Fatalf("%v", run(listeners, conf))
+ if err := run(listeners, conf); err != nil {
+ logger.Fatalf("%v", err)
+ }
}
func configure() (config.Config, error) {
@@ -109,7 +112,6 @@ func run(listeners []net.Listener, conf config.Config) error {
logger.WithField("gitaly listen addr", gitaly.ListenAddr).Info("registered gitaly node")
}
- var err error
select {
case s := <-termCh:
logger.WithField("signal", s).Warn("received signal, shutting down gracefully")
@@ -118,12 +120,13 @@ func run(listeners []net.Listener, conf config.Config) error {
ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
if shutdownErr := srv.Shutdown(ctx); shutdownErr != nil {
logger.Warnf("error received during shutting down: %v", shutdownErr)
+ return shutdownErr
}
- err = fmt.Errorf("received signal: %v", s)
- case err = <-serverErrors:
+ case err := <-serverErrors:
+ return err
}
- return err
+ return nil
}
func getListeners(socketPath, listenAddr string) ([]net.Listener, error) {
@@ -133,7 +136,9 @@ func getListeners(socketPath, listenAddr string) ([]net.Listener, error) {
if err := os.RemoveAll(socketPath); err != nil {
return nil, err
}
- l, err := net.Listen("unix", socketPath)
+
+ cleanPath := strings.TrimPrefix(socketPath, "unix:")
+ l, err := net.Listen("unix", cleanPath)
if err != nil {
return nil, err
}