Commit graph

4138 commits

Author SHA1 Message Date
Tw
5ce0ed4d05
fix: prevent leakage of stale async_limiter's pid (#916)
the pid of async_limiter in the query's context will be invalid because we stop it
at the end of reading. So clear it up from query's context before returning back.

BTW, I found this issue according to the following crash:

```
[error] GenServer #PID<0.647.0> terminating
** (stop) exited in: GenServer.call(#PID<0.648.0>, {:get_and_update, #Function<0.21809672/1 in Ash.Actions.Read.AsyncLimiter.async_or_inline/3>}, 5000)
    ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
    (elixir 1.16.0) lib/gen_server.ex:1114: GenServer.call/3
    (ash 2.19.3) lib/ash/actions/read/async_limiter.ex:26: Ash.Actions.Read.AsyncLimiter.async_or_inline/3
    (elixir 1.16.0) lib/enum.ex:1708: anonymous fn/3 in Enum.map/2
    (elixir 1.16.0) lib/enum.ex:4399: anonymous fn/3 in Enum.map/2
    (elixir 1.16.0) lib/stream.ex:1816: anonymous fn/3 in Enumerable.Stream.reduce/3
    (elixir 1.16.0) lib/enum.ex:4842: Enumerable.List.reduce/3
    (elixir 1.16.0) lib/stream.ex:1828: Enumerable.Stream.do_each/4
    (elixir 1.16.0) lib/enum.ex:4399: Enum.map/2
    (ash 2.19.3) lib/ash/actions/read/relationships.ex:39: Ash.Actions.Read.Relationships.fetch_related_records/2
    (ash 2.19.3) lib/ash/actions/read/relationships.ex:23: Ash.Actions.Read.Relationships.load/3
    (ash 2.19.3) lib/ash/actions/read/read.ex:237: Ash.Actions.Read.do_run/3
    (ash 2.19.3) lib/ash/actions/read/read.ex:49: anonymous fn/3 in Ash.Actions.Read.run/3
    (ash 2.19.3) lib/ash/actions/read/read.ex:48: Ash.Actions.Read.run/3
    (ash 2.19.3) lib/ash/api/api.ex:2301: Ash.Api.page/3
    (ash 2.19.3) lib/ash/api/api.ex:2258: Ash.Api.page!/3
...
```

