<FindBugsFilter>
  <!--
   conversionPattern is only set once and used to initiate PatternLayout object
   only once. It is set by log4j framework if set as part of log4j properties and accessed
   only during first append operation.
  -->
  <Match>
    <Class name="org.apache.hadoop.logging.appenders.AsyncRFAAppender"/>
    <Field name="conversionPattern"/>
    <Bug pattern="IS2_INCONSISTENT_SYNC"/>
  </Match>

  <!-- Following fields are used in ErrorsAndWarningsBlock, which is not a part of analysis of findbugs -->
  <Match>
    <Class name="org.apache.hadoop.logging.appenders.Log4jWarningErrorMetricsAppender$Element"/>
    <Or>
      <Field name="count"/>
      <Field name="timestampSeconds"/>
    </Or>
    <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/>
  </Match>

</FindBugsFilter>
