diff options
author | Chocobozzz <me@florianbigard.com> | 2023-02-14 08:59:27 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2023-02-14 09:03:22 +0100 |
commit | 4565774669bc3c1b11cc726d577946953dbe53c5 (patch) | |
tree | ee0e41e06245861a0de896684caa388f82cc3470 /server/lib/activitypub | |
parent | 4c61660a0ab6224079c67d8282b282772a0772e4 (diff) | |
download | PeerTube-4565774669bc3c1b11cc726d577946953dbe53c5.tar.gz PeerTube-4565774669bc3c1b11cc726d577946953dbe53c5.tar.zst PeerTube-4565774669bc3c1b11cc726d577946953dbe53c5.zip |
Fix retrying update on sql serialization conflict
Diffstat (limited to 'server/lib/activitypub')
-rw-r--r-- | server/lib/activitypub/actors/updater.ts | 15 | ||||
-rw-r--r-- | server/lib/activitypub/videos/updater.ts | 8 |
2 files changed, 6 insertions, 17 deletions
diff --git a/server/lib/activitypub/actors/updater.ts b/server/lib/activitypub/actors/updater.ts index fe94af9f1..137980460 100644 --- a/server/lib/activitypub/actors/updater.ts +++ b/server/lib/activitypub/actors/updater.ts | |||
@@ -13,19 +13,12 @@ export class APActorUpdater { | |||
13 | 13 | ||
14 | private accountOrChannel: MAccount | MChannel | 14 | private accountOrChannel: MAccount | MChannel |
15 | 15 | ||
16 | private readonly actorFieldsSave: object | ||
17 | private readonly accountOrChannelFieldsSave: object | ||
18 | |||
19 | constructor ( | 16 | constructor ( |
20 | private readonly actorObject: ActivityPubActor, | 17 | private readonly actorObject: ActivityPubActor, |
21 | private readonly actor: MActorFull | 18 | private readonly actor: MActorFull |
22 | ) { | 19 | ) { |
23 | this.actorFieldsSave = this.actor.toJSON() | ||
24 | |||
25 | if (this.actorObject.type === 'Group') this.accountOrChannel = this.actor.VideoChannel | 20 | if (this.actorObject.type === 'Group') this.accountOrChannel = this.actor.VideoChannel |
26 | else this.accountOrChannel = this.actor.Account | 21 | else this.accountOrChannel = this.actor.Account |
27 | |||
28 | this.accountOrChannelFieldsSave = this.accountOrChannel.toJSON() | ||
29 | } | 22 | } |
30 | 23 | ||
31 | async update () { | 24 | async update () { |
@@ -58,12 +51,12 @@ export class APActorUpdater { | |||
58 | 51 | ||
59 | logger.info('Remote account %s updated', this.actorObject.url) | 52 | logger.info('Remote account %s updated', this.actorObject.url) |
60 | } catch (err) { | 53 | } catch (err) { |
61 | if (this.actor !== undefined && this.actorFieldsSave !== undefined) { | 54 | if (this.actor !== undefined) { |
62 | resetSequelizeInstance(this.actor, this.actorFieldsSave) | 55 | resetSequelizeInstance(this.actor) |
63 | } | 56 | } |
64 | 57 | ||
65 | if (this.accountOrChannel !== undefined && this.accountOrChannelFieldsSave !== undefined) { | 58 | if (this.accountOrChannel !== undefined) { |
66 | resetSequelizeInstance(this.accountOrChannel, this.accountOrChannelFieldsSave) | 59 | resetSequelizeInstance(this.accountOrChannel) |
67 | } | 60 | } |
68 | 61 | ||
69 | // This is just a debug because we will retry the insert | 62 | // This is just a debug because we will retry the insert |
diff --git a/server/lib/activitypub/videos/updater.ts b/server/lib/activitypub/videos/updater.ts index 32cbf7e07..0bf32f440 100644 --- a/server/lib/activitypub/videos/updater.ts +++ b/server/lib/activitypub/videos/updater.ts | |||
@@ -13,8 +13,6 @@ export class APVideoUpdater extends APVideoAbstractBuilder { | |||
13 | private readonly wasPrivateVideo: boolean | 13 | private readonly wasPrivateVideo: boolean |
14 | private readonly wasUnlistedVideo: boolean | 14 | private readonly wasUnlistedVideo: boolean |
15 | 15 | ||
16 | private readonly videoFieldsSave: any | ||
17 | |||
18 | private readonly oldVideoChannel: MChannelAccountLight | 16 | private readonly oldVideoChannel: MChannelAccountLight |
19 | 17 | ||
20 | protected lTags: LoggerTagsFn | 18 | protected lTags: LoggerTagsFn |
@@ -30,8 +28,6 @@ export class APVideoUpdater extends APVideoAbstractBuilder { | |||
30 | 28 | ||
31 | this.oldVideoChannel = this.video.VideoChannel | 29 | this.oldVideoChannel = this.video.VideoChannel |
32 | 30 | ||
33 | this.videoFieldsSave = this.video.toJSON() | ||
34 | |||
35 | this.lTags = loggerTagsFactory('ap', 'video', 'update', video.uuid, video.url) | 31 | this.lTags = loggerTagsFactory('ap', 'video', 'update', video.uuid, video.url) |
36 | } | 32 | } |
37 | 33 | ||
@@ -156,8 +152,8 @@ export class APVideoUpdater extends APVideoAbstractBuilder { | |||
156 | } | 152 | } |
157 | 153 | ||
158 | private catchUpdateError (err: Error) { | 154 | private catchUpdateError (err: Error) { |
159 | if (this.video !== undefined && this.videoFieldsSave !== undefined) { | 155 | if (this.video !== undefined) { |
160 | resetSequelizeInstance(this.video, this.videoFieldsSave) | 156 | resetSequelizeInstance(this.video) |
161 | } | 157 | } |
162 | 158 | ||
163 | // This is just a debug because we will retry the insert | 159 | // This is just a debug because we will retry the insert |