Signed-off-by: Tw <tw19881113@gmail.com>
2024-02-27 09:03:46 -05:00
Zach Daniel
f9af1307a1 chore: release version v2.19.9 2024-02-26 13:07:55 -05:00
Zach Daniel
3b89f8fbaa chore: fix dialyzer 2024-02-26 13:04:43 -05:00
Zach Daniel
1a99098f52 fix: ensure that policies are applied to aggregates referenced in calculations 2024-02-26 13:00:12 -05:00
Zach Daniel
e238804b46 fix: ensure records are returned from bulk actions in atomic upgrades 2024-02-25 21:06:10 -05:00
Zach Daniel
93ae8f17a5 fix: handle small logic error in notification sending for bulk actions 2024-02-25 16:13:41 -05:00
Zach Daniel
26871fa552 chore: release version v2.19.8 2024-02-25 08:27:12 -05:00
Zach Daniel
0e1fe24f46 fix: ensure actor context is set in filter 2024-02-25 08:24:19 -05:00
Zach Daniel
eab194fac5 fix: properly handle limit/offset for aggregates 2024-02-24 20:21:13 -05:00
Zach Daniel
adbac1b7da improvement: don't duplicate base filter in aggregates 2024-02-24 19:24:51 -05:00
Zach Daniel
993355f938 fix: don't use Aggregate.new for builtin aggregates 2024-02-24 19:17:35 -05:00
Zach Daniel
4d39ab8a80 fix: merge root query into aggregate queries, don't apply both 2024-02-24 18:10:26 -05:00
Zach Daniel
75e873fc0a chore: release version v2.19.7 2024-02-24 09:31:16 -05:00
Zach Daniel
240e809437 fix: return proper pattern from select builtin change 2024-02-24 09:27:12 -05:00
Zach Daniel
02bf419124 chore: release version v2.19.6 2024-02-23 19:21:12 -05:00
Zach Daniel
80be80c151 fix: properly catch errors in atomic changeset casting 2024-02-23 19:16:31 -05:00
Zach Daniel
0fd4e36b2e add test for read_one and limit 2024-02-23 08:46:17 -05:00
Zach Daniel
81fee97306 fix: use Ash.Changeset.set_context on changesets 2024-02-22 17:39:52 -05:00
Zach Daniel
4d3cdd8dec chore: release version v2.19.5 2024-02-22 10:58:45 -05:00
Zach Daniel
825a3a945d fix: properly fail early on missing actor in policies
fix: handle `:continue` case in authorizer
fix: validations run regardless of if the relevant fields are changing
2024-02-22 10:53:32 -05:00
Zach Daniel
c08aa2507b chore: detect a resource given as a module 2024-02-22 08:11:49 -05:00
Zach Daniel
723aab0f6f chore: release version v2.19.4 2024-02-22 08:02:21 -05:00
Zach Daniel
701f9b4cc6 fix: honor soft destroys for atomic bulk destroys 2024-02-22 08:02:01 -05:00
Zach Daniel
7b5a3267be chore: walk back change to set context on query 2024-02-21 08:17:24 -05:00
Zach Daniel
c36f3ba2ab fix: properly set context on query and changeset 2024-02-21 08:16:23 -05:00
Zach Daniel
3027afe5fc fix: pass correct options into Api.stream! for bulk_destroy 2024-02-21 08:09:20 -05:00
Robert Graff
8fd0106528
test: add test for bulk_destroy with policy and query (#908) 2024-02-21 08:00:20 -05:00
Zach Daniel
eefe5b11ba ci: add ash_oban to test-subprojects 2024-02-20 14:05:00 -05:00
Zach Daniel
cfe5df3241 ci: create db for ecto_postgres 2024-02-20 13:54:54 -05:00
Zach Daniel
8785c0f629 ci: add options for postgres CI 2024-02-20 13:50:34 -05:00
Zach Daniel
9619c2fbda Revert "fix: check attributes after arguments for present?"
This reverts commit 85f8af2f8b.
2024-02-19 17:58:53 -05:00
Zach Daniel
85f8af2f8b fix: check attributes after arguments for present? 2024-02-19 17:53:17 -05:00
Dmitry Maganov
08008102d0
fix: correct for_read calls in update and destroy actions (#907) 2024-02-19 09:52:21 -05:00
Zach Daniel
ce7db8c987 chore: release version v2.19.3 2024-02-16 21:25:46 -05:00
Zach Daniel
944f69b16e fix: properly annotate run_flow's recursive DSL tag
docs: update spark & docs
2024-02-16 21:25:18 -05:00
Jechol Lee
3a353c2fa0
test: Reproduce run_flow is not counted as step inside map, branch (#902) 2024-02-16 20:21:22 -05:00
Zach Daniel
95b7aa8e3b chore: release version v2.19.2 2024-02-16 20:18:27 -05:00
Zach Daniel
3e82d05edb fix: ensure that to-many relationships are loaded as lists 2024-02-16 20:17:59 -05:00
Zach Daniel
e50326cb56 chore: release version v2.19.1 2024-02-16 17:57:11 -05:00
Zach Daniel
a06912f9b0 fix: honor not_found_error? in read_one
improvement: pass `tenant` to context in custom changes
improvement: `Ash.context_to_opts` now checks for a `tenant`
2024-02-16 17:56:23 -05:00
Jechol Lee
b4ade107cd
test: Reproduce flow custom step has no tenant in context (#901) 2024-02-16 17:47:54 -05:00
Zach Daniel
5253c3c3f2 docs: update manual action cheatsheets 2024-02-16 16:52:59 -05:00
Zach Daniel
31714e1979 docs: fix docs for manual reads
fixes #903
2024-02-16 16:10:07 -05:00
Zach Daniel
7d099c97fd chore: release version v2.19.0 2024-02-16 16:06:53 -05:00
Dmitry Maganov
b1b6ee96df
fix: remove unneeded code for calculations in a filter (#904) 2024-02-16 16:05:40 -05:00
Zach Daniel
3924ddfa45 improvement: handle stale update/destroys 2024-02-15 23:48:45 -05:00
Zach Daniel
f847f0d971 test: update test w/ not_found_error? fix 2024-02-15 23:38:52 -05:00
Zach Daniel
610b785fd8 fix: restore not_found_error? behavior in Ash.Flow 2024-02-15 23:34:38 -05:00
Zach Daniel
ba2ab31f8d test: correct flow tests 2024-02-15 23:30:09 -05:00
Jechol Lee
aa7278fe79
test: Reproducing a bug where the flow does not honor tenant (#900) 2024-02-15 23:26:44 -05:00