Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-7615

ClusterManagementException message has important info missing in some cases

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • management
    • None

    Description

      When a ClusterManagementException is thrown and not handled the exceptions message and call stack gets printed out. But in some cases this message is not helpful.

      For example if something goes wrong in a server during a create operation the message just says something like: "Command was not successful on all servers". But one or more servers also report what actually went wrong which if the user was told they could fix the situation.

      Currently to get this you need to catch ClusterManagementException and call getResult on it (which says it is for internal use only). Then you would need to cast that ClusterManagementResult to a ClusterManagementRealizationResult that you can call getMemberStatuses and get the details of what went wrong.

      I think the message can be enhanced by having ClusterManagementRealizationResult override toString to include details of the members it failed on. Currently it does not override toString so it just calls the implementation in ClusterManagementResult.

      It seems like in the case of a partial failure, we should be throwing a ClusterManagementRealizationException instead of a ClusterManagementException. ClusterManagementRealizationException is a subclass of ClusterManagementException which adds to it getMemberStatuses.

      Attachments

        Activity

          People

            Unassigned Unassigned
            dschneider Darrel Schneider
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: