BukrosSzabolcs commented on a change in pull request #4066:
URL: https://github.com/apache/hbase/pull/4066#discussion_r799432320
##########
File path:
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.java
##########
@@ -341,27 +342,36 @@ private User getActiveUser() throws IOException {
return user;
}
- private static class SecureBulkLoadListener implements BulkLoadListener {
+ protected static class SecureBulkLoadListener implements BulkLoadListener {
// Target filesystem
private final FileSystem fs;
private final String stagingDir;
private final Configuration conf;
// Source filesystem
private FileSystem srcFs = null;
private Map<String, FsPermission> origPermissions = null;
+ private Map<String, String> origlSources = null;
public SecureBulkLoadListener(FileSystem fs, String stagingDir,
Configuration conf) {
this.fs = fs;
this.stagingDir = stagingDir;
this.conf = conf;
this.origPermissions = new HashMap<>();
+ this.origlSources = new HashMap<>();
}
@Override
- public String prepareBulkLoad(final byte[] family, final String srcPath,
boolean copyFile)
- throws IOException {
+ public String prepareBulkLoad(final byte[] family, final String srcPath,
boolean copyFile,
+ String customStaging ) throws IOException {
Path p = new Path(srcPath);
- Path stageP = new Path(stagingDir, new Path(Bytes.toString(family),
p.getName()));
+
+ //store customStaging for failedBulkLoad
+ String currentStaging = stagingDir;
+ if(StringUtils.isNotEmpty(customStaging)){
+ currentStaging = customStaging;
+ }
Review comment:
I prefer this format, it's more descriptive. Shows that stagingDir is
the default and it is only overwritten in specific circumstances.
But I can change it if you would still prefer.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]