Closed (outdated)
Project:
Drupal core
Version:
8.9.x-dev
Component:
other
Priority:
Minor
Category:
Task
Assigned:
Reporter:
Created:
3 Nov 2013 at 16:35 UTC
Updated:
20 Dec 2019 at 13:08 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
amateescu commentedComment #3
amateescu commentedComment #5
amateescu commentedComment #7
amateescu commentedComment #8
amateescu commentedComment #10
amateescu commentedTrying to unbreak head.
Comment #12
xjmUsing git bisect for realz.
Edit: Oops, guess the filenames are ambiguous. It's not a revert of that hash; it's a revert TO that hash. Of everything.
Comment #14
xjmSoooo https://qa.drupal.org/pifr/test/675243 from #12 doesn't have any of the memory fatals, but has other fails. Interesting...
Comment #19
amateescu commentedI'm going to consider that revision as good because it didn't have any memory fatals.
Comment #20
amateescu commentedThis one is obviously good, moving on.
Comment #25
amateescu commentedI know this one is good because it was reverted, but I'm going to put up a few patches anyway.
Comment #26
xjmSeems to be like 75% plus fail rate on the bad.
Comment #27
xjmOhai, crosspost.
Comment #28
amateescu commentedI think we have a winner. Let's try a revert of only one patch: fc04601c357609f6cae7cb3ae6c71610d44647e5
Comment #29
xjmComment #30
xjmComment #32
amateescu commentedComment #34
amateescu commentedComment #35
amateescu commentedComment #39
amateescu commentedComment #41
amateescu commentedComment #43
amateescu commentedComment #45
amateescu commentedComment #47
amateescu commentedComment #49
amateescu commentedComment #51
amateescu commentedComment #53
amateescu commentedComment #55
amateescu commentedComment #57
amateescu commentedComment #59
amateescu commentedComment #61
amateescu commentedComment #63
amateescu commentedComment #65
amateescu commentedComment #66
amateescu commentedComment #68
amateescu commentedComment #69
amateescu commentedComment #71
amateescu commentedComment #72
amateescu commentedTrying a patch that reverts D8 to 9594553dee541a7aa1a2363420e3fcb1e586c6ca .
Comment #76
amateescu commentedComment #78
amateescu commentedComment #81
amateescu commentedComment #82
amateescu commentedComment #83
amateescu commentedComment #86
amateescu commentedComment #88
amateescu commentedComment #91
amateescu commentedComment #92
amateescu commentedComment #94
hchonovComment #96
hchonovComment #97
hchonovOh and the interdiff to 2248983-167.
Comment #99
hchonovComment #101
amateescu commentedComment #102
amateescu commentedComment #105
amateescu commentedComment #107
amateescu commentedComment #109
amateescu commentedComment #110
amateescu commentedComment #112
amateescu commentedComment #114
amateescu commentedComment #116
amateescu commentedComment #118
amateescu commentedComment #121
amateescu commentedComment #123
amateescu commentedComment #124
amateescu commentedComment #126
amateescu commentedComment #128
amateescu commentedComment #130
amateescu commentedComment #133
amateescu commentedComment #134
amateescu commentedComment #136
amateescu commentedStandard query generated by
\Drupal\Core\Entity\Sql\SqlContentEntityStorage::buildQuery:Modified query for determining whether the node is also at the latest revision:
Comment #137
berdirPlayed a bit with those queries on a site with 350k nodes and 810k revisions by selecting 10 nodes. Some nodes have hundreds of revisions because content is created/updated based on an external system and that can happen many times and creates a new revision each time. However, for all of those, latest revision = default revision as I don't have access to a system which uses forward revisions and has a lot of content. Not sure if the query result would look different then.
I also picked 10 nids where each had several hundred revisions.
The first query took 0.15s on production and ~0.04 after that (query cache is disabled, probably simply because the relevant rows were in memory now). The explain looks like this:
The second query takes 0.02-0.04s, probably not quite fair because I was querying for the same nodes and that data was already loaded, the explain:
So while it is not slower to execute, it does use a tempory/filesort, which I imagine could be a problem when loading a larger amount of data?
Does this help?
Edit: More readable explain: https://gist.githubusercontent.com/Berdir/5496a11d0ea30361170d7348095adc...
Comment #139
amateescu commentedRevision trees:
- two new fields: revision_parent and revision_type
- revision type (revision scope?): workspace, content moderation, autosave
- revision types MAY be able to create new revision branches;
revision types that WILL create new braches: workspace (per-workspace revision), autosave (per-user revision)
revision types that WILL NOT create new braches: content moderation
- revision types that WILL create new branches WILL trigger conflict resolution when merging back into the main branch
Comment #140
hchonov@amateescu, the conflict resolution will need the revision ID of the entity revision of the main branch, from which the new branch has emerged. This is the original entity, which we'll use to detect whether a change has occurred only in one of the branches (auto merge) or in both of them (conflict). Therefore we have to track that revision ID as well, which will not change in the revisions of the new branch - either as a field on the entity or as metadata on the branch.
Comment #142
amateescu commentedTrying out an Entity reference patch.
Comment #144
amateescu commentedComment #145
amateescu commentedComment #147
amateescu commentedComment #149
amateescu commentedComment #151
amateescu commentedComment #153
amateescu commentedComment #155
amateescu commentedComment #156
amateescu commentedComment #157
amateescu commentedComment #159
amateescu commentedComment #160
amateescu commentedComment #162
amateescu commentedComment #164
amateescu commentedComment #165
amateescu commentedComment #166
amateescu commentedComment #168
amateescu commentedComment #170
amateescu commentedComment #172
amateescu commentedComment #174
amateescu commentedComment #177
amateescu commentedComment #178
amateescu commentedComment #180
amateescu commented