MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / sentinelHandleConfiguration

Function sentinelHandleConfiguration

src/sentinel.cpp:1906–2064  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1904}
1905
1906const char *sentinelHandleConfiguration(char **argv, int argc) {
1907
1908 sentinelRedisInstance *ri;
1909
1910 if (!strcasecmp(argv[0],"monitor") && argc == 5) {
1911 /* monitor <name> <host> <port> <quorum> */
1912 int quorum = atoi(argv[4]);
1913
1914 if (quorum <= 0) return "Quorum must be 1 or greater.";
1915 if (createSentinelRedisInstance(argv[1],SRI_MASTER,argv[2],
1916 atoi(argv[3]),quorum,NULL) == NULL)
1917 {
1918 return sentinelCheckCreateInstanceErrors(SRI_MASTER);
1919 }
1920 } else if (!strcasecmp(argv[0],"down-after-milliseconds") && argc == 3) {
1921 /* down-after-milliseconds <name> <milliseconds> */
1922 ri = sentinelGetMasterByName(argv[1]);
1923 if (!ri) return "No such master with specified name.";
1924 ri->down_after_period = atoi(argv[2]);
1925 if (ri->down_after_period <= 0)
1926 return "negative or zero time parameter.";
1927 sentinelPropagateDownAfterPeriod(ri);
1928 } else if (!strcasecmp(argv[0],"failover-timeout") && argc == 3) {
1929 /* failover-timeout <name> <milliseconds> */
1930 ri = sentinelGetMasterByName(argv[1]);
1931 if (!ri) return "No such master with specified name.";
1932 ri->failover_timeout = atoi(argv[2]);
1933 if (ri->failover_timeout <= 0)
1934 return "negative or zero time parameter.";
1935 } else if (!strcasecmp(argv[0],"parallel-syncs") && argc == 3) {
1936 /* parallel-syncs <name> <milliseconds> */
1937 ri = sentinelGetMasterByName(argv[1]);
1938 if (!ri) return "No such master with specified name.";
1939 ri->parallel_syncs = atoi(argv[2]);
1940 } else if (!strcasecmp(argv[0],"notification-script") && argc == 3) {
1941 /* notification-script <name> <path> */
1942 ri = sentinelGetMasterByName(argv[1]);
1943 if (!ri) return "No such master with specified name.";
1944 if (access(argv[2],X_OK) == -1)
1945 return "Notification script seems non existing or non executable.";
1946 ri->notification_script = sdsnew(argv[2]);
1947 } else if (!strcasecmp(argv[0],"client-reconfig-script") && argc == 3) {
1948 /* client-reconfig-script <name> <path> */
1949 ri = sentinelGetMasterByName(argv[1]);
1950 if (!ri) return "No such master with specified name.";
1951 if (access(argv[2],X_OK) == -1)
1952 return "Client reconfiguration script seems non existing or "
1953 "non executable.";
1954 ri->client_reconfig_script = sdsnew(argv[2]);
1955 } else if (!strcasecmp(argv[0],"auth-pass") && argc == 3) {
1956 /* auth-pass <name> <password> */
1957 ri = sentinelGetMasterByName(argv[1]);
1958 if (!ri) return "No such master with specified name.";
1959 ri->auth_pass = sdsnew(argv[2]);
1960 } else if (!strcasecmp(argv[0],"auth-user") && argc == 3) {
1961 /* auth-user <name> <username> */
1962 ri = sentinelGetMasterByName(argv[1]);
1963 if (!ri) return "No such master with specified name.";

Callers 1

Calls 9

sentinelGetMasterByNameFunction · 0.85
sdsnewFunction · 0.85
sdsfreeFunction · 0.85
yesnotoiFunction · 0.85
dictAddFunction · 0.70

Tested by

no test coverage detected