You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Barrett Oglesby (Jira)" <ji...@apache.org> on 2021/02/03 19:17:00 UTC

[jira] [Created] (GEODE-8916) The gfsh export stack traces command should include the locators

Barrett Oglesby created GEODE-8916:
--------------------------------------

             Summary: The gfsh export stack traces command should include the locators
                 Key: GEODE-8916
                 URL: https://issues.apache.org/jira/browse/GEODE-8916
             Project: Geode
          Issue Type: Bug
            Reporter: Barrett Oglesby


The gfsh export stack traces command should include the locators, but only includes the servers.

Here is an excerpt from a slack conversation showing the behavior:
{noformat}
Shelley Hughes-Godfrey  6:48 PM

I have a question about gfsh export stack-traces ...

"list members" shows me servers and locators ...

gfsh>list members
Member Count : 3
          Name            | Id
------------------------- | ----------------------------------------------------------------------------
gemfire-cluster-server-0  | xx.xx.x.xxx(gemfire-cluster-server-0:1)<v1>:41000
gemfire-cluster-locator-0 | xx.xx.x.xxx(gemfire-cluster-locator-0:1:locator)<ec><v0>:41000 [Coordinator]
gemfire-cluster-server-1  | xx.xx.x.xxx(gemfire-cluster-server-1:1)<v2>:41000

But, if I don't specify members on the export stack-traces command, I just get the stacks for the servers.

gfsh>export stack-traces
stack-trace(s) exported to file: /path/stacktrace_1612316330340
On host : ...

Specifying a locator returns "No Members found"

gfsh>export stack-traces --member=gemfire-cluster-locator-0
No Members Found

Barry Oglesby  2 hours ago
That command excludes the locators. It uses this method in ManagementUtils to get just the normal members:

public static Set<DistributedMember> getAllNormalMembers(InternalCache cache) {
  return new HashSet<DistributedMember>(
      cache.getDistributionManager().getNormalDistributionManagerIds());
}

Shelley Hughes-Godfrey  1 hour ago

So, I also ran "export logs" with --member=<locator>

And that works

gfsh>list members
Member Count : 3
          Name            | Id
------------------------- | ----------------------------------------------------------------------------
gemfire-cluster-server-0  | xx.xx.x.xxx(gemfire-cluster-server-0:1)<v2>:41000
gemfire-cluster-locator-0 | xx.xx.x.xxx(gemfire-cluster-locator-0:1:locator)<ec><v0>:41000 [Coordinator]
gemfire-cluster-server-1  | xx.xx.x.xxx(gemfire-cluster-server-1:1)<v1>:41000

gfsh>export logs --member=gemfire-cluster-locator-0
Logs exported to the connected member's file system: /path/exportedLogs_1612374651595.zip

Barry Oglesby  44 minutes ago

The ExportLogsCommand gets all the members including the locators:

Set<DistributedMember> targetMembers = getMembersIncludingLocators(groups, memberIds);

I tried a test by changing ExportStackTraceCommand.exportStackTrace:

From:

Set<DistributedMember> targetMembers = getMembers(group, memberNameOrId);

To:

Set<DistributedMember> targetMembers = getMembersIncludingLocators(group, memberNameOrId);

And the locator stack was exported:

*** Stack-trace for member locator at 2021/02/03 10:01:28.824 ***
{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)