n8n-io / n8n

Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
https://n8n.io
Other
45.52k stars 6.27k forks source link

Timestamps wrong in execution log after on n8n >1.50.2 #10374

Open nirkons opened 1 month ago

nirkons commented 1 month ago

Bug Description

When I go to executions in any of my scenarios, the timestamps for ALL executions are the same AND they get updated every few seconds to the current timestamp (also referring to past executions not only new ones)

To Reproduce

Open any scenario, go to executions, look at timestamps. (Also happens in incognito without cache)

Expected behavior

Issue: image image

Expected behaviour: image

Operating System

docker

n8n Version

Higher than 1.50.2

Node.js Version

docker

Database

PostgreSQL

Execution mode

main (default)

Joffcom commented 1 month ago

Hey @nirkons,

We have created an internal ticket to look into this which we will be tracking as "GHC-152"

Joffcom commented 1 month ago

Hey @nirkons,

Can you share your full n8n configuration? I have just checked my home instance which is on 1.54.0 and using Postgres and this doesn't appear to be an issue.

image

nirkons commented 1 month ago
version: "3.7"

services:
  traefik:
    image: "traefik:latest"
    restart: always
    command:
      - "--api=true"
      #- "--api.dashboard=true"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entrypoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"      
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.mydnschallenge.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.mydnschallenge.acme.storage=/letsencrypt/acme.json"
      - "--certificatesresolvers.mydnschallenge.acme.dnschallenge=true"
      - "--certificatesresolvers.mydnschallenge.acme.dnschallenge.provider=azure"
      - "--certificatesresolvers.mydnschallenge.acme.dnschallenge.delayBeforeCheck=30"
      - "--certificatesresolvers.mydnschallenge.acme.dnschallenge.resolvers=1.1.1.1:53,8.8.8.8:53"
    ports:
      - "80:80"
      - "443:443"
      - "8888:8888"
    volumes:
      - traefik_data:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
      - AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
      - AZURE_SUBSCRIPTION_ID=${AZURE_SUBSCRIPTION_ID}
      - AZURE_TENANT_ID=${AZURE_TENANT_ID}
      - AZURE_RESOURCE_GROUP=${AZURE_RESOURCE_GROUP}
      - AZURE_DNS_ZONE=${AZURE_DNS_ZONE}

  n8n:
    image: docker.n8n.io/n8nio/n8n:1.50.2
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
      - traefik.http.routers.n8n.tls=true
      - traefik.http.routers.n8n.entrypoints=web,websecure
      - traefik.http.routers.n8n.tls.certresolver=mydnschallenge
      - traefik.http.middlewares.n8n.headers.SSLRedirect=true
      - traefik.http.middlewares.n8n.headers.STSSeconds=315360000
      - traefik.http.middlewares.n8n.headers.browserXSSFilter=true
      - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
      - traefik.http.middlewares.n8n.headers.forceSTSHeader=true
      - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
      - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
      - traefik.http.middlewares.n8n.headers.STSPreload=true
      - traefik.http.routers.n8n.middlewares=n8n@docker
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - EXECUTIONS_DATA_PRUNE=false
      - EXECUTIONS_DATA_PRUNE_MAX_COUNT=0
      - NODE_FUNCTION_ALLOW_BUILTIN=*
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=${POSTGRES_HOST}
      - DB_POSTGRESDB_PORT=${POSTGRES_PORT}
      - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
      - DB_POSTGRESDB_USER=${POSTGRES_USER}
      - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
      - DB_POSTGRESDB_SSL_CA=${POSTGRES_SSL_CA}
      - DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=false
      #- DB_POSTGRESDB_SSL_CERT=${POSTGRES_SSL_CERT}
    volumes:
      - n8n_data:/home/node/.n8n
      - /certs:/etc/ssl/certs
volumes:
  traefik_data:
    external: true
  n8n_data:
    external: true
nirkons commented 1 month ago

on 1.50.2 it doesnt happen (reverting fixes the issue), any newer version causes the issue

Joffcom commented 1 month ago

@nirkons that is interesting, I am not sure why I am not able to reproduce it I would expect something like that to impact all versions. Did you try 1.54.0 as well?

I will pop the dev ticket into the queue for one of the core engineers to pick up.

nirkons commented 1 month ago

Yes I also tried 1.54.0 and same thing happens, I have no idea why honestly, but at least its consistently fixed when reverting to 1.50.2

nirkons commented 1 month ago

One thing I noticed, is that you can see that not only are the timestamps all messed up, but it no longer mentioned the execution duration, you can see in the screenshots it just says "Succeeded" - maybe that will provide a clue as to whats going on there

Joffcom commented 1 month ago

@nirkons What timezone is your workflows set to use as I can't see an option set in your env, What is the timezone for your database as well?