-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: update codis fe / proxy with tls; topom updated #2383
base: unstable
Are you sure you want to change the base?
Changes from 19 commits
9658b06
6ec04e3
10b22fc
083b737
4517f87
342d893
8ad0b61
e233d10
e99e587
c631795
7b765b7
6eb8e3a
f2cfcee
b8bda63
6a8a404
10038c3
7f78d00
8d00a6f
e8f24eb
86afbe7
1a4e5c4
b9cf0ae
a592cc6
b7c8ba1
5cfa142
0d607fa
c491c6a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's better not to provide the public key file. Instead, you can add a generation command in the readme. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @machinly the public key file is definitely a dummy one. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDazCCAlOgAwIBAgIUC/IGKPPBWnAG7MZNPhCUaPmg0oEwDQYJKoZIhvcNAQEL | ||
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM | ||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDAyMDExNTI0MDBaFw0zNDAx | ||
MjkxNTI0MDBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw | ||
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB | ||
AQUAA4IBDwAwggEKAoIBAQClOgprziC/+nQeHXV5qJA9gdttnx7NV9Cbfc7xox6w | ||
HRCaavLxdKh//E2o6F492U0i+GSqRYWrQKqWix0myLiZwXEL16mkhL7ANLFSnA8C | ||
qsMIJf3u6+rN1OtlIVoKP1zWMFRV0inVCZMC0W6KFeVpuTqewc/FC5w/Zh3shPj1 | ||
FJQCOas5SNbpxp9jQQsInur+NeP71r2GcZWD6+H2TCGouMTLFxdL62dbMOGLfm3a | ||
Yq2d+HVhSMmEkuxXEgaIzxJ04toqQntnq4fnRkkFB7CoXG7AQqHIxKb4bjjnD100 | ||
qDTTPc1wDEhlye/kUbxztF6dv58AUH1ayg1N7pz3EwazAgMBAAGjUzBRMB0GA1Ud | ||
DgQWBBQtXOfPGePViVYEkHUujTcdtU8RuDAfBgNVHSMEGDAWgBQtXOfPGePViVYE | ||
kHUujTcdtU8RuDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA5 | ||
HMCZGl8a/fkG8O8XfdNpKvpb7WWINW5pqNf/Ep1wiqx3Y5/2I+NaCn7NhvxkliPU | ||
hF/m3ijJ1eXLVjADMwBuW0vaqS0U29c5k/vWto2xx2Uv7dVffvbGTDUitAygGBTi | ||
9r7A1GnU3PLdA96kUb5RT80tILOSakQYj+KN5QuV4LYmIoUIPlJfn0DOT4D/AoIC | ||
vn/L77gctOQUfzu/l9saN1uwhgBZ06eQv14BJKnUdpmmMDREiP7lAJtQet1dukh6 | ||
DvS3QUqf91pkOC6tXMHTAAFQ/op+eJVKUMKfFo1oRkXU1sg1/fD25FKO1xaS6afy | ||
/nr/PY00p+k4s6jw+Fif | ||
-----END CERTIFICATE----- |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -4,6 +4,7 @@ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
package main | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"crypto/tls" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"encoding/json" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"fmt" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"io/ioutil" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -56,7 +57,7 @@ func init() { | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
func main() { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const usage = ` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Usage: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
codis-fe [--ncpu=N] [--log=FILE] [--log-level=LEVEL] [--assets-dir=PATH] [--pidfile=FILE] (--dashboard-list=FILE|--zookeeper=ADDR [--zookeeper-auth=USR:PWD]|--etcd=ADDR [--etcd-auth=USR:PWD]|--filesystem=ROOT) --listen=ADDR | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
codis-fe [--ncpu=N] [--log=FILE] [--log-level=LEVEL] [--assets-dir=PATH] [--pidfile=FILE] (--dashboard-list=FILE|--zookeeper=ADDR [--zookeeper-auth=USR:PWD]|--etcd=ADDR [--etcd-auth=USR:PWD]|--filesystem=ROOT) --listen=ADDR [--tls-cert=FILE] [--tls-key=FILE] [--tls=N] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
codis-fe --version | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Options: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -196,10 +197,42 @@ Options: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
m.MapTo(r, (*martini.Routes)(nil)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
m.Action(r.Handle) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
l, err := net.Listen("tcp", listen) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
log.PanicErrorf(err, "listen %s failed", listen) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
var l net.Listener | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if n, ok := utils.ArgumentInteger(d, "--tls"); ok && n == 1 { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// Load server certificate and key | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
certFile, keyFile := utils.ArgumentMust(d, "--tls-cert"), utils.ArgumentMust(d, "--tls-key") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if certFile == "" || keyFile == "" { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
log.Panic("TLS certificate or key file path must be provided") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cert, err := tls.LoadX509KeyPair(certFile, keyFile) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
log.PanicErrorf(err, "failed to load key pair: %s", err) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// Create a TLS config | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tlsConfig := &tls.Config{ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Certificates: []tls.Certificate{cert}, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// Create a TLS listener | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
l, err = tls.Listen("tcp", listen, tlsConfig) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
log.PanicErrorf(err, "listen %s failed", listen) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}else{ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
l, err = net.Listen("tcp", listen) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
log.PanicErrorf(err, "listen %s failed", listen) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+202
to
+232
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Improve error handling and logging for TLS setup. Ensure that all potential errors are logged appropriately and provide more context. if n, ok := utils.ArgumentInteger(d, "--tls"); ok && n == 1 {
// Load server certificate and key
certFile, keyFile := utils.ArgumentMust(d, "--tls-cert"), utils.ArgumentMust(d, "--tls-key")
if certFile == "" || keyFile == "" {
log.Panic("TLS certificate or key file path must be provided")
}
cert, err := tls.LoadX509KeyPair(certFile, keyFile)
if err != nil {
log.PanicErrorf(err, "failed to load key pair: %s", err)
}
// Create a TLS config
tlsConfig := &tls.Config{
Certificates: []tls.Certificate{cert},
}
// Create a TLS listener
l, err = tls.Listen("tcp", listen, tlsConfig)
if err != nil {
log.PanicErrorf(err, "TLS listen on %s failed: %v", listen, err)
}
log.Warnf("TLS enabled, listening on %s", listen)
} else {
l, err = net.Listen("tcp", listen)
if err != nil {
log.PanicErrorf(err, "listen on %s failed: %v", listen, err)
}
log.Warnf("Listening on %s without TLS", listen)
} Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
defer l.Close() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if s, ok := utils.Argument(d, "--pidfile"); ok { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do not modify the default configuration There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can you only pull what is needed? |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's better not to provide the private key file. Instead, you can add a generation command in the readme. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
-----BEGIN PRIVATE KEY----- | ||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQClOgprziC/+nQe | ||
HXV5qJA9gdttnx7NV9Cbfc7xox6wHRCaavLxdKh//E2o6F492U0i+GSqRYWrQKqW | ||
ix0myLiZwXEL16mkhL7ANLFSnA8CqsMIJf3u6+rN1OtlIVoKP1zWMFRV0inVCZMC | ||
0W6KFeVpuTqewc/FC5w/Zh3shPj1FJQCOas5SNbpxp9jQQsInur+NeP71r2GcZWD | ||
6+H2TCGouMTLFxdL62dbMOGLfm3aYq2d+HVhSMmEkuxXEgaIzxJ04toqQntnq4fn | ||
RkkFB7CoXG7AQqHIxKb4bjjnD100qDTTPc1wDEhlye/kUbxztF6dv58AUH1ayg1N | ||
7pz3EwazAgMBAAECggEANou0MAXTGv2wQtbf1uN2hs+tZIGg1hJ0/DgqzuvWcDaQ | ||
KiI/hMXJ8MKW0rmvjwSDahWNiga8i54kEuHnJEwkYSIS02GFkBoArQxYM9jwPaWp | ||
EDIWpD7++6ecdHzvsC1d1RoMZW6lv75S6Z3BO9XhsCblus5p7HeaQ/XO0CvP0nxJ | ||
SxT1Mj6U0dkiGVPWmmsKuWacYUkbYLeOh0s+T298vm5sRaECvewqwGSQYO8EJVaW | ||
c/sFfJPPwONRGK3+Ggt/Puq6z+6i8baiXnMYHBhHhxdHN8fgRjGW+J+fYddOmd90 | ||
Sfr+OeECnqXKvIQdnH3WOOzvSF8oP0/Si7dEu8mF1QKBgQC1erZifnvnKPTn2Y7t | ||
lfdbP9tbuBo4e6PXKf7oy3gEMb7DBoXlLrytnyKS2CnNfw3y+Cptk6sHvCRlf00h | ||
1WSQqLf7+6LvwqZunhLD+lIqbBeYb6FnjU32HTyTA37nojO9G7F+4uUktWtAp5TV | ||
zp04k/lK4jFC63/GWc9/iHauZQKBgQDpEtYgGcmtCv2+9pKHfKIqC3Ma2HzV9EsW | ||
VTgVjRZWxSIxeblPI8GqCEPB0Wjn/GcZ83MIpGH4RlPkZVM1z8DkWEBn9OxQysCl | ||
t8UEIysAParbwdXQ4bLeVmRO8eEXhSSRQgyIPGHQ+oNECbZftnkMIMZqNIP5Tz3C | ||
mg4zfjDjNwKBgCDWwrgR8TPEGoT1vkJJt8fgRz5SkxQTc3NU2xae8um3YrCBtqrh | ||
CS1VtXji+rV/vzNvKqZHaVRt/BwNrBRqO9ddYGWNhE9kZp9vpS+nVUTt6FsiIA/P | ||
5wKZCcQEhus9U6VtpHG0dwhsd6rsaCdESvjY9exR/93/JVDsIXsPY4JtAoGAXCjg | ||
lkzcHBpuf2YMRpqXnLxuRT05D3jLgAcuaAcjwCeu/5U8GvjuiQc/k5H0Q1bghbhn | ||
0hD91Cgq3/LY1jxR73id7v0/vCqPxndF5f7p7+xydPbOTwwPqC7M9xJZiO1SqkVN | ||
o0kM/I8x/GNCw9HpR0xmaHRfguM8bohv+Rh6yD0CgYAfEVhTk+fXshrMeH9qdEwH | ||
AzfQaQtPpQISgoTADT2ZDkZSSDOuVtMK0L/ZvAAeL+jbQh3RJayARfp2o8BnD12U | ||
YIaBq9OC8JUZbG71e93zY/zv4HmZdK/RymmwM2jv9UxTnQPpnHRuVcYF0HZpZSWJ | ||
Xf12eCJQmM/HGdynEvZtcw== | ||
-----END PRIVATE KEY----- |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -123,6 +123,25 @@ func (s *Store) Release() error { | |
return s.client.Delete(s.LockPath()) | ||
} | ||
|
||
func (s *Store) ReleaseByToken(token string) error { | ||
b, err := s.client.Read(s.LockPath(),false) | ||
if err != nil { | ||
return err | ||
} | ||
|
||
if b != nil { | ||
t, err := Decode(b); | ||
if err != nil { | ||
return err | ||
} | ||
if t.Token == token { | ||
return s.Release() | ||
} | ||
} | ||
|
||
return nil | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Reduce nesting and improve readability. The nested if statements can be reduced to improve readability. func (s *Store) ReleaseByToken(token string) error {
b, err := s.client.Read(s.LockPath(), false)
if err != nil {
return err
}
if b == nil {
return nil
}
t, err := Decode(b)
if err != nil {
return err
}
if t.Token == token {
return s.Release()
}
return nil
} There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @coderabbitai no. nesting is fine here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @kolinfluence Understood, I'll respect your decision to keep the nesting as is. If you need any further assistance, feel free to ask. |
||
|
||
func (s *Store) LoadTopom(must bool) (*Topom, error) { | ||
return LoadTopom(s.client, s.product, must) | ||
} | ||
|
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -18,3 +18,11 @@ type Topom struct { | |||||||||||||||||||||||||
func (t *Topom) Encode() []byte { | ||||||||||||||||||||||||||
return jsonEncode(t) | ||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
func Decode(b []byte) (*Topom, error) { | ||||||||||||||||||||||||||
s := &Topom{} | ||||||||||||||||||||||||||
if err := jsonDecode(s, b); err != nil { | ||||||||||||||||||||||||||
return nil,err | ||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||
return s,nil | ||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix formatting issues. There are minor formatting issues in the - return nil,err
+ return nil, err
- return s,nil
+ return s, nil Committable suggestion
Suggested change
|
||||||||||||||||||||||||||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -50,9 +50,10 @@ migration_async_numkeys = 500 | |
migration_timeout = "30s" | ||
|
||
# Set configs for redis sentinel. | ||
sentinel_check_server_state_interval = "5s" | ||
sentinel_check_master_failover_interval = "1s" | ||
sentinel_master_dead_check_times = 5 | ||
sentinel_check_server_state_interval = "10s" | ||
sentinel_check_master_failover_interval = "2s" | ||
sentinel_master_dead_check_times = 10 | ||
sentinel_check_offline_server_interval = "2s" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Tip Codebase Verification Ensure new configuration setting is used. The new configuration setting
Analysis chainEnsure new configuration setting is used. The new configuration setting Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Verify the usage of the new configuration setting `sentinel_check_offline_server_interval`.
# Test: Search for the usage of the new configuration setting. Expect: At least one occurrence.
rg --type go 'sentinel_check_offline_server_interval'
Length of output: 300 Script: #!/bin/bash
# Description: Verify the usage of the configuration setting `SentinelCheckOfflineServerInterval`.
# Test: Search for the usage of the configuration setting. Expect: At least one occurrence.
rg --type go 'SentinelCheckOfflineServerInterval'
Length of output: 224 |
||
sentinel_client_timeout = "10s" | ||
sentinel_quorum = 2 | ||
sentinel_parallel_syncs = 1 | ||
|
@@ -86,6 +87,7 @@ type Config struct { | |
SentinelCheckServerStateInterval timesize.Duration `toml:"sentinel_check_server_state_interval" json:"sentinel_client_timeout"` | ||
SentinelCheckMasterFailoverInterval timesize.Duration `toml:"sentinel_check_master_failover_interval" json:"sentinel_check_master_failover_interval"` | ||
SentinelMasterDeadCheckTimes int8 `toml:"sentinel_master_dead_check_times" json:"sentinel_master_dead_check_times"` | ||
SentinelCheckOfflineServerInterval timesize.Duration `toml:"sentinel_check_offline_server_interval" json:"sentinel_check_offline_server_interval"` | ||
kolinfluence marked this conversation as resolved.
Show resolved
Hide resolved
|
||
SentinelClientTimeout timesize.Duration `toml:"sentinel_client_timeout" json:"sentinel_client_timeout"` | ||
SentinelQuorum int `toml:"sentinel_quorum" json:"sentinel_quorum"` | ||
SentinelParallelSyncs int `toml:"sentinel_parallel_syncs" json:"sentinel_parallel_syncs"` | ||
|
Original file line number | Diff line number | Diff line change | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -168,7 +168,8 @@ func (s *Topom) Close() error { | |||||||||||||||||||
defer s.store.Close() | ||||||||||||||||||||
|
||||||||||||||||||||
if s.online { | ||||||||||||||||||||
if err := s.store.Release(); err != nil { | ||||||||||||||||||||
err := s.store.ReleaseByToken(s.model.Token); | ||||||||||||||||||||
if err != nil { | ||||||||||||||||||||
Comment on lines
+172
to
+173
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Improve error handling in Ensure that the error is logged and handled appropriately. if s.online {
err := s.store.ReleaseByToken(s.model.Token)
if err != nil {
log.ErrorErrorf(err, "store: release lock of %s failed", s.config.ProductName)
return errors.Errorf("store: release lock of %s failed", s.config.ProductName)
}
} Committable suggestion
Suggested change
|
||||||||||||||||||||
log.ErrorErrorf(err, "store: release lock of %s failed", s.config.ProductName) | ||||||||||||||||||||
return errors.Errorf("store: release lock of %s failed", s.config.ProductName) | ||||||||||||||||||||
} | ||||||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment this code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you help add the rest?