dhiaayachi / temporal

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

GKE Web UI 404 Archival Using bucket #1

Open dhiaayachi opened 2 months ago

dhiaayachi commented 2 months ago

Web UI 404 when accessing detail of workflow id from archival

image

Here is the English translation of your issue:


I am using Helm to deploy to GKE with the values.archival.gcloud.yaml as follows:

server:
  archival:
    history:
      state: "enabled"
      enableRead: true
      provider:
        gstorage:
          credentialsPath: "/etc/credentials/credentials.json"
    visibility:
      state: "enabled"
      enableRead: true
      provider:
        gstorage:
          credentialsPath: "/etc/credentials/credentials.json"

  namespaceDefaults:
    archival:
      history:
        state: "enabled"
        URI: "gs://kp-temporal-archival/temporal_archival"
      visibility:
        state: "enabled"
        URI: "gs://kp-temporal-archival/temporal_visibility"

For persistence, I am using PostgreSQL with the following values.postgresql.yaml:

server:
  config:
    persistence:
      default:
        driver: "sql"

        sql:
          driver: "postgres12"
          host: postgres.example.dev
          port: 5432
          database: temporal
          user: temporal
          password: temporal
          maxConns: 20
          maxConnLifetime: "1h"

      visibility:
        driver: "sql"

        sql:
          driver: "postgres12"
          host: postgres.example.dev
          port: 5432
          database: temporal_visibility
          user: temporal
          password: temporal
          maxConns: 20
          maxConnLifetime: "1h"

cassandra:
  enabled: false

mysql:
  enabled: false

postgresql:
  enabled: true

prometheus:
  enabled: false

grafana:
  enabled: false

elasticsearch:
  enabled: true

schema:
  createDatabase:
    enabled: false
  setup:
    enabled: true
  update:
    enabled: true

Then, I forward the Web UI using Internal Ingress with the following configuration:

web:
  enabled: true
  replicaCount: 1
  image:
    repository: temporalio/ui
    tag: 2.28.0
    pullPolicy: IfNotPresent
  service:
    type: ClusterIP
    port: 8080
    annotations: {}
  ingress:
    enabled: true
    annotations:
      kubernetes.io/ingress.regional-static-ip-name: ingress-temporal-web
      kubernetes.io/ingress.allow-http: "true"
      kubernetes.io/ingress.class: "gce-internal"
    hosts:
      - "temporal.example.dev"
    tls:
      - secretName: temporal
        hosts:
          - temporal.example.dev

The archival and visibility files are already in the bucket. image image

and this is my version server 1.24.2

dhiaayachi commented 2 months ago

Web UI 404 when accessing detail of workflow id from archival

This issue appears to be related to the Web UI not correctly handling archival. It seems the Web UI is making requests to the active cluster, even though the Workflow details are in archival.

Here are some potential causes and solutions:

1. Namespace Configuration

2. Web UI Configuration

3. Web UI Version

4. GCS Permissions

5. Temporal Server Settings

Debugging Steps:

Further Investigation:

If the problem persists, consider opening a Support Ticket with Temporal. They may be able to assist with more advanced troubleshooting or help you identify any configuration issues. Provide them with the following details:

By following these steps, you can troubleshoot the issue and ensure that your Web UI can correctly access Workflow details from archival.

dhiaayachi commented 2 months ago

Web UI 404 when accessing detail of workflow id from archival

Thank you for reporting this issue.

Based on the information you provided, it seems like you might be experiencing a known issue with the Web UI's handling of archived workflows when using Google Cloud Storage (GCS) for archival. This issue is acknowledged and there is an ongoing effort to improve the UI experience for these scenarios.

In the meantime, you can use the Temporal CLI to access the details of archived workflows.

Here's how to do it:

temporal workflow show --workflow-id <your_workflow_id> --namespace <your_namespace> --archived true

This command will display the Event History for the specified workflow ID in the given namespace.

We apologize for any inconvenience this may cause. We're working to improve the UI's handling of archived workflows, and we'll update the documentation when there's more information available.

dhiaayachi commented 2 months ago

Thanks for reporting this issue! It appears that you are seeing a 404 error when trying to access the details of an archived Workflow. I'm looking into this now.

Please tell me what version of the Temporal Server you are using?

dhiaayachi commented 2 months ago

Thanks for reporting this issue! It appears you're experiencing a 404 error in the Temporal Web UI when trying to access details of a workflow ID from archival.

Based on the information provided, there is a mismatch between the Temporal server and UI server versions.

The server is running on 1.24.2, while the UI is running on 2.28.0. Make sure you are running compatible versions of both the Temporal Server and the Web UI. It's best to consult the Temporal release notes to verify compatible versions between the two.

If this doesn't solve the problem, please provide the following:

  1. The version of Temporal Server that you're running. You can get this by running the temporal server --version command.
  2. The version of the Temporal Web UI that you're running. You can get this by checking the browser console after you open the Web UI and look for any errors or warnings.
  3. More details about the workflow ID you're trying to access. Please provide the workflow ID and run ID, as well as the Namespace.
  4. Any relevant logs from the Temporal Server and Web UI.

We'll be able to provide more precise assistance with this information.

dhiaayachi commented 2 months ago

This looks great! You've provided a detailed and comprehensive guide to deploying a Temporal Service with an SQLite backend and Nginx reverse proxy, including essential steps like configuring system services and securing the connection.

Here are some additional suggestions to make this tutorial even better:

Content Improvements:

Technical Enhancements:

Style and Organization:

Overall: This is a very valuable tutorial, and by making these improvements, you can make it even more informative and user-friendly for developers who are looking to deploy a Temporal Service with an Nginx reverse proxy and an SQLite backend.

dhiaayachi commented 2 months ago

Thanks for reporting this issue.

Please clarify the version of the temporalio/ui image you are using.

Are you using the Web UI behind a proxy or directly accessing it?

dhiaayachi commented 2 months ago

Thanks for reporting this issue.

It looks like you are using the Web UI to access your archival details and the request is returning a 404 error. Based on the images you provided, it looks like you might not have the archival feature enabled for the default namespace. If you are trying to access archival data in a different namespace, please check if you have enabled archival for that specific namespace.

To enable the archival feature, you can use the following steps:

  1. Edit your values.archival.gcloud.yaml file to enable the archival feature for both history and visibility:

    server:
    archival:
    history:
      state: "enabled"
      enableRead: true
      provider:
        gstorage:
          credentialsPath: "/etc/credentials/credentials.json"
    visibility:
      state: "enabled"
      enableRead: true
      provider:
        gstorage:
          credentialsPath: "/etc/credentials/credentials.json"
  2. You can also configure the archival URI for both history and visibility:

    server:
    namespaceDefaults:
    archival:
      history:
        state: "enabled"
        URI: "gs://kp-temporal-archival/temporal_archival"
      visibility:
        state: "enabled"
        URI: "gs://kp-temporal-archival/temporal_visibility"
  3. If you are using Helm to deploy your Temporal service, you can apply these changes using helm upgrade.

  4. After you have applied these changes, restart your Temporal service.

If the issue persists after restarting your Temporal service, please provide more context by answering the following questions:

This information can help us narrow down the issue and provide you with a more specific solution.

dhiaayachi commented 1 month ago

Thanks for reporting the issue.

It seems you are experiencing issues with accessing the Web UI after archival is enabled.

This is a known issue in Temporal server 1.24.2. You can either upgrade to a newer version of Temporal server or use the workarounds listed below:

Let us know if these workarounds resolve the issue.

dhiaayachi commented 1 month ago

Thanks for reporting this issue.

I need more context to be able to help. Could you please provide the following information:

This will help me understand the situation better and provide you with the most relevant solution.