|
19 | 19 |
|
20 | 20 | package org.elasticsearch.action.admin.indices.stats;
|
21 | 21 |
|
| 22 | +import org.apache.lucene.store.AlreadyClosedException; |
22 | 23 | import org.elasticsearch.common.Nullable;
|
23 | 24 | import org.elasticsearch.common.io.stream.StreamInput;
|
24 | 25 | import org.elasticsearch.common.io.stream.StreamOutput;
|
@@ -167,57 +168,61 @@ public CommonStats(CommonStatsFlags flags) {
|
167 | 168 | public CommonStats(IndicesQueryCache indicesQueryCache, IndexShard indexShard, CommonStatsFlags flags) {
|
168 | 169 | CommonStatsFlags.Flag[] setFlags = flags.getFlags();
|
169 | 170 | for (CommonStatsFlags.Flag flag : setFlags) {
|
170 |
| - switch (flag) { |
171 |
| - case Docs: |
172 |
| - docs = indexShard.docStats(); |
173 |
| - break; |
174 |
| - case Store: |
175 |
| - store = indexShard.storeStats(); |
176 |
| - break; |
177 |
| - case Indexing: |
178 |
| - indexing = indexShard.indexingStats(flags.types()); |
179 |
| - break; |
180 |
| - case Get: |
181 |
| - get = indexShard.getStats(); |
182 |
| - break; |
183 |
| - case Search: |
184 |
| - search = indexShard.searchStats(flags.groups()); |
185 |
| - break; |
186 |
| - case Merge: |
187 |
| - merge = indexShard.mergeStats(); |
188 |
| - break; |
189 |
| - case Refresh: |
190 |
| - refresh = indexShard.refreshStats(); |
191 |
| - break; |
192 |
| - case Flush: |
193 |
| - flush = indexShard.flushStats(); |
194 |
| - break; |
195 |
| - case Warmer: |
196 |
| - warmer = indexShard.warmerStats(); |
197 |
| - break; |
198 |
| - case QueryCache: |
199 |
| - queryCache = indicesQueryCache.getStats(indexShard.shardId()); |
200 |
| - break; |
201 |
| - case FieldData: |
202 |
| - fieldData = indexShard.fieldDataStats(flags.fieldDataFields()); |
203 |
| - break; |
204 |
| - case Completion: |
205 |
| - completion = indexShard.completionStats(flags.completionDataFields()); |
206 |
| - break; |
207 |
| - case Segments: |
208 |
| - segments = indexShard.segmentStats(flags.includeSegmentFileSizes()); |
209 |
| - break; |
210 |
| - case Translog: |
211 |
| - translog = indexShard.translogStats(); |
212 |
| - break; |
213 |
| - case RequestCache: |
214 |
| - requestCache = indexShard.requestCache().stats(); |
215 |
| - break; |
216 |
| - case Recovery: |
217 |
| - recoveryStats = indexShard.recoveryStats(); |
218 |
| - break; |
219 |
| - default: |
220 |
| - throw new IllegalStateException("Unknown Flag: " + flag); |
| 171 | + try { |
| 172 | + switch (flag) { |
| 173 | + case Docs: |
| 174 | + docs = indexShard.docStats(); |
| 175 | + break; |
| 176 | + case Store: |
| 177 | + store = indexShard.storeStats(); |
| 178 | + break; |
| 179 | + case Indexing: |
| 180 | + indexing = indexShard.indexingStats(flags.types()); |
| 181 | + break; |
| 182 | + case Get: |
| 183 | + get = indexShard.getStats(); |
| 184 | + break; |
| 185 | + case Search: |
| 186 | + search = indexShard.searchStats(flags.groups()); |
| 187 | + break; |
| 188 | + case Merge: |
| 189 | + merge = indexShard.mergeStats(); |
| 190 | + break; |
| 191 | + case Refresh: |
| 192 | + refresh = indexShard.refreshStats(); |
| 193 | + break; |
| 194 | + case Flush: |
| 195 | + flush = indexShard.flushStats(); |
| 196 | + break; |
| 197 | + case Warmer: |
| 198 | + warmer = indexShard.warmerStats(); |
| 199 | + break; |
| 200 | + case QueryCache: |
| 201 | + queryCache = indicesQueryCache.getStats(indexShard.shardId()); |
| 202 | + break; |
| 203 | + case FieldData: |
| 204 | + fieldData = indexShard.fieldDataStats(flags.fieldDataFields()); |
| 205 | + break; |
| 206 | + case Completion: |
| 207 | + completion = indexShard.completionStats(flags.completionDataFields()); |
| 208 | + break; |
| 209 | + case Segments: |
| 210 | + segments = indexShard.segmentStats(flags.includeSegmentFileSizes()); |
| 211 | + break; |
| 212 | + case Translog: |
| 213 | + translog = indexShard.translogStats(); |
| 214 | + break; |
| 215 | + case RequestCache: |
| 216 | + requestCache = indexShard.requestCache().stats(); |
| 217 | + break; |
| 218 | + case Recovery: |
| 219 | + recoveryStats = indexShard.recoveryStats(); |
| 220 | + break; |
| 221 | + default: |
| 222 | + throw new IllegalStateException("Unknown Flag: " + flag); |
| 223 | + } |
| 224 | + } catch (AlreadyClosedException e) { |
| 225 | + // shard is closed - no stats is fine |
221 | 226 | }
|
222 | 227 | }
|
223 | 228 | }
|
|
0 commit comments