[
https://issues.apache.org/jira/browse/APEXCORE-488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15376173#comment-15376173
]
ASF GitHub Bot commented on APEXCORE-488:
-----------------------------------------
Github user pradeepdalvi commented on a diff in the pull request:
https://github.com/apache/apex-core/pull/357#discussion_r70738521
--- Diff:
engine/src/main/java/com/datatorrent/stram/StreamingAppMasterService.java ---
@@ -614,7 +615,16 @@ protected void serviceStart() throws Exception
}
WebApp webApp = WebApps.$for("stram", StramAppContext.class,
appContext, "ws").with(config).start(new StramWebApp(this.dnmgr));
LOG.info("Started web service at port: " + webApp.port());
- this.appMasterTrackingUrl =
NetUtils.getConnectAddress(webApp.getListenerAddress()).getHostName() + ":" +
webApp.port();
+ String host =
NetUtils.getConnectAddress(webApp.getListenerAddress()).getHostName() + ":" +
webApp.port();
+
+ // For backward compatibility, not adding scheme in TrackingURL for
non-HTTPS
+ // TODO: Remove the check in next major release and add scheme always
+ if (ConfigUtils.isSSLEnabled(config)) {
+ String scheme = ConfigUtils.getSchemePrefix(config);
--- End diff --
@gauravgopi123 @vrozov I had same thing in mind, when I introduced
isSSLEnabled function. And it was basically introduced to add scheme
conditionally and to avoid compatibility issues before major release.
As you already got an idea, these changes were made while keeping future
changes in mind. Ultimately we would like to see something like:
` this.appMasterTrackingUrl =
NetUtils.getConnectAddress(webApp.getListenerAddress()).getHostName() + ":" +
webApp.port();
this.appMasterTrackingUrl = ConfigUtils.getSchemePrefix(config) +
this.appMasterTrackingUrl;`
So IMO, we can make changes as below. And during next major release simply
remove if condition.
` this.appMasterTrackingUrl =
NetUtils.getConnectAddress(webApp.getListenerAddress()).getHostName() + ":" +
webApp.port();
// For backward compatibility, not adding scheme in TrackingURL for
non-HTTPS
// TODO: Remove the check in next major release and add scheme always
if (ConfigUtils.isSSLEnabled(config)) {
this.appMasterTrackingUrl = ConfigUtils.getSchemePrefix(config) +
this.appMasterTrackingUrl;
}`
Please let me know your thoughts on this.
> Issues in SSL communication with StrAM
> --------------------------------------
>
> Key: APEXCORE-488
> URL: https://issues.apache.org/jira/browse/APEXCORE-488
> Project: Apache Apex Core
> Issue Type: Bug
> Reporter: Pradeep A. Dalvi
> Assignee: Pradeep A. Dalvi
>
> Couple of issues in SSL communication with StrAM to track application progress
> - trackingURL without protocol scheme, makes YARN to pick up default HTTP.
> This happens even if the yarn.http.policy is set to HTTPS_ONLY.
> - StramAgent assumes always HTTP communication
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)