100 lines
4.2 KiB
XML
100 lines
4.2 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>
|
|
<!-- This reference equality check is an intentional light weight
|
|
check to avoid re-validating the token when re-used. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azurebfs.utils.CachedSASToken" />
|
|
<Method name="update" />
|
|
<Bug pattern="ES_COMPARING_PARAMETER_STRING_WITH_EQ" />
|
|
</Match>
|
|
|
|
<!-- This is intentional. The unsynchronized field access is safe
|
|
and only synchronized access is used when using the sasToken
|
|
for authorization. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azurebfs.utils.CachedSASToken" />
|
|
<Field name="sasToken" />
|
|
<Bug pattern="IS2_INCONSISTENT_SYNC" />
|
|
</Match>
|
|
|
|
<!-- It is okay to skip up to end of file. No need to check return value. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azure.AzureNativeFileSystemStore" />
|
|
<Method name="retrieve" />
|
|
<Bug pattern="SR_NOT_CHECKED" />
|
|
<Priority value="2" />
|
|
</Match>
|
|
|
|
<!-- Returning fully loaded array to iterate through is a convenience
|
|
and helps performance. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azure.NativeAzureFileSystem$FolderRenamePending" />
|
|
<Method name="getFiles" />
|
|
<Bug pattern="EI_EXPOSE_REP" />
|
|
<Priority value="2" />
|
|
</Match>
|
|
|
|
<!-- Need to start keep-alive thread for SelfRenewingLease in constructor. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azure.SelfRenewingLease" />
|
|
<Bug pattern="SC_START_IN_CTOR" />
|
|
<Priority value="2" />
|
|
</Match>
|
|
|
|
<!-- Using a key set iterator is fine because this is not a performance-critical
|
|
method. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azure.PageBlobOutputStream" />
|
|
<Method name="logAllStackTraces" />
|
|
<Bug pattern="WMI_WRONG_MAP_ITERATOR" />
|
|
<Priority value="2" />
|
|
</Match>
|
|
|
|
<!-- FileMetadata is used internally for storing metadata but also
|
|
subclasses FileStatus to reduce allocations when listing a large number
|
|
of files. When it is returned to an external caller as a FileStatus, the
|
|
extra metadata is no longer useful and we want the equals and hashCode
|
|
methods of FileStatus to be used. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azure.FileMetadata" />
|
|
<Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS" />
|
|
</Match>
|
|
|
|
<!-- continuation is returned from an external http call. Keeping this
|
|
outside synchronized block since the same is costly. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azurebfs.services.AbfsListStatusRemoteIterator" />
|
|
<Field name="continuation" />
|
|
<Bug pattern="IS2_INCONSISTENT_SYNC" />
|
|
</Match>
|
|
|
|
<!-- This field is instance of BlockBlobInputStream and read(long, byte[], int, int)
|
|
calls it's Super class method when 'fs.azure.block.blob.buffered.pread.disable'
|
|
is configured false. Super class FSInputStream's implementation is having
|
|
proper synchronization.
|
|
When 'fs.azure.block.blob.buffered.pread.disable' is true, we want a lock free
|
|
implementation of blob read. Here we don't use any of the InputStream's
|
|
shared resource (buffer) and also don't change any cursor position etc.
|
|
So its safe to go with unsynchronized way of read. -->
|
|
<Match>
|
|
<Class name="org.apache.hadoop.fs.azure.NativeAzureFileSystem$NativeAzureFsInputStream" />
|
|
<Field name="in" />
|
|
<Bug pattern="IS2_INCONSISTENT_SYNC" />
|
|
</Match>
|
|
</FindBugsFilter>
|