Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
d9e782c1
Commit
d9e782c1
authored
Apr 23, 2021
by
Haelwenn
Browse files
Merge branch 'fix/delete_activities_timeout' into 'develop'
Fix pleroma.user delete_activities mix task See merge request
!3394
parents
b050adb5
d7a71a27
Pipeline
#35915
passed with stages
in 81 minutes and 19 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
CHANGELOG.md
View file @
d9e782c1
...
...
@@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-
Uploading custom instance thumbnail via AdminAPI/AdminFE generated invalid URL to the image
-
Applying ConcurrentLimiter settings via AdminAPI
-
User login failures if their
`notification_settings`
were in a NULL state.
-
Mix task
`pleroma.user delete_activities`
query transaction timeout is now :infinity
## [2.3.0] - 2020-03-01
...
...
lib/pleroma/utils.ex
View file @
d9e782c1
...
...
@@ -11,6 +11,8 @@ defmodule Pleroma.Utils do
eperm epipe erange erofs espipe esrch estale etxtbsy exdev
)a
@repo_timeout
Pleroma
.
Config
.
get
([
Pleroma
.
Repo
,
:timeout
],
15_000
)
def
compile_dir
(
dir
)
when
is_binary
(
dir
)
do
dir
|>
File
.
ls!
()
...
...
@@ -63,4 +65,21 @@ def posix_error_message(code) when code in @posix_error_codes do
end
def
posix_error_message
(
_
),
do
:
""
@doc
"""
Returns [timeout: integer] suitable for passing as an option to Repo functions.
This function detects if the execution was triggered from IEx shell, Mix task, or
./bin/pleroma_ctl and sets the timeout to :infinity, else returns the default timeout value.
"""
@spec
query_timeout
()
::
[
timeout:
integer
]
def
query_timeout
do
{
parent
,
_
,
_
,
_
}
=
Process
.
info
(
self
(),
:current_stacktrace
)
|>
elem
(
1
)
|>
Enum
.
fetch!
(
2
)
cond
do
parent
|>
to_string
|>
String
.
starts_with?
(
"Elixir.Mix.Task"
)
->
[
timeout:
:infinity
]
parent
==
:erl_eval
->
[
timeout:
:infinity
]
true
->
[
timeout:
@repo_timeout
]
end
end
end
lib/pleroma/web/activity_pub/pipeline.ex
View file @
d9e782c1
...
...
@@ -7,6 +7,7 @@ defmodule Pleroma.Web.ActivityPub.Pipeline do
alias
Pleroma
.
Config
alias
Pleroma
.
Object
alias
Pleroma
.
Repo
alias
Pleroma
.
Utils
alias
Pleroma
.
Web
.
ActivityPub
.
ActivityPub
alias
Pleroma
.
Web
.
ActivityPub
.
MRF
alias
Pleroma
.
Web
.
ActivityPub
.
ObjectValidator
...
...
@@ -24,7 +25,7 @@ defmodule Pleroma.Web.ActivityPub.Pipeline do
@spec
common_pipeline
(
map
(),
keyword
())
::
{
:ok
,
Activity
.
t
()
|
Object
.
t
(),
keyword
()}
|
{
:error
,
any
()}
def
common_pipeline
(
object
,
meta
)
do
case
Repo
.
transaction
(
fn
->
do_common_pipeline
(
object
,
meta
)
end
)
do
case
Repo
.
transaction
(
fn
->
do_common_pipeline
(
object
,
meta
)
end
,
Utils
.
query_timeout
()
)
do
{
:ok
,
{
:ok
,
activity
,
meta
}}
->
@side_effects
.
handle_after_transaction
(
meta
)
{
:ok
,
activity
,
meta
}
...
...
Ghost User
@ghost
mentioned in issue
#2637
·
Apr 23, 2021
mentioned in issue
#2637
mentioned in issue #2637
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment