Commit 9bb9617
committed
Add retry logic with jitter for feature flag requests
Add exponential backoff with full jitter for feature flag API calls to handle transient failures like timeouts and connection errors.
- Default 2 retries (3 total attempts) with exponential backoff
- Full jitter to prevent thundering herd during incidents
- Retries on: timeouts, connection errors, 5xx, 429
- No retry on: 4xx client errors, quota limit errors
- Configurable via `feature_flag_retries` parameter on Client1 parent b179280 commit 9bb9617
File tree
4 files changed
+432
-8
lines changed- posthog
- test
4 files changed
+432
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
| 200 | + | |
199 | 201 | | |
200 | 202 | | |
201 | 203 | | |
| |||
215 | 217 | | |
216 | 218 | | |
217 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
218 | 223 | | |
219 | 224 | | |
220 | 225 | | |
| |||
237 | 242 | | |
238 | 243 | | |
239 | 244 | | |
| 245 | + | |
240 | 246 | | |
241 | 247 | | |
242 | 248 | | |
| |||
540 | 546 | | |
541 | 547 | | |
542 | 548 | | |
| 549 | + | |
543 | 550 | | |
544 | 551 | | |
545 | 552 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
| 9 | + | |
11 | 10 | | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
45 | 122 | | |
46 | 123 | | |
47 | 124 | | |
| |||
219 | 296 | | |
220 | 297 | | |
221 | 298 | | |
| 299 | + | |
222 | 300 | | |
223 | 301 | | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
229 | 316 | | |
230 | 317 | | |
231 | 318 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
640 | 640 | | |
641 | 641 | | |
642 | 642 | | |
| 643 | + | |
643 | 644 | | |
644 | 645 | | |
645 | 646 | | |
| |||
704 | 705 | | |
705 | 706 | | |
706 | 707 | | |
| 708 | + | |
707 | 709 | | |
708 | 710 | | |
709 | 711 | | |
| |||
1821 | 1823 | | |
1822 | 1824 | | |
1823 | 1825 | | |
| 1826 | + | |
1824 | 1827 | | |
1825 | 1828 | | |
1826 | 1829 | | |
| |||
1836 | 1839 | | |
1837 | 1840 | | |
1838 | 1841 | | |
| 1842 | + | |
1839 | 1843 | | |
1840 | 1844 | | |
1841 | 1845 | | |
| |||
1849 | 1853 | | |
1850 | 1854 | | |
1851 | 1855 | | |
| 1856 | + | |
1852 | 1857 | | |
1853 | 1858 | | |
1854 | 1859 | | |
| |||
1894 | 1899 | | |
1895 | 1900 | | |
1896 | 1901 | | |
| 1902 | + | |
1897 | 1903 | | |
1898 | 1904 | | |
1899 | 1905 | | |
| |||
1921 | 1927 | | |
1922 | 1928 | | |
1923 | 1929 | | |
| 1930 | + | |
1924 | 1931 | | |
1925 | 1932 | | |
1926 | 1933 | | |
| |||
1941 | 1948 | | |
1942 | 1949 | | |
1943 | 1950 | | |
| 1951 | + | |
1944 | 1952 | | |
1945 | 1953 | | |
1946 | 1954 | | |
1947 | 1955 | | |
1948 | 1956 | | |
1949 | 1957 | | |
1950 | 1958 | | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
1951 | 2001 | | |
1952 | 2002 | | |
1953 | 2003 | | |
| |||
0 commit comments