I have ESDB v22 with EnableAtomPubOverHttp: true, because I need to support existing apps that are using HTTP API to get data from ESDB. Everything works fine except for transient projections. One of the apps is creating transient projection, setting it to enabled state, and then tries to read statistics in order to start processing data as soon as projection is ready.
But this does not work because request for {transient_projection_url}/statistics fails with ECONNREFUSED error, which would imply that app is unable to communicate with ESDB HTTP Api, but it can because just on a line before it created transient projection.
Further more when I go to ESDB web interface to check for projections I can see that newly created transient projection is in “Running” mode, but when I try to get it’s statistics from app request fails with mentioned ECONNREFUSED error. Just to mention this was working fine with old ESDB v5.
An advice or help would be appreciated. Thanks.
Just a hunch there , are you passing credentials ?
Yes, I’m setting authorization header, and it gets through because it creates transient projection in the first step. But when I request for statistics for it (to get information that projection is completed and ready) it fails… When I open web interface I can see transient projection created and has “Running” state, and after it gets completed to 100% it changes state to “Completed/Stopped/Writing results”. Pseudo code is:
- create transient projection
${ESDB_URL}/projections/transient?emit=no&checkpoints=no&enabled=true
[OK] - every 5 seconds check if projection has “Completed” in status retrieved from
${transientProjectionUrl}/statistics
[FAILS] - get content of transient projection from state
${transientProjectionUrl}/state
[DOESN’T GET HERE]
could you post a reproduction as comment here ?
the projection code would be helpful as well
BTW, HTTP API has no relation to the AtomPub setting. Disabling AtomPub doesn’t disable the HTTP API, it only disables the AtomPub feed endpoint. That’s why most of the things in the DB UI stop working when AtomPub is disabled.