datomic

Dimitar Uzunov 2025-11-27T10:23:03.931039Z

Hello! We started receiving a lot of these from the transactor: Can someone give us a pointer on what they might mean? We believe it might be some sort of backpressure from storage although we haven’t found any metrics to confirm that yet (not CPU, Memory or IOPS); perhaps there are other storage metrics we should look at?

Dimitar Uzunov 2025-11-27T10:23:50.436979Z

For search indexability: "Update failed"

Dave Liepmann 2025-11-27T10:39:22.758169Z

Is there an associated stacktrace you can share?

Dimitar Uzunov 2025-11-27T11:01:43.908659Z

hi, there is no stacktrace around these messages

robert-stuttaford 2025-11-27T11:30:27.057369Z

for context, we switched from AWS + Aurora postgres to Azure + postgres this weekend past

👍 1
robert-stuttaford 2025-11-27T12:01:20.617739Z

we are seeing transaction timeouts which correlate exactly with these transactor logs. our peer tx timeout is 20 seconds

robert-stuttaford 2025-11-27T12:02:04.840719Z

we've assessed several of these transactions and they are very limited in scope in terms of applicable datoms, in the 10s to 100s at most

Dave Liepmann 2025-11-27T13:13:36.545959Z

Hm. Any transaction functions involved?

Dimitar Uzunov 2025-11-27T13:17:00.424139Z

I don’t believe there are

Dimitar Uzunov 2025-11-27T13:22:44.864499Z

oh, there are cases with transaction functions and without

Chris Etheridge 2025-11-27T13:22:45.213549Z

the peers throw a generic timeout exception:

clojure.lang.ExceptionInfo: :db.error/transaction-timeout Transaction timed out.
    at datomic.error$raise.invokeStatic(error.clj:70)
    at datomic.error$raise.invoke(error.clj:58)
    at datomic.error$raise.invokeStatic(error.clj:68)
    at datomic.error$raise.invoke(error.clj:58)
    at datomic.peer$await_tx_result.invokeStatic(peer.clj:79)
    at datomic.peer$await_tx_result.invoke(peer.clj:70)
    at datomic.peer.Connection.transact(peer.clj:315)
    at datomic.api$transact.invokeStatic(api.clj:107)
    at datomic.api$transact.doInvoke(api.clj:105)
    at clojure.lang.RestFn.invoke(RestFn.java:467)

👍 1
Dave Liepmann 2025-11-27T13:34:27.837689Z

Unfortunately I have to run right now. It's worth taking a close look at those transaction functions. Happy to hop on a short call at 15:00 (UTC+1)

Dimitar Uzunov 2025-11-27T13:36:03.955109Z

Thanks I will be around for the call :)

Dimitar Uzunov 2025-11-27T13:58:54.960619Z

2025-11-27T12:52:14+00:00  INFO datomic.update {:message "Update failed", :pid 1636, :tid 137}

Dimitar Uzunov 2025-11-27T13:59:01.747289Z

same :pid and :tid I wonder what :tid stands for, perhaps thread?

Joe Lane 2025-11-27T15:45:24.438639Z

Please send logs to datomic support

Joe Lane 2025-11-27T15:51:27.479309Z

Along with transactor properties file and any details about how you are configuring your pg driver and the azure pg instance

Dimitar Uzunov 2025-11-27T16:01:46.842439Z

thank you, sent an email