java.lang.Object | |
↳ | com.microstrategy.webapi.ACMSessionDistributionHelper |
ACMSessionDistributionHelper is a collection of methods to help decide where to create the sessions in the Intelligence Server Cluster
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ACMSessionDistributionHelper() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
static List<String> |
getActiveProjectsOnNode(IDSSXMLClusterNode iClusterNode)
Get the active projects on a Node@return
| ||||||||||
static List<IDSSXMLClusterNode> |
getAllNodesInCluster(IDSSXMLClusterNode iNode)
getAllNodesInCluster returns all the nodes in the cluster, it can be empty
Each time the function gets called, the cluster membership will get updated based on the latest information
in RefreshClusterMembership.
| ||||||||||
static List<IDSSXMLClusterNode> |
getAllNodesInCluster(IDSSXMLSessionId iServerSession)
getAllNodesInCluster returns all the nodes in the cluster, it can be empty
Each time the function gets called, the cluster membership will get updated based on the latest information
in RefreshClusterMembership.
| ||||||||||
static List<IDSSXMLClusterNode> |
getAllNodesInCluster(String iNodeName)
getAllNodesInCluster returns all the nodes in the cluster, it can be empty
Each time the function gets called, the cluster membership will get updated based on the latest information
in RefreshClusterMembership.
| ||||||||||
static List<IDSSXMLClusterNode> |
getAllNodesInCluster(IDSSXMLCluster iCluster)
getAllNodesInCluster returns all the nodes in the cluster, it can be empty@return
| ||||||||||
static List<IDSSXMLClusterNode> |
getAllNodesInCluster(IDSSXMLServerSession iServerSession)
Each time the function gets called, the cluster membership will get updated based on the latest information
in RefreshClusterMembership.
| ||||||||||
static List<String> |
getCommonElements(List<String> iPids1, List<String> iPids2)
getCommonElements return the common elements in two lists
| ||||||||||
static IDSSXMLClusterNode |
getNodeInClusterByName(List<IDSSXMLClusterNode> iClusterNodes, String iServerName, int iPort)
getNodeInClusterByName returns the IDSSXMLClusterNode by server name and port
It returns null if cannot find the node@return
| ||||||||||
static IDSSXMLClusterNode |
getNodeLeastAdjustLoad(List<IDSSXMLClusterNode> iClusterNodes)
Get the node with least adjust node in the list of cluster nodes@return
| ||||||||||
static IDSSXMLClusterNode |
getNodeLeastAdjustLoadProject(List<IDSSXMLClusterNode> iClusterNodes, String iPid)
getNodeLeastAdjustLoadProject returns the node
(1) loaded with the project and the project is active
(2) the node has least adjusted load@return
| ||||||||||
static IDSSXMLClusterNode |
getNodeMaxActiveProjects(List<IDSSXMLClusterNode> iClusterNodes)
getNodeMaxActiveProjects finds the node that has the most active projects (not idle).
| ||||||||||
static Map<IDSSXMLClusterNode, List<String>> |
getNodeProjectsForCrossProjectOperations(IDSSXMLSessionId.IMasterSessionId iMasterSessionId, List<IDSSXMLClusterNode> iClusterNodes, List<String> iPids, boolean useFence)
Get the node and the projects on the node for cross project operations@return
| ||||||||||
static List<IDSSXMLClusterNode> |
getNodesFenceTierZero(List<ACMSessionDistributionHelper.ProjectFenceTier> iPidsFenceTier)
getNodesFenceTierZero gets the list of unique cluster nodes that are tier 0 for the user.
| ||||||||||
static List<IDSSXMLClusterNode> |
getNodesLoadedProject(List<IDSSXMLClusterNode> iClusterNodes, String iPid)
getNodesLoadedProject returns the list of nodes loaded with the project and the project is active@return
| ||||||||||
static List<IDSSXMLClusterNode> |
getNodesSameAdjustedLoad(List<IDSSXMLClusterNode> iClusterNodes, double iAdjustedLoad)
getNodesSameAdjustedLoad returns the list of the nodes with the same adjusted load
It can be empty
| ||||||||||
static List<IDSSXMLClusterNode> |
getNodesSameAdjustedLoadProject(List<IDSSXMLClusterNode> iClusterNodes, double iAdjustedLoad, String iPid)
getNodesSameAdjustedLoadProject returns a list of nodes with the same adjusted load and loaded with the
project and the project is active.
| ||||||||||
static List<IDSSXMLClusterNode> |
getNodesToConnectForProject(IDSSXMLSessionId.IMasterSessionId iMasterSessionId, String iProjectID, List<IDSSXMLClusterNode> iClusterNodes, boolean useFence)
getNodesToConnectForProject returns the list of nodes able to create the project sessions to@return
| ||||||||||
static List<String> |
getUniqueActiveProjectsInNodes(List<IDSSXMLClusterNode> iClusterNodes)
Get the unique projects in the list of cluster nodes@return
| ||||||||||
static boolean |
getUserAffinityFlag()
getUserAffinityFlag return the user affinity flag specified in IServer server definition
| ||||||||||
static List<IDSSXMLClusterNode> |
getUserFenceInNodes(List<ACMSessionDistributionHelper.ProjectFenceTier> iPidFenceTiers)
getUserFenceInNodes gets the list of unique cluster nodes that are tier 0 for the user.
| ||||||||||
static List<ACMSessionDistributionHelper.ProjectFenceTier> |
getUserProjectsFenceTier(String iConfigSession, List<IDSSXMLClusterNode> iNodesInCluster, boolean useFence)
getUserProjectsFenceTier gets all the fencing tiers for all the IServers for the user, if fencing is on.
| ||||||||||
static List<ACMSessionDistributionHelper.NodeConfigPids> |
sortNodesByPidNum(Map<IDSSXMLClusterNode, List<String>> lNodesConfigPids)
sortNodesByPidNum returns the map by sorting the nodes with number of projects in accending order
| ||||||||||
static ACMClusterInfo |
userHasMasterSession(String iUserLogin)
userHasMasterSession returns the user master session connected to the node if existing
otherwise, return null
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Get the active projects on a Node@return
MSTRWebAPIException |
---|
getAllNodesInCluster returns all the nodes in the cluster, it can be empty Each time the function gets called, the cluster membership will get updated based on the latest information in RefreshClusterMembership. It is recommended to only call the function once per decision making@return
MSTRWebAPIException |
---|
getAllNodesInCluster returns all the nodes in the cluster, it can be empty Each time the function gets called, the cluster membership will get updated based on the latest information in RefreshClusterMembership. It is recommended to only call the function once per decision making@return
MSTRWebAPIException |
---|
getAllNodesInCluster returns all the nodes in the cluster, it can be empty Each time the function gets called, the cluster membership will get updated based on the latest information in RefreshClusterMembership. It is recommended to only call the function once per decision making@return
MSTRWebAPIException |
---|
getAllNodesInCluster returns all the nodes in the cluster, it can be empty@return
MSTRWebAPIException |
---|
Each time the function gets called, the cluster membership will get updated based on the latest information in RefreshClusterMembership. It is recommended to only call the function once per decision making getAllNodesInCluster returns all the nodes in the cluster, it can be empty@return
MSTRWebAPIException |
---|
getCommonElements return the common elements in two lists
getNodeInClusterByName returns the IDSSXMLClusterNode by server name and port It returns null if cannot find the node@return
MSTRWebAPIException |
---|
Get the node with least adjust node in the list of cluster nodes@return
MSTRWebAPIException |
---|
getNodeLeastAdjustLoadProject returns the node (1) loaded with the project and the project is active (2) the node has least adjusted load@return
MSTRWebAPIException |
---|
getNodeMaxActiveProjects finds the node that has the most active projects (not idle). If multiple, choose random Note, this method does not use adjusted load@return
MSTRWebAPIException |
---|
Get the node and the projects on the node for cross project operations@return
iMasterSessionId | - master session id for the cross project operations |
---|---|
iClusterNodes | - the list of nodes to allocate |
iPids | - the list of projects to allocate |
MSTRWebAPIException |
---|
getNodesFenceTierZero gets the list of unique cluster nodes that are tier 0 for the user. Guaranteed to not return null; the list may be empty@return
MSTRWebAPIException |
---|
getNodesLoadedProject returns the list of nodes loaded with the project and the project is active@return
MSTRWebAPIException |
---|
getNodesSameAdjustedLoad returns the list of the nodes with the same adjusted load It can be empty
getNodesSameAdjustedLoadProject returns a list of nodes with the same adjusted load and loaded with the project and the project is active. The list can be empty@return
MSTRWebAPIException |
---|
getNodesToConnectForProject returns the list of nodes able to create the project sessions to@return
MSTRWebAPIException |
---|
Get the unique projects in the list of cluster nodes@return
MSTRWebAPIException |
---|
getUserAffinityFlag return the user affinity flag specified in IServer server definition
getUserFenceInNodes gets the list of unique cluster nodes that are tier 0 for the user. Guaranteed to not return null; the list may be empty@return
MSTRWebAPIException |
---|
getUserProjectsFenceTier gets all the fencing tiers for all the IServers for the user, if fencing is on. If fencing is off then all IServers will be returned with tier 0. May return an empty list@return
MSTRWebAPIException |
---|
sortNodesByPidNum returns the map by sorting the nodes with number of projects in accending order
userHasMasterSession returns the user master session connected to the node if existing otherwise, return null
iUserLogin | - user login |
---|