xiaoyuyao commented on a change in pull request #1489: HDDS-2019. Handle Set
DtService of token in S3Gateway for OM HA.
URL: https://github.com/apache/hadoop/pull/1489#discussion_r329748308
##########
File path:
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/OzoneServiceProvider.java
##########
@@ -20,33 +20,75 @@
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.ozone.OmUtils;
+import org.apache.hadoop.ozone.s3.util.OzoneS3Util;
import org.apache.hadoop.security.SecurityUtil;
import javax.annotation.PostConstruct;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import javax.inject.Inject;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import static org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_NODES_KEY;
+import static org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SERVICE_IDS_KEY;
+
/**
* This class creates the OM service .
*/
@ApplicationScoped
public class OzoneServiceProvider {
- private Text omServiceAdd;
+ private Text omServiceAddr;
+
+ private String omserviceID;
@Inject
private OzoneConfiguration conf;
@PostConstruct
public void init() {
- omServiceAdd = SecurityUtil.buildTokenService(OmUtils.
- getOmAddressForClients(conf));
+ Collection<String> serviceIdList =
+ conf.getTrimmedStringCollection(OZONE_OM_SERVICE_IDS_KEY);
+ if (serviceIdList.size() == 0) {
+ // Non-HA cluster
+ omServiceAddr = SecurityUtil.buildTokenService(OmUtils.
+ getOmAddressForClients(conf));
+ } else {
+ // HA cluster.
+ //For now if multiple service id's are configured we throw exception.
Review comment:
This is very similar to what HDFS HA does. Since OM support service
discovery, can we get the internal service id via service discovery?
----------------------------------------------------------------
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]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]