@@ -63,6 +63,8 @@ public void writeUserData(String sessionId, String userId) {
63
63
writer .flush ();
64
64
} catch (Exception e ) {
65
65
Logger .getLogger ().w ("Error serializing user metadata." , e );
66
+ } catch (OutOfMemoryError e ) {
67
+ Logger .getLogger ().w ("OOM serializing user metadata." , e );
66
68
} finally {
67
69
CommonUtils .closeOrLog (writer , "Failed to close user metadata file." );
68
70
}
@@ -86,6 +88,9 @@ public String readUserId(String sessionId) {
86
88
} catch (Exception e ) {
87
89
Logger .getLogger ().w ("Error deserializing user metadata." , e );
88
90
safeDeleteCorruptFile (f );
91
+ } catch (OutOfMemoryError e ) {
92
+ Logger .getLogger ().w ("OOM deserializing user metadata." , e );
93
+ safeDeleteCorruptFile (f );
89
94
} finally {
90
95
CommonUtils .closeOrLog (is , "Failed to close user metadata file." );
91
96
}
@@ -108,6 +113,9 @@ public void writeKeyData(String sessionId, Map<String, String> keyData, boolean
108
113
} catch (Exception e ) {
109
114
Logger .getLogger ().w ("Error serializing key/value metadata." , e );
110
115
safeDeleteCorruptFile (f );
116
+ } catch (OutOfMemoryError e ) {
117
+ Logger .getLogger ().w ("OOM serializing key/value metadata." , e );
118
+ safeDeleteCorruptFile (f );
111
119
} finally {
112
120
CommonUtils .closeOrLog (writer , "Failed to close key/value metadata file." );
113
121
}
@@ -132,6 +140,9 @@ Map<String, String> readKeyData(String sessionId, boolean isInternal) {
132
140
} catch (Exception e ) {
133
141
Logger .getLogger ().w ("Error deserializing user metadata." , e );
134
142
safeDeleteCorruptFile (f );
143
+ } catch (OutOfMemoryError e ) {
144
+ Logger .getLogger ().w ("OOM deserializing user metadata." , e );
145
+ safeDeleteCorruptFile (f );
135
146
} finally {
136
147
CommonUtils .closeOrLog (is , "Failed to close user metadata file." );
137
148
}
@@ -155,6 +166,9 @@ public List<RolloutAssignment> readRolloutsState(String sessionId) {
155
166
} catch (Exception e ) {
156
167
Logger .getLogger ().w ("Error deserializing rollouts state." , e );
157
168
safeDeleteCorruptFile (f );
169
+ } catch (OutOfMemoryError e ) {
170
+ Logger .getLogger ().w ("OOM deserializing rollouts state." , e );
171
+ safeDeleteCorruptFile (f );
158
172
} finally {
159
173
CommonUtils .closeOrLog (is , "Failed to close rollouts state file." );
160
174
}
@@ -177,6 +191,9 @@ public void writeRolloutState(String sessionId, List<RolloutAssignment> rollouts
177
191
} catch (Exception e ) {
178
192
Logger .getLogger ().w ("Error serializing rollouts state." , e );
179
193
safeDeleteCorruptFile (f );
194
+ } catch (OutOfMemoryError e ) {
195
+ Logger .getLogger ().w ("OOM serializing rollouts state." , e );
196
+ safeDeleteCorruptFile (f );
180
197
} finally {
181
198
CommonUtils .closeOrLog (writer , "Failed to close rollouts state file." );
182
199
}
0 commit comments