[
https://issues.apache.org/jira/browse/KNOX-2994?focusedWorklogId=897886&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-897886
]
ASF GitHub Bot logged work on KNOX-2994:
----------------------------------------
Author: ASF GitHub Bot
Created on: 03/Jan/24 13:48
Start Date: 03/Jan/24 13:48
Worklog Time Spent: 10m
Work Description: smolnar82 opened a new pull request, #831:
URL: https://github.com/apache/knox/pull/831
## What changes were proposed in this pull request?
Actual cluster configuration change monitoring should not happen until the
Knox Gateway is fully up and running and all the topologies are deployed.
## How was this patch tested?
Updated existing unit tests and added a new test case to cover this new
functionality. Apart from this, I also conducted an E2E test round on a live CM
cluster (I set the `gateway.cluster.config.monitor.cm.interval` to `5` to make
sure we see config monitor attempts every 5 seconds).
After I restarted Knox I confirmed the feature is working:
```
2024-01-03 12:55:15,551 INFO knox.gateway
(GatewayServer.java:startGateway(389)) - Starting gateway...
...
2024-01-03 12:55:15,607 INFO discovery.cm
(PollingConfigurationAnalyzer.java:run(203)) - Started ClouderaManager cluster
configuration monitor (checking every 5 seconds)
2024-01-03 12:55:15,607 INFO knox.gateway
(GatewayStatusService.java:status(45)) - Checking gateway status. No topologies
to check
2024-01-03 12:55:15,608 INFO discovery.cm
(PollingConfigurationAnalyzer.java:run(215)) - The Knox Gateway is not yet
ready to monitor ClouderaManager cluster configuration changes.
...
2024-01-03 12:55:20,609 INFO knox.gateway
(GatewayStatusService.java:status(50)) - Checking gateway status. Deployed
topologies: [health]. Waiting for: [cdp-proxy, metadata, cdp-proxy-token,
manager, knoxsso, admin, kt-kerberos, tokenexchange, cdp-proxy-api, homepage]
...
2024-01-03 12:55:25,610 INFO knox.gateway
(GatewayStatusService.java:status(50)) - Checking gateway status. Deployed
topologies: [health]. Waiting for: [cdp-proxy, metadata, cdp-proxy-token,
manager, knoxsso, admin, kt-kerberos, tokenexchange, cdp-proxy-api, homepage]
2024-01-03 12:55:25,610 INFO discovery.cm
(PollingConfigurationAnalyzer.java:run(215)) - The Knox Gateway is not yet
ready to monitor ClouderaManager cluster configuration changes.
...
2024-01-03 12:55:30,611 INFO knox.gateway
(GatewayStatusService.java:status(50)) - Checking gateway status. Deployed
topologies: [health]. Waiting for: [cdp-proxy, metadata, cdp-proxy-token,
manager, knoxsso, admin, kt-kerberos, tokenexchange, cdp-proxy-api, homepage]
2024-01-03 12:55:30,611 INFO discovery.cm
(PollingConfigurationAnalyzer.java:run(215)) - The Knox Gateway is not yet
ready to monitor ClouderaManager cluster configuration changes.
...
2024-01-03 12:55:35,612 INFO knox.gateway
(GatewayStatusService.java:status(50)) - Checking gateway status. Deployed
topologies: [metadata, knoxsso, health, tokenexchange, homepage]. Waiting for:
[cdp-proxy, cdp-proxy-token, manager, admin, kt-kerberos, cdp-proxy-api]
2024-01-03 12:55:35,612 INFO discovery.cm
(PollingConfigurationAnalyzer.java:run(215)) - The Knox Gateway is not yet
ready to monitor ClouderaManager cluster configuration changes.
...
2024-01-03 12:55:40,613 INFO knox.gateway
(GatewayStatusService.java:status(50)) - Checking gateway status. Deployed
topologies: [metadata, manager, knoxsso, health, admin, kt-kerberos,
tokenexchange, cdp-proxy-api, homepage]. Waiting for: [cdp-proxy,
cdp-proxy-token]
2024-01-03 12:55:40,613 INFO discovery.cm
(PollingConfigurationAnalyzer.java:run(215)) - The Knox Gateway is not yet
ready to monitor ClouderaManager cluster configuration changes.
...
2024-01-03 12:55:45,613 INFO knox.gateway
(GatewayStatusService.java:status(50)) - Checking gateway status. Deployed
topologies: [cdp-proxy, metadata, manager, cdp-proxy-token, knoxsso, health,
admin, kt-kerberos, tokenexchange, cdp-proxy-api, homepage]. Waiting for: []
2024-01-03 12:55:45,614 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:monitorClusterConfigurationChanges(234)) -
Checking Cluster 1 @ https://ccycloud-1.smolnar.root.comops.site:7183 for
configuration changes...
2024-01-03 12:55:45,638 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:getRelevantEvents(465)) - Querying
configuration activation events from Cluster 1 @
https://ccycloud-1.smolnar.root.comops.site:7183 since 2024-01-03T12:55:21.944Z
2024-01-03 12:55:45,723 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:getRelevantEvents(474)) - There is no any
activation event found within the given time period
2024-01-03 12:55:50,723 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:monitorClusterConfigurationChanges(234)) -
Checking Cluster 1 @ https://ccycloud-1.smolnar.root.comops.site:7183 for
configuration changes...
2024-01-03 12:55:50,747 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:getRelevantEvents(465)) - Querying
configuration activation events from Cluster 1 @
https://ccycloud-1.smolnar.root.comops.site:7183 since 2024-01-03T12:55:35.639Z
2024-01-03 12:55:50,765 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:getRelevantEvents(474)) - There is no any
activation event found within the given time period
2024-01-03 12:55:55,766 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:monitorClusterConfigurationChanges(234)) -
Checking Cluster 1 @ https://ccycloud-1.smolnar.root.comops.site:7183 for
configuration changes...
2024-01-03 12:55:55,788 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:getRelevantEvents(465)) - Querying
configuration activation events from Cluster 1 @
https://ccycloud-1.smolnar.root.comops.site:7183 since 2024-01-03T12:55:40.747Z
2024-01-03 12:55:55,811 DEBUG discovery.cm
(PollingConfigurationAnalyzer.java:isRelevantEvent(494)) - Activation event
relevance: eae8da4f-4c7c-446a-a533-d7baf45216e2 = false (Restart / SUCCEEDED /
KNOX / false)
```
Issue Time Tracking
-------------------
Worklog Id: (was: 897886)
Remaining Estimate: 0h
Time Spent: 10m
> Postpone CM configuration change monitoring until the Knox GW is up&running
> ---------------------------------------------------------------------------
>
> Key: KNOX-2994
> URL: https://issues.apache.org/jira/browse/KNOX-2994
> Project: Apache Knox
> Issue Type: Improvement
> Components: cm-discovery, Server
> Affects Versions: 1.5.0, 2.0.0, 1.6.0
> Reporter: Sandor Molnar
> Assignee: Sandor Molnar
> Priority: Major
> Fix For: 2.1.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> As of now, Knox starts CM configuration change monitoring right away it
> starts the {{{}DefaultClusterConfigurationMonitorService{}}}. This action
> will trigger the {{PollingConfigurationAnalyzer}} even when descriptors with
> possible service discovery settings are not even initialized.
> My suggestion is to take advantage of the recently introduced
> {{GatewayStatusService}} and set the {{isActive}} flag to true based on the
> result of
> {{{}org.apache.knox.gateway.services.topology.impl.GatewayStatusService.status(){}}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)