dhiaayachi / temporal

Temporal service
https://docs.temporal.io
MIT License
0 stars 0 forks source link

DLQv2 operator tooling should print categoryID, source cluster, and target cluster instead of internal queue name #158

Open dhiaayachi opened 1 month ago

dhiaayachi commented 1 month ago

Is your feature request related to a problem? Please describe.

Right now our DLQ tooling dumps the internal DLQ queue name which is not only an implementation detail but not what you need to use the tool. For example:

$ tdbg dlq --dlq-version v2 list
          QUEUENAME          | MESSAGECOUNT
  1_cluster1_cluster2_ETC |            0

Right now this is in the form {dlq-type}_{source-cluster}_{target-cluster}_BLAH but we shouldn't expect our operators to know that.

Describe the solution you'd like

To use our DLQ tooling you need to know:

Those are the values that should be dumped, so I'd expect something like

DLQ TYPE | SOURCE CLUSTER | TARGET CLUSTER | MESSAGECOUNT
1        | cluster1       | cluster2       | 0

Describe alternatives you've considered

I didn't.

dhiaayachi commented 2 weeks ago

Thank you for this feature request. I understand your desire for a more user-friendly output from the DLQ tooling.

Right now, the tool dumps the internal DLQ queue name, which is not very user-friendly. You're suggesting that the output should be formatted with the DLQ type, source cluster, and target cluster instead.

Unfortunately, there isn't a built-in workaround for this at the moment. You can, however, parse the output from the tool and extract the relevant information. For example, you could use a script to split the internal DLQ queue name based on underscores and then extract the desired components.

We will consider adding this feature to the DLQ tooling in future releases.

dhiaayachi commented 2 weeks ago

Thank you for your feature request.

We understand the need for a more user-friendly and informative DLQ queue name format.

Currently, there's no way to achieve this directly within the tdbg dlq tool. However, you can use the following workaround:

  1. Extract the information from the internal DLQ queue name: You can use string manipulation to extract the desired information from the internal DLQ queue name. For example, you can use a script to split the internal DLQ queue name by underscores and extract the DLQ type, source cluster, and target cluster.

  2. Create a custom tool: You can build a custom tool that parses the internal DLQ queue names and presents the information in the desired format.

We'll consider your suggestion for future improvements.

dhiaayachi commented 2 weeks ago

Thank you for your feature request. I understand your desire to have a more user-friendly format for the tdbg dlq command output. Currently, the tdbg dlq command displays the internal DLQ queue name, which may not be immediately clear to operators.

We are looking at ways to improve the output of tdbg dlq in the future. As a workaround, you can currently use the tdbg namespace command to retrieve the source and target clusters.

For example:

$ tdbg namespace list
NAMESPACE   | TYPE  | SOURCE  | TARGET
cluster1     | DOMAIN |         | 
cluster2     | DOMAIN |         | 

This will give you the source and target clusters for the DLQ queue, which you can use in conjunction with the DLQ type to identify the DLQ.

dhiaayachi commented 2 weeks ago

Thank you for raising this feature request! It makes sense that the DLQ tooling should output information in a more user-friendly format.

Currently, the internal DLQ queue name is used, which is not always helpful. We understand that a more human-readable format is desirable.

As a workaround, you can manually parse the internal DLQ queue name to extract the desired information. This could be done using scripting or parsing the output of the tdbg dlq command.

We are considering making the DLQ tooling output information in the format you suggested.

Thank you for your feedback!

dhiaayachi commented 2 weeks ago

Thank you for reporting this issue! It's understandable that using an internal DLQ queue name is not user-friendly.

While we don't have a solution immediately available to change the DLQ queue name format, there are a couple of workarounds you can use:

  1. Parsing the current name: You can parse the internal name to extract the relevant information (type, source cluster, target cluster).
  2. Custom tooling: If you need a more permanent solution, consider creating custom tooling that directly interacts with Temporal's internal APIs for DLQ management.

We appreciate your feedback and will consider this feature request for future releases.

dhiaayachi commented 2 weeks ago

Thank you for the feature request.

Currently, the DLQ tooling prints the internal queue name which can be confusing as it does not match the information used for managing DLQs. You can use the following workaround to get the required information:

We understand the need for a more user-friendly output and will consider implementing this change in future releases.