123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <!--
- 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>
|