Simon0806 commented on pull request #897:
URL: https://github.com/apache/hadoop-ozone/pull/897#issuecomment-624422878
> Hi @Simon0806
> Thanks for the contribution and welcome to Ozone.
>
> OzoneConfiguration() calls loadDefaults() and in loadDefaults() we add
ozone-site.xml.
> I see this has been already taken care of by the below code.
>
> ```
> public OzoneConfiguration() {
> OzoneConfiguration.activate();
> loadDefaults();
> }
> ```
>
> ```
> private void loadDefaults() {
> try {
> //there could be multiple ozone-default-generated.xml files on the
> // classpath, which are generated by the annotation processor.
> // Here we add all of them to the list of the available
configuration.
> Enumeration<URL> generatedDefaults =
> OzoneConfiguration.class.getClassLoader().getResources(
> "ozone-default-generated.xml");
> while (generatedDefaults.hasMoreElements()) {
> addResource(generatedDefaults.nextElement());
> }
> } catch (IOException e) {
> e.printStackTrace();
> }
> addResource("ozone-site.xml");
> }
> ```
Hi Bharat
Actually it's true but they are different behaviors. the line you mentioned
was add ozone-site.xml into resources belong to OzoneConfiguration but will not
add ozone-site.xml into defaultResources belong to Configuration. The
initialize process of S3Gateway will use UserGroupInformation.isSecurityEnable
to check if security has been configured.
Here is the key point code:
private static void ensureInitialized() {
if (!isInitialized()) {
synchronized(UserGroupInformation.class) {
if (!isInitialized()) { // someone might have beat us
initialize(**new Configuration()**, false);
}
}
}
}
Here it called new Configuration() which will load defaultResources, which
only contains
core-site.xml, hdfs-site.xml, core-default.xml, hdfs-default.xml and
ozone-default.xml.
While when initializing OM and SCM it will pass the OzoneConfiguration to do
initialize but S3Gateway it use Configuration by default.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]