617af28e80
S3A connector to support the IOStatistics API of HADOOP-16830, This is a major rework of the S3A Statistics collection to * Embrace the IOStatistics APIs * Move from direct references of S3AInstrumention statistics collectors to interface/implementation classes in new packages. * Ubiquitous support of IOStatistics, including: S3AFileSystem, input and output streams, RemoteIterator instances provided in list calls. * Adoption of new statistic names from hadoop-common Regarding statistic collection, as well as all existing statistics, the connector now records min/max/mean durations of HTTP GET and HEAD requests, and those of LIST operations. Contributed by Steve Loughran.
88 lines
3.1 KiB
XML
88 lines
3.1 KiB
XML
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<FindBugsFilter>
|
|
|
|
<!-- same code as in FileSystem is triggering the same warning. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3native.S3xLoginHelper" />
|
|
<Method name="checkPath" />
|
|
<Bug pattern="ES_COMPARING_STRINGS_WITH_EQ" />
|
|
</Match>
|
|
<!-- Redundant null check makes code clearer, future-proof here. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3a.S3AFileSystem" />
|
|
<Method name="s3Exists" />
|
|
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
|
|
</Match>
|
|
|
|
<!--
|
|
This extends the serializable S3Object, so findbug checks
|
|
serializability. It is never serialized however, so its
|
|
warnings are false positives.
|
|
-->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3a.InconsistentS3Object" />
|
|
<Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED" />
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3a.InconsistentS3Object" />
|
|
<Bug pattern="SE_NO_SERIALVERSIONID" />
|
|
</Match>
|
|
|
|
<!--
|
|
findbugs gets confused by lambda expressions in synchronized methods
|
|
and considers references to fields to be unsynchronized.
|
|
As you can't disable the methods individually, we have to disable
|
|
them for the entire class.
|
|
-->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3a.S3AInputStream"/>
|
|
<Bug pattern="IS2_INCONSISTENT_SYNC"/>
|
|
</Match>
|
|
<!--
|
|
findbugs reporting RV ignored. Not true.
|
|
"Return value of S3AReadOpContext.getReadInvoker() ignored,
|
|
but method has no side effect"
|
|
-->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3a.S3AInputStream"/>
|
|
<Method name="reopen"/>
|
|
<Bug pattern="RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT"/>
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3a.S3AFileSystem"/>
|
|
<Method name="openFileWithOptions"/>
|
|
<Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
|
|
</Match>
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3a.s3guard.S3GuardTool$BucketInfo"/>
|
|
<Method name="run"/>
|
|
<Bug pattern="SF_SWITCH_FALLTHROUGH"/>
|
|
</Match>
|
|
|
|
<!--
|
|
Some of the S3A Instrumentation classes increment volatile references from
|
|
within synchronized contexts; they use volatile to keep the cost
|
|
of these updates and reading them down.
|
|
-->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.s3a.S3AInstrumentation$InputStreamStatisticsImpl"/>
|
|
<Bug pattern="VO_VOLATILE_INCREMENT"/>
|
|
</Match>
|
|
|
|
</FindBugsFilter>
|