1<!-- The excluded FindBugs warnings listed below are "known" and "ok".
2     Run FindBugs with this as an exclude file.  For example:
3
4findbugs -textui -exclude FindBugsExclude.xml je.jar
5
6-->
7<FindBugsFilter>
8     <Match class="com.sleepycat.collections.BlockIterator">
9       <BugCode name="REC" />
10       <Method name="add"/>
11     </Match>
12
13     <Match class="com.sleepycat.compat.DbCompat">
14       <BugCode name="MS" />
15     </Match>
16
17     <Match class="com.sleepycat.bind.serial.SerialOutput">
18       <BugCode name="MS" />
19     </Match>
20
21     <Match class="com.sleepycat.je.Database">
22       <BugCode name="IS" />
23       <Field name="handleLocker" />
24     </Match>
25
26     <Match class="com.sleepycat.je.DatabaseEntry">
27       <BugCode name="MS" />
28       <Field name="MAX_DUMP_BYTES" />
29     </Match>
30
31     <Match class="com.sleepycat.je.Environment">
32       <BugCode name="UG" />
33       <Method name="getMutableConfig"/>
34     </Match>
35
36     <Match class="com.sleepycat.je.dbi.DatabaseImpl">
37       <BugCode name="MS" />
38       <Field name="forceTreeWalkForTruncateAndRemove" />
39     </Match>
40
41     <Match class="com.sleepycat.je.dbi.MemoryBudget">
42       <BugCode name="MS" />
43       <Field name="CLEANUP_DONE" />
44     </Match>
45
46     <Match class="com.sleepycat.je.dbi.MemoryBudget">
47       <BugCode name="MS" />
48       <Field name="DEBUG_ADMIN" />
49     </Match>
50
51     <Match class="com.sleepycat.je.dbi.MemoryBudget">
52       <BugCode name="MS" />
53       <Field name="DEBUG_LOCK" />
54     </Match>
55
56     <Match class="com.sleepycat.je.dbi.MemoryBudget">
57       <BugCode name="MS" />
58       <Field name="DEBUG_TXN" />
59     </Match>
60
61     <Match class="com.sleepycat.je.dbi.MemoryBudget">
62       <BugCode name="MS" />
63       <Field name="DEBUG_TREEADMIN" />
64     </Match>
65
66     <Match class="com.sleepycat.je.dbi.MemoryBudget">
67       <BugCode name="MS" />
68       <Field name="DEBUG_TREE" />
69     </Match>
70
71     <Match class="com.sleepycat.persist.impl.PersistCatalog">
72       <BugCode name="MS" />
73       <Field name="expectNoClassChanges" />
74     </Match>
75
76     <Match class="com.sleepycat.persist.model.ClassEnhancer">
77       <BugCode name="RV" />
78       <Method name="enhanceFile"/>
79     </Match>
80
81     <Match class="com.sleepycat.je.txn.LockType">
82       <BugCode name="IC" />
83     </Match>
84
85     <Match class="com.sleepycat.je.log.LogEntryType">
86       <BugCode name="MS" />
87     </Match>
88
89     <Match class="com.sleepycat.je.log.LogUtils">
90       <BugCode name="MS" />
91     </Match>
92
93     <Match class="com.sleepycat.je.tree.BIN">
94       <BugCode name="Eq" />
95     </Match>
96
97     <Match class="com.sleepycat.je.tree.DIN">
98       <BugCode name="Eq" />
99     </Match>
100
101     <Match class="com.sleepycat.je.tree.DBIN">
102       <BugCode name="Eq" />
103     </Match>
104
105     <Match class="com.sleepycat.je.tree.DBINReference">
106       <BugCode name="Eq" />
107     </Match>
108
109     <Match class="com.sleepycat.collections.StoredMapEntry">
110       <BugCode name="Eq" />
111     </Match>
112
113     <Match class="com.sleepycat.je.log.StatsFileReader$LogEntryTypeComparator" >
114       <BugCode name="Se" />
115     </Match>
116
117     <Match class="com.sleepycat.je.log.FileManager">
118       <BugCode name="ST" />
119     </Match>
120
121     <Match class="com.sleepycat.je.log.FileManager">
122       <BugCode name="MS" />
123       <Field name="WRITE_COUNT" />
124     </Match>
125
126     <Match class="com.sleepycat.je.log.FileManager">
127       <BugCode name="MS" />
128       <Field name="STOP_ON_WRITE_COUNT" />
129     </Match>
130
131     <Match class="com.sleepycat.je.log.FileManager">
132       <BugCode name="MS" />
133       <Field name="N_BAD_WRITES" />
134     </Match>
135
136     <Match class="com.sleepycat.je.log.FileManager">
137       <BugCode name="MS" />
138       <Field name="THROW_ON_WRITE" />
139     </Match>
140
141     <Match class="com.sleepycat.persist.impl.Format">
142       <BugCode name="ST" />
143       <Method name="getReader"/>
144     </Match>
145
146     <Match class="com.sleepycat.je.log.ScavengerFileReader">
147       <BugCode name="NP" />
148       <Method name="resyncReader"/>
149     </Match>
150
151     <Match class="com.sleepycat.persist.impl.Evolver">
152       <BugCode name="NP" />
153       <Method name="evolveRequiredKeyField"/>
154     </Match>
155
156     <Match class="com.sleepycat.persist.impl.Evolver">
157       <BugCode name="NP" />
158       <Method name="evolveFormatInternal"/>
159     </Match>
160
161     <Match class="com.sleepycat.je.dbi.EnvironmentImpl">
162       <BugCode name="ST" />
163     </Match>
164
165     <Match class="com.sleepycat.je.dbi.EnvironmentImpl">
166       <BugCode name="ICAST" />
167       <Method name="updateBackgroundWrites"/>
168     </Match>
169
170     <Match class="com.sleepycat.je.dbi.EnvironmentImpl">
171       <BugCode name="SWL" />
172       <Method name="sleepAfterBackgroundIO"/>
173     </Match>
174
175     <Match class="com.sleepycat.je.TransactionStats$Active">
176       <BugCode name="SIC" />
177     </Match>
178
179     <Match class="com.sleepycat.je.evictor.Evictor">
180       <BugCode name="IS2" />
181     </Match>
182
183     <Match class="com.sleepycat.je.evictor.Evictor">
184       <BugCode name="IS" />
185     </Match>
186
187     <Match class="com.sleepycat.je.latch.SharedLatch">
188       <BugCode name="PS" />
189     </Match>
190
191     <Match class="com.sleepycat.je.latch.LatchImpl">
192       <BugCode name="IS" />
193     </Match>
194
195     <Match class="com.sleepycat.je.latch.SharedLatchImpl">
196       <BugCode name="IS" />
197     </Match>
198
199     <Match class="com.sleepycat.je.latch.Latch">
200       <BugCode name="IS2" />
201     </Match>
202
203     <Match class="com.sleepycat.je.latch.Latch">
204       <BugCode name="Wa" />
205     </Match>
206
207     <Match class="com.sleepycat.je.latch.Java5LatchImpl">
208       <BugCode name="IMSE" />
209       <Method name="doRelease" />
210     </Match>
211
212     <Match class="com.sleepycat.je.latch.Latch">
213       <BugCode name="IMSE" />
214       <Method name="doRelease" />
215     </Match>
216
217     <Match class="com.sleepycat.je.latch.Java5SharedLatchImpl" >
218       <BugCode name="SnVI" />
219     </Match>
220
221     <Match class="com.sleepycat.je.latch.Java5SharedLatchImpl">
222       <BugCode name="IMSE" />
223       <Method name="release" />
224     </Match>
225
226     <Match class="com.sleepycat.je.latch.SharedLatch">
227       <BugCode name="IMSE" />
228       <Method name="release" />
229     </Match>
230
231     <Match class="com.sleepycat.je.latch.Java5SharedLatchImpl">
232       <BugCode name="UL" />
233       <Method name="acquireExclusive" />
234     </Match>
235
236     <Match class="com.sleepycat.je.latch.Java5SharedLatchImpl">
237       <BugCode name="UL" />
238       <Method name="acquireShared" />
239     </Match>
240
241     <Match class="com.sleepycat.je.latch.SharedLatch">
242       <BugCode name="UL" />
243       <Method name="acquireExclusive" />
244     </Match>
245
246     <Match class="com.sleepycat.je.latch.SharedLatch">
247       <BugCode name="UL" />
248       <Method name="acquireShared" />
249     </Match>
250
251     <Match class="com.sleepycat.je.cleaner.Cleaner">
252       <BugCode name="IS2" />
253     </Match>
254
255     <Match class="com.sleepycat.je.cleaner.FileProcessor">
256       <BugCode name="IS" />
257     </Match>
258
259     <Match class="com.sleepycat.je.cleaner.UtilizationProfile">
260       <BugCode name="IS" />
261     </Match>
262
263     <Match class="com.sleepycat.je.recovery.Checkpointer">
264       <BugCode name="IS2" />
265     </Match>
266
267     <Match class="com.sleepycat.je.recovery.Checkpointer">
268       <BugCode name="ICAST" />
269       <Method name="isRunnable" />
270     </Match>
271
272     <Match class="com.sleepycat.je.recovery.Checkpointer">
273       <BugCode name="IS" />
274     </Match>
275
276     <Match class="com.sleepycat.je.recovery.RecoveryManager">
277       <BugCode name="REC" />
278       <Method name="readINsAndTrackIds"/>
279     </Match>
280
281     <Match class="com.sleepycat.je.recovery.RecoveryManager">
282       <BugCode name="REC" />
283       <Method name="redoLNs"/>
284     </Match>
285
286     <Match class="com.sleepycat.je.txn.Txn">
287       <BugCode name="IS2" />
288     </Match>
289
290     <Match class="com.sleepycat.je.txn.Txn">
291       <BugCode name="IS" />
292     </Match>
293
294     <Match class="com.sleepycat.collections.StoredMap">
295       <BugCode name="IS2" />
296     </Match>
297
298     <Match class="com.sleepycat.je.Sequence">
299       <BugCode name="IS2" />
300     </Match>
301
302     <Match class="com.sleepycat.je.Sequence">
303       <BugCode name="IS" />
304     </Match>
305
306     <Match class="com.sleepycat.je.incomp.INCompressor">
307       <BugCode name="IS,IS2,BC" />
308     </Match>
309
310     <Match class="com.sleepycat.je.tree.Key">
311       <BugCode name="MS" />
312     </Match>
313
314     <Match class="com.sleepycat.je.tree.IN">
315       <BugCode name="MS" />
316     </Match>
317
318     <Match class="com.sleepycat.je.tree.Tree">
319       <BugCode name="DMI" />
320       <Method name="validateINList" />
321     </Match>
322
323     <Match class="com.sleepycat.je.tree.Tree">
324       <BugCode name="NP" />
325       <Method name="deleteDupSubtree" />
326     </Match>
327
328     <Match class="com.sleepycat.je.tree.Tree">
329       <BugCode name="NP" />
330       <Method name="splitRoot" />
331     </Match>
332
333     <Match class="com.sleepycat.je.tree.Tree">
334       <BugCode name="NP" />
335       <Method name="searchSplitsAllowed" />
336     </Match>
337
338     <Match class="com.sleepycat.je.txn.Txn">
339       <BugCode name="MS" />
340     </Match>
341
342     <Match class="com.sleepycat.collections.StoredIterator">
343       <BugCode name="RV" />
344       <Method name="reset"/>
345     </Match>
346
347     <Match class="com.sleepycat.je.utilint.DaemonThread">
348       <BugCode name="RV" />
349       <Method name="checkErrorListener"/>
350     </Match>
351
352     <Match class="com.sleepycat.collections.DataView">
353       <BugCode name="DE" />
354       <Method name="join"/>
355     </Match>
356
357     <Match class="com.sleepycat.je.utilint.TracerFormatter">
358       <BugCode name="DE" />
359       <Method name="format"/>
360     </Match>
361
362     <Match class="com.sleepycat.je.incomp.INCompressor">
363       <BugCode name="RCN" />
364       <Method name="searchForBIN"/>
365     </Match>
366
367     <Match class="com.sleepycat.je.tree.Tree">
368       <BugCode name="RCN" />
369       <Method name="getNextBinInternal"/>
370     </Match>
371
372     <Match class="com.sleepycat.je.log.FSyncManager$FSyncGroup">
373       <BugCode name="NN" />
374       <Method name="wakeupOne"/>
375     </Match>
376
377     <Match class="com.sleepycat.je.txn.LockManager">
378       <BugCode name="NN" />
379       <Method name="release"/>
380     </Match>
381
382     <Match class="com.sleepycat.je.utilint.DaemonThread">
383       <BugCode name="UW" />
384       <Method name="run"/>
385     </Match>
386
387     <Match class="com.sleepycat.je.util.DbRunAction">
388       <BugCode name="REC" />
389       <Method name="main"/>
390     </Match>
391
392     <Match classregex="com.sleepycat.je.util.*" >
393       <BugCode name="Dm" />
394     </Match>
395
396     <Match class="com.sleepycat.asm.signature.SignatureWriter" >
397       <BugCode name="IM" />
398       <Method name="endArguments" />
399     </Match>
400
401     <Match class="com.sleepycat.asm.ClassReader" >
402       <BugCode name="Bx" />
403       <Method name="readAnnotationValue" />
404     </Match>
405
406     <Match class="com.sleepycat.asm.ClassReader" >
407       <BugCode name="Bx" />
408       <Method name="readConst" />
409     </Match>
410
411     <Match class="com.sleepycat.bind.serial.StoredClassCatalog$ClassInfo" >
412       <BugCode name="SnVI" />
413     </Match>
414
415     <Match classregex="com.sleepycat.persist.impl.*" >
416       <BugCode name="SnVI" />
417     </Match>
418
419     <Match class="com.sleepycat.persist.impl.ComplexFormat$SkipFieldReader">
420       <BugCode name="Se" />
421       <Field name="endField" />
422     </Match>
423
424     <Match class="com.sleepycat.persist.impl.EnumFormat" >
425       <BugCode name="Se" />
426       <Field name="values" />
427     </Match>
428
429     <Match class="com.sleepycat.persist.impl.FieldInfo" >
430       <BugCode name="Se" />
431       <Field name="cls" />
432     </Match>
433
434     <Match classregex=".*" >
435       <BugCode name="EI,EI2,CD" />
436     </Match>
437
438     <Match class="com.sleepycat.asm.Handler" >
439       <BugCode name="UrF" />
440       <Field name="desc" />
441     </Match>
442
443     <Match class="com.sleepycat.je.dbi.EnvironmentImpl" >
444       <BugCode name="UrF" />
445       <Field name="lockoutTimeout" />
446     </Match>
447
448     <!-- Match all doublecheck violations in these methods of "AnotherClass".
449     <Match class="com.foobar.AnotherClass">
450       <Or>
451         <Method name="nonOverloadedMethod" />
452         <Method name="frob" params="int,java.lang.String" returns="void" />
453         <Method name="blat" params="" returns="boolean" />
454       </Or>
455       <BugCode name="DC" />
456     </Match>
457     -->
458</FindBugsFilter>
459