-
Notifications
You must be signed in to change notification settings - Fork 587
HDDS-8253. Set ozone.metadata.dirs to temporary dir if not defined in S3 Gateway #4455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I took a deeper look into this, this was due to the change in #4308 which impacts S3G as S3 G does configure a webui that displays some basic AWS CLI usage. One option could be to set the temporary folder to be relative to the current working directory for S3G. The main issue that is being avoided in #4308 is the cleanup of the landing page content due to clean up of |
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
Outdated
Show resolved
Hide resolved
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
Outdated
Show resolved
Hide resolved
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
Outdated
Show resolved
Hide resolved
| // fail. | ||
| Path tmpMetaDir = Files.createTempDirectory(Paths.get(""), | ||
| "ozone_s3g_tmp_meta_dir"); | ||
| Runtime.getRuntime().addShutdownHook(new Thread(() -> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use ShutdownHookManager to add the shutdown hook. Also, I think it should be executed after the other hook (which stops the server), so use a lower than default priority.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@swamirishi do you plan to address this? Also, we can change this PR to change the logic for all the webUIs to see the $CWD.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kerneltime Should I do the web ui change as part of another PR?
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
Outdated
Show resolved
Hide resolved
adoroszlai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On second look I think it would be better to set OzoneConfigKeys.OZONE_HTTP_BASEDIR instead of OZONE_METADATA_DIRS, which is only a fallback.
ozone/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java
Lines 183 to 189 in 881a471
| String baseDir = conf.get(OzoneConfigKeys.OZONE_HTTP_BASEDIR); | |
| if (StringUtils.isEmpty(baseDir)) { | |
| baseDir = getOzoneMetaDirPath(conf) + SERVER_DIR; | |
| } | |
| createDir(baseDir); | |
| httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); |
|
Thanks @swamirishi for updating the patch to set |
| if (StringUtils.isEmpty(ozoneConfiguration.get( | ||
| OzoneConfigKeys.OZONE_HTTP_BASEDIR))) { | ||
| //Setting ozone.metadata.dirs if not set so that server setup doesn't | ||
| // fail. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update comment, setting to tmp directory from current working directory, cwd.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
Thanks @swamirishi . Following up on this, just have the minor comment regarding fixing the comment in the code to set to current working dir if not set. Also, the CI workflow has errors in the integration tests, re-run to see if resolves. |
Since there are changes requested outstanding, CI does not need to be re-run with the current state of the PR. |
|
/pending extract method, use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Marking this issue as un-mergeable as requested.
Please use /ready comment when it's resolved.
Please note that the PR will be closed after 21 days of inactivity from now. (But can be re-opened anytime later...)
extract method, use
ShutdownHookManager
adoroszlai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @swamirishi for updating the patch. I think it's getting close to completion, but there is a checkstyle failure.
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
Outdated
Show resolved
Hide resolved
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
Outdated
Show resolved
Hide resolved
|
Thanks @swamirishi for the updates. Latest commit introduced another checkstyle failure: (Hint: it can be run locally simply by |
|
/ready |
Blocking review request is removed.
|
Thanks @swamirishi for the patch, @kerneltime, @neils-dev, @sadanand48 for the review. |
* master: (440 commits) HDDS-8445. Move PlacementPolicy back to SCM (apache#4588) HDDS-8335. ReplicationManager: EC Mis and Under replication handlers should handle overloaded exceptions (apache#4593) HDDS-8355. Intermittent failure in TestOMRatisSnapshots#testInstallSnapshot (apache#4592) HDDS-8444. Increase timeout of CI build (apache#4586) HDDS-8446. Selective checks: handle change in ci.yaml (apache#4587) HDDS-8440. Ozone Manager crashed with ClassCastException when deleting FSO bucket. (apache#4582) HDDS-7309. Enable by default GRPC between S3G and OM (apache#3820) HDDS-8458. Mark TestBlockDeletion#testBlockDeletion as flaky HDDS-8385. Ozone can't process snapshot when service UID > 2097151 (apache#4580) HDDS-8424: Preserve legacy bucket getKeyInfo behavior (apache#4576) HDDS-8453. Mark TestDirectoryDeletingServiceWithFSO#testDirDeletedTableCleanUpForSnapshot as flaky HDDS-8137. [Snapshot] SnapDiff to use tombstone entries in SST files (apache#4376) HDDS-8270. Measure checkAccess latency for Ozone objects (apache#4467) HDDS-8109. Seperate Ratis and EC MisReplication Handling (apache#4577) HDDS-8429. Checkpoint is not closed properly in OMDBCheckpointServlet (apache#4575) HDDS-8253. Set ozone.metadata.dirs to temporary dir if not defined in S3 Gateway (apache#4455) HDDS-8400. Expose rocksdb last sequence number through metrics (apache#4557) HDDS-8333. ReplicationManager: Allow partial EC reconstruction if insufficient nodes available (apache#4579) HDDS-8147. Introduce latency metrics for S3 Gateway operations (apache#4383) HDDS-7908. Support OM Metadata operation Generator in `Ozone freon` (apache#4251) ...
What changes were proposed in this pull request?
Currently s3Gateway fails to come up if "ozone.http.basedir" is not defined.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8253
How was this patch tested?
Manually tested.