Commit 83dfbfa
committed
fix(spring): Fix get(key, type) double-call in SentryCacheWrapper
Use a single delegate.get(key, type) call instead of calling
delegate.get(key) for hit detection and delegate.get(key, type) for
the actual value. This eliminates doubled cache round trips (e.g. Redis
network calls) and a TOCTOU race where the entry could expire between
the two calls.
The trade-off is that cached null values are now indistinguishable from
cache misses, which is acceptable for observability purposes.1 parent 518e465 commit 83dfbfa
File tree
6 files changed
+3
-63
lines changed- sentry-spring-7/src
- main/java/io/sentry/spring7/cache
- test/kotlin/io/sentry/spring7/cache
- sentry-spring-jakarta/src
- main/java/io/sentry/spring/jakarta/cache
- test/kotlin/io/sentry/spring/jakarta/cache
- sentry-spring/src
- main/java/io/sentry/spring/cache
- test/kotlin/io/sentry/spring/cache
6 files changed
+3
-63
lines changedLines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | | - | |
71 | 69 | | |
| 70 | + | |
72 | 71 | | |
73 | 72 | | |
74 | 73 | | |
| |||
Lines changed: 0 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | | - | |
91 | 89 | | |
92 | 90 | | |
93 | 91 | | |
| |||
97 | 95 | | |
98 | 96 | | |
99 | 97 | | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | 98 | | |
116 | 99 | | |
117 | 100 | | |
118 | 101 | | |
119 | | - | |
120 | 102 | | |
121 | 103 | | |
122 | 104 | | |
| |||
131 | 113 | | |
132 | 114 | | |
133 | 115 | | |
134 | | - | |
135 | 116 | | |
136 | 117 | | |
137 | 118 | | |
| |||
Lines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | | - | |
71 | 69 | | |
| 70 | + | |
72 | 71 | | |
73 | 72 | | |
74 | 73 | | |
| |||
Lines changed: 0 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | | - | |
91 | 89 | | |
92 | 90 | | |
93 | 91 | | |
| |||
97 | 95 | | |
98 | 96 | | |
99 | 97 | | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | 98 | | |
116 | 99 | | |
117 | 100 | | |
118 | 101 | | |
119 | | - | |
120 | 102 | | |
121 | 103 | | |
122 | 104 | | |
| |||
131 | 113 | | |
132 | 114 | | |
133 | 115 | | |
134 | | - | |
135 | 116 | | |
136 | 117 | | |
137 | 118 | | |
| |||
Lines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
68 | | - | |
69 | 67 | | |
| 68 | + | |
70 | 69 | | |
71 | 70 | | |
72 | 71 | | |
| |||
Lines changed: 0 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
88 | | - | |
89 | 87 | | |
90 | 88 | | |
91 | 89 | | |
| |||
95 | 93 | | |
96 | 94 | | |
97 | 95 | | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | 96 | | |
114 | 97 | | |
115 | 98 | | |
116 | 99 | | |
117 | | - | |
118 | 100 | | |
119 | 101 | | |
120 | 102 | | |
| |||
129 | 111 | | |
130 | 112 | | |
131 | 113 | | |
132 | | - | |
133 | 114 | | |
134 | 115 | | |
135 | 116 | | |
| |||
0 commit comments