HADOOP-18476. Abfs and S3A FileContext bindings to close wrapped filesystems in finalizer (#4966)
This is to try and close the underlying filesystems when the FileContext APIs are used. Without this, threads may be leaked
This commit is contained in:
parent
ee886cacd7
commit
d80db6c9e5
@ -33,10 +33,10 @@
|
||||
*/
|
||||
@InterfaceAudience.Public
|
||||
@InterfaceStability.Evolving
|
||||
public class S3A extends DelegateToFileSystem{
|
||||
public class S3A extends DelegateToFileSystem {
|
||||
|
||||
public S3A(URI theUri, Configuration conf)
|
||||
throws IOException, URISyntaxException {
|
||||
throws IOException, URISyntaxException {
|
||||
super(theUri, new S3AFileSystem(), conf, "s3a", false);
|
||||
}
|
||||
|
||||
@ -54,4 +54,13 @@ public String toString() {
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the file system; the FileContext API doesn't have an explicit close.
|
||||
*/
|
||||
@Override
|
||||
protected void finalize() throws Throwable {
|
||||
fsImpl.close();
|
||||
super.finalize();
|
||||
}
|
||||
}
|
||||
|
@ -43,4 +43,13 @@ public class Abfs extends DelegateToFileSystem {
|
||||
public int getUriDefaultPort() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the file system; the FileContext API doesn't have an explicit close.
|
||||
*/
|
||||
@Override
|
||||
protected void finalize() throws Throwable {
|
||||
fsImpl.close();
|
||||
super.finalize();
|
||||
}
|
||||
}
|
||||
|
@ -43,4 +43,13 @@ public class Abfss extends DelegateToFileSystem {
|
||||
public int getUriDefaultPort() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the file system; the FileContext API doesn't have an explicit close.
|
||||
*/
|
||||
@Override
|
||||
protected void finalize() throws Throwable {
|
||||
fsImpl.close();
|
||||
super.finalize();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user