Helper issue for #1498720: [meta] Make the entity storage system handle changes in the entity and field schema definitions to avoid spamming it with patches to be tested. I hope I didn't break too much stuff.

Files: 
CommentFileSizeAuthor
#98 et-entity_schema_handling-2298525-97.patch151.37 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,349 pass(es), 0 fail(s), and 2 exception(s).
[ View ]
#94 et-entity_schema_handling-2298525-94.patch217.06 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Unable to apply patch et-entity_schema_handling-2298525-94.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]
#94 et-entity_schema_handling-2298525-94.interdiff.txt3.51 KBplach
#90 et-entity_schema_handling-2298525-90.patch217.7 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,253 pass(es), 10 fail(s), and 2 exception(s).
[ View ]
#87 interdiff.txt2.6 KBeffulgentsia
#87 et-entity_schema_handling-2298525-87.patch216.56 KBeffulgentsia
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,261 pass(es), 10 fail(s), and 2 exception(s).
[ View ]
#85 interdiff.txt8.85 KBeffulgentsia
#85 et-entity_schema_handling-2298525-85.patch216.23 KBeffulgentsia
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,028 pass(es), 11 fail(s), and 20 exception(s).
[ View ]
#83 interdiff.txt32.45 KBeffulgentsia
#83 et-entity_schema_handling-2298525-83.patch214.94 KBeffulgentsia
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,743 pass(es), 11 fail(s), and 103,094 exception(s).
[ View ]
#81 interdiff.txt3.71 KBeffulgentsia
#81 et-entity_schema_handling-2298525-81.patch200.62 KBeffulgentsia
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,104 pass(es).
[ View ]
#77 et-entity_schema_handling-last-step-do-not-test.patch150.13 KBeffulgentsia
#77 interdiff.txt127.85 KBeffulgentsia
#77 et-entity_schema_handling-2298525-77.patch203.97 KBeffulgentsia
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Drupal installation failed.
[ View ]
#75 et-entity_schema_handling-2298525-75.patch202.79 KBeffulgentsia
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,086 pass(es), 10 fail(s), and 0 exception(s).
[ View ]
#72 et-entity_schema_handling-2298525-72.patch203.41 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,930 pass(es), 10 fail(s), and 0 exception(s).
[ View ]
#72 et-entity_schema_handling-2298525-72.interdiff.txt2.04 KBplach
#71 et-entity_schema_handling-2298525-71.patch203.07 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,857 pass(es), 33 fail(s), and 0 exception(s).
[ View ]
#69 et-entity_schema_handling-2298525-69.patch202.48 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,798 pass(es), 33 fail(s), and 0 exception(s).
[ View ]
#69 et-entity_schema_handling-2298525-69.interdiff.txt14.33 KBplach
#67 et-entity_schema_handling-2298525-67.patch203.88 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,283 pass(es), 168 fail(s), and 53 exception(s).
[ View ]
#67 et-entity_schema_handling-2298525-67.interdiff.txt963 bytesplach
#64 et-entity_schema_handling-2298525-64.patch232.27 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,677 pass(es), 33 fail(s), and 19 exception(s).
[ View ]
#64 et-entity_schema_handling-2298525-64.interdiff.txt3.71 KBplach
#63 entity-schema_handling-remainder-full.patch234.31 KBeffulgentsia
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,857 pass(es).
[ View ]
#63 entity-schema_handling-remainder-do-not-test.patch155.07 KBeffulgentsia
#60 entity-schema_manager-full.patch100.88 KBeffulgentsia
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,833 pass(es).
[ View ]
#59 et-entity_schema_handling-2298525-59.patch229.24 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,840 pass(es).
[ View ]
#59 et-entity_schema_handling-2298525-59.interdiff.txt4.94 KBplach
#57 et-entity_schema_handling-2298525-58.patch231.89 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Failed to run tests: PHP Fatal error encountered during run_tests.sh. See review log for details..
[ View ]
#56 et-entity_schema_handling-2298525-56.patch263.77 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,634 pass(es).
[ View ]
#54 2298525.54.patch136.45 KBeffulgentsia
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Failed to run tests: PHP Fatal error encountered during run_tests.sh. See review log for details..
[ View ]
#53 et-entity_schema_handling-2298525-53.patch313.48 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,259 pass(es).
[ View ]
#53 et-entity_schema_handling-2298525-53.interdiff.txt17.14 KBplach
#51 et-entity_schema_handling-2298525-51.patch314.95 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,259 pass(es).
[ View ]
#49 et-entity_schema_handling-2298525-49.patch319.06 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,059 pass(es), 1 fail(s), and 1 exception(s).
[ View ]
#49 et-entity_schema_handling-2298525-49.interdiff.txt19.56 KBplach
#48 et-entity_schema_handling-2298525-48.patch313.9 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,590 pass(es).
[ View ]
#46 et-entity_schema_handling-2298525-46.patch313.1 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,783 pass(es), 5 fail(s), and 2 exception(s).
[ View ]
#45 et-entity_schema_handling-2298525-45.patch310.73 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,785 pass(es).
[ View ]
#43 et-entity_schema_handling-2298525-43.patch264.56 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,619 pass(es), 3 fail(s), and 2 exception(s).
[ View ]
#41 et-entity_schema_handling-2298525-41.patch264.44 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,592 pass(es), 82 fail(s), and 22 exception(s).
[ View ]
#39 et-entity_schema_handling-2298525-39.patch302.94 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,309 pass(es), 126 fail(s), and 27 exception(s).
[ View ]
#39 et-entity_schema_handling-2298525-39.interdiff.txt9.09 KBplach
#37 et-entity_schema_handling-2298525-37.patch298.27 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,290 pass(es).
[ View ]
#37 et-entity_schema_handling-2298525-37.interdiff.txt699 bytesplach
#35 et-entity_schema_handling-2298525-35.patch298.26 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Failed to run tests: PHP Fatal error encountered during run_tests.sh. See review log for details..
[ View ]
#34 et-entity_schema_handling-2298525-34.patch248.26 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,287 pass(es).
[ View ]
#34 et-entity_schema_handling-2298525-34.interdiff.txt5.33 KBplach
#33 et-entity_schema_handling-2298525-33.patch252.39 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,947 pass(es).
[ View ]
#33 et-entity_schema_handling-2298525-33.interdiff.txt13.15 KBplach
#32 et-entity_schema_handling-2298525-31.patch245.09 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,084 pass(es).
[ View ]
#32 et-entity_schema_handling-2298525-31.interdiff.txt9.24 KBplach
#31 et-entity_schema_handling-2298525-31.patch.patch245.09 KBplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,416 pass(es).
[ View ]
#31 et-entity_schema_handling-2298525-31.patch.interdiff.txt9.24 KBplach
#29 et-entity_schema_handling-2298525-29.patch245.1 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,088 pass(es), 0 fail(s), and 1 exception(s).
[ View ]
#27 25-27-interdiff.txt12.87 KBalexpott
#27 2298525-plach.27.patch247.27 KBalexpott
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Unable to apply patch 2298525-plach.27.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]
#25 et-entity_schema_handling-2298525-25.patch247.13 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,932 pass(es), 5 fail(s), and 2 exception(s).
[ View ]
#23 et-entity_schema_handling-2298525-23.patch243.32 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,904 pass(es), 326 fail(s), and 19 exception(s).
[ View ]
#22 et-entity_schema_handling-2298525-22.patch0 bytesplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,200 pass(es).
[ View ]
#21 et-entity_schema_handling-2298525-21.patch0 bytesplach
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,030 pass(es).
[ View ]
#19 et-entity_schema_handling-2298525-18.patch278.92 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,058 pass(es), 337 fail(s), and 21 exception(s).
[ View ]
#16 et-entity_schema_handling-2298525-16.patch273.03 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,347 pass(es), 10 fail(s), and 2 exception(s).
[ View ]
#14 et-entity_schema_handling-2298525-14.patch268.98 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 72,984 pass(es), 398 fail(s), and 15 exception(s).
[ View ]
#12 et-entity_schema_handling-2298525-12.patch265.47 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,364 pass(es), 5 fail(s), and 0 exception(s).
[ View ]
#10 et-entity_schema_handling-2298525-10.patch265.49 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,308 pass(es), 9 fail(s), and 0 exception(s).
[ View ]
#7 et-entity_schema_handling-2298525-7.patch265.5 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,158 pass(es), 8 fail(s), and 0 exception(s).
[ View ]
#7 et-entity_schema_handling-2298525-7.interdiff.txt7.06 KBplach
#6 et-entity_schema_handling-2298525-6.patch260.46 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,274 pass(es), 5 fail(s), and 0 exception(s).
[ View ]
#4 et-entity_schema_handling-2298525-4.patch256.93 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,157 pass(es), 5 fail(s), and 0 exception(s).
[ View ]
#2 et-entity_schema_handling-2298525-1.patch251.9 KBplach
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,191 pass(es), 6 fail(s), and 1 exception(s).
[ View ]

Comments

plach’s picture

Status:Active» Needs review
StatusFileSize
new251.9 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,191 pass(es), 6 fail(s), and 1 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 2: et-entity_schema_handling-2298525-1.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new256.93 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,157 pass(es), 5 fail(s), and 0 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 4: et-entity_schema_handling-2298525-4.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new260.46 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,274 pass(es), 5 fail(s), and 0 exception(s).
[ View ]

This merges @alexpott's work from the parent issues. I hope I got it right as I had a lot of conflicts...
(unit tests failures are expected, I need to adjust those tests to match the latest changes)

plach’s picture

StatusFileSize
new7.06 KB
new265.5 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,158 pass(es), 8 fail(s), and 0 exception(s).
[ View ]

The last submitted patch, 6: et-entity_schema_handling-2298525-6.patch, failed testing.

Status:Needs review» Needs work

The last submitted patch, 7: et-entity_schema_handling-2298525-7.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new265.49 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,308 pass(es), 9 fail(s), and 0 exception(s).
[ View ]

Just a reroll to see whether failures are the same

Status:Needs review» Needs work

The last submitted patch, 10: et-entity_schema_handling-2298525-10.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new265.47 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,364 pass(es), 5 fail(s), and 0 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 12: et-entity_schema_handling-2298525-12.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new268.98 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 72,984 pass(es), 398 fail(s), and 15 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 14: et-entity_schema_handling-2298525-14.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new273.03 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,347 pass(es), 10 fail(s), and 2 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 16: et-entity_schema_handling-2298525-16.patch, failed testing.

plach’s picture

Issue summary:View changes
Status:Needs work» Needs review
plach’s picture

StatusFileSize
new278.92 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,058 pass(es), 337 fail(s), and 21 exception(s).
[ View ]

now with patch

Status:Needs review» Needs work

The last submitted patch, 19: et-entity_schema_handling-2298525-18.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new0 bytes
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,030 pass(es).
[ View ]

This should fix the PHPUnit failures we used to have above, now I just need to fix all the new failures :P

plach’s picture

StatusFileSize
new0 bytes
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,200 pass(es).
[ View ]
plach’s picture

StatusFileSize
new243.32 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 73,904 pass(es), 326 fail(s), and 19 exception(s).
[ View ]

I definitely need some sleep...

Status:Needs review» Needs work

The last submitted patch, 23: et-entity_schema_handling-2298525-23.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new247.13 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,932 pass(es), 5 fail(s), and 2 exception(s).
[ View ]

This should fix most failures. It incorporates #2279395-54: The PostgreSQL backend does not handle NULL values for serial fields gracefully as this now depends on it.

Status:Needs review» Needs work

The last submitted patch, 25: et-entity_schema_handling-2298525-25.patch, failed testing.

alexpott’s picture

Status:Needs work» Needs review
StatusFileSize
new247.27 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Unable to apply patch 2298525-plach.27.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]
new12.87 KB

Pushed to plach's sandbox - branch is called: 2298525-alexpott

Status:Needs review» Needs work

The last submitted patch, 27: 2298525-plach.27.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new245.1 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,088 pass(es), 0 fail(s), and 1 exception(s).
[ View ]

Rerolled

Status:Needs review» Needs work

The last submitted patch, 29: et-entity_schema_handling-2298525-29.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new9.24 KB
new245.09 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,416 pass(es).
[ View ]

This should be green again, finally
(pushed to the wip branch, I'm going to go back to a serious branch asap :)

plach’s picture

StatusFileSize
new9.24 KB
new245.09 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,084 pass(es).
[ View ]

Re-uploading

plach’s picture

StatusFileSize
new13.15 KB
new252.39 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,947 pass(es).
[ View ]

And this should restore some previously-removed test coverage.

plach’s picture

StatusFileSize
new5.33 KB
new248.26 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,287 pass(es).
[ View ]

Some final clean-up.

plach’s picture

StatusFileSize
new298.26 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Failed to run tests: PHP Fatal error encountered during run_tests.sh. See review log for details..
[ View ]

First attempt to see how part2 behaves...

Status:Needs review» Needs work

The last submitted patch, 35: et-entity_schema_handling-2298525-35.patch, failed testing.

plach’s picture

StatusFileSize
new699 bytes
new298.27 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,290 pass(es).
[ View ]

Apparently a tiny fatal in a PHP unit test can break all the test result reporting...

plach’s picture

Status:Needs work» Needs review
plach’s picture

StatusFileSize
new9.09 KB
new302.94 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,309 pass(es), 126 fail(s), and 27 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 39: et-entity_schema_handling-2298525-39.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new264.44 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,592 pass(es), 82 fail(s), and 22 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 41: et-entity_schema_handling-2298525-41.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new264.56 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,619 pass(es), 3 fail(s), and 2 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 43: et-entity_schema_handling-2298525-43.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new310.73 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,785 pass(es).
[ View ]
plach’s picture

StatusFileSize
new313.1 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,783 pass(es), 5 fail(s), and 2 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 46: et-entity_schema_handling-2298525-46.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new313.9 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,590 pass(es).
[ View ]
plach’s picture

StatusFileSize
new19.56 KB
new319.06 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,059 pass(es), 1 fail(s), and 1 exception(s).
[ View ]

Status:Needs review» Needs work

The last submitted patch, 49: et-entity_schema_handling-2298525-49.patch, failed testing.

plach’s picture

StatusFileSize
new314.95 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,259 pass(es).
[ View ]
plach’s picture

Status:Needs work» Needs review
plach’s picture

effulgentsia’s picture

StatusFileSize
new136.45 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Failed to run tests: PHP Fatal error encountered during run_tests.sh. See review log for details..
[ View ]

Bot check for the next sub-issue I plan on opening.

Status:Needs review» Needs work

The last submitted patch, 54: 2298525.54.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new263.77 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,634 pass(es).
[ View ]
plach’s picture

StatusFileSize
new231.89 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Failed to run tests: PHP Fatal error encountered during run_tests.sh. See review log for details..
[ View ]

Status:Needs review» Needs work

The last submitted patch, 57: et-entity_schema_handling-2298525-58.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new4.94 KB
new229.24 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,840 pass(es).
[ View ]

This should fix test failures.

effulgentsia’s picture

StatusFileSize
new100.88 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,833 pass(es).
[ View ]

Here's the next step I'd like us to focus our reviews on after #2330121: Replace ContentEntityDatabaseStorage::getSchema() with a new EntityTypeListenerInterface implemented by SqlContentEntityStorageSchema. This patch includes that one in order to get a bot check. Once it passes, I'll open the issue for just its own piece.

[Edit: here's that issue: #2333113: Add an EntityDefinitionUpdateManager so that entity handlers can respond (e.g., by updating db schema) to code updates in a controlled way (e.g., from update.php)]

effulgentsia’s picture

Thanks for the reroll in #57. Rerolling #59 on top of #60 will also be a bit tedious, but I'll work on that, and will post it here once I'm done.

plach’s picture

I needed #59 to keep working on one of the last bullets on my todo list: blocking module uninstallation when they provide field storage definitions for which data exists. Patch coming soon :)

effulgentsia’s picture

StatusFileSize
new155.07 KB
new234.31 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,857 pass(es).
[ View ]

This is a reroll of #59 on top of #60. The "-do-not-test" one doesn't include any of #60. The "-full" one includes everything, but resolves the various conflicts introduced by #60.

Re #62, great! If your new patch is based on #59, then when you post yours, please post an interdiff relative to #59, and hopefully that interdiff won't be too hard to apply to these patches here.

plach’s picture

StatusFileSize
new3.71 KB
new232.27 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,677 pass(es), 33 fail(s), and 19 exception(s).
[ View ]

And with this we should be "done" with my todo list, at least here. The other two bullets were adding test coverage for the entity schema manager, which can happen in its own issue, and temporarily blocking entity schema layout changes, which is not fully supported yet by storage classes, and requires just a throw somewhere. We should do this only before committing the very final version of the last patch so we can write proper test coverage meanwhile.

Status:Needs review» Needs work

The last submitted patch, 64: et-entity_schema_handling-2298525-64.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new963 bytes
new203.88 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,283 pass(es), 168 fail(s), and 53 exception(s).
[ View ]

Another fun reroll + some test fixes

Status:Needs review» Needs work

The last submitted patch, 67: et-entity_schema_handling-2298525-67.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new14.33 KB
new202.48 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,798 pass(es), 33 fail(s), and 0 exception(s).
[ View ]

This one should be better

Status:Needs review» Needs work

The last submitted patch, 69: et-entity_schema_handling-2298525-69.patch, failed testing.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new203.07 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,857 pass(es), 33 fail(s), and 0 exception(s).
[ View ]

Just a plain reroll. Working on test failures now.

plach’s picture

StatusFileSize
new2.04 KB
new203.41 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 75,930 pass(es), 10 fail(s), and 0 exception(s).
[ View ]

Some test fixes.

The last submitted patch, 71: et-entity_schema_handling-2298525-71.patch, failed testing.

Status:Needs review» Needs work

The last submitted patch, 72: et-entity_schema_handling-2298525-72.patch, failed testing.

effulgentsia’s picture

Status:Needs work» Needs review
StatusFileSize
new202.79 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,086 pass(es), 10 fail(s), and 0 exception(s).
[ View ]

Just a reroll of #72.

Status:Needs review» Needs work

The last submitted patch, 75: et-entity_schema_handling-2298525-75.patch, failed testing.

effulgentsia’s picture

Status:Needs work» Needs review
StatusFileSize
new203.97 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Drupal installation failed.
[ View ]
new127.85 KB
new150.13 KB

Merged in changes from the history of #2333113: Add an EntityDefinitionUpdateManager so that entity handlers can respond (e.g., by updating db schema) to code updates in a controlled way (e.g., from update.php). Also reordered some functions in SqlContentEntityStorageSchema to match their order in HEAD to make the diff easier to review.

The "-do-not-test" patch is rebased on top of #2333113-58: Add an EntityDefinitionUpdateManager so that entity handlers can respond (e.g., by updating db schema) to code updates in a controlled way (e.g., from update.php), so is the last step once that lands.

Status:Needs review» Needs work

The last submitted patch, 77: et-entity_schema_handling-2298525-77.patch, failed testing.

tim.plunkett’s picture

+++ b/core/lib/Drupal/Core/Entity/EntityManagerInterface.php
@@ -8,11 +8,12 @@
+interface EntityManagerInterface extends PluginManagerInterface, EntityTypeListenerInterface, FieldStorageDefinitionListenerInterface {

This really doesn't seem right to me. Why does EntityManagerInterface know about FieldStorageDefinition anything?

Can't we please create a new class and move all of this stuff out? I don't know at what point EntityManager became the dumping ground for all of this code that only pertains to half of entity types, but this is getting out of control.

EDIT: Ugh, just realized I'm posting to a test-only issue. I'll track down the real one tomorrow...

effulgentsia’s picture

Ugh, just realized I'm posting to a test-only issue. I'll track down the real one tomorrow...

The real issue with that change is #2333113: Add an EntityDefinitionUpdateManager so that entity handlers can respond (e.g., by updating db schema) to code updates in a controlled way (e.g., from update.php). However, realize that EntityManagerInterface already has a ton of methods that deal with field definitions. So if you want to decouple everything field-related from EntityManager, please open a new issue for that rather than holding up that one. However, I'll point out that isFieldable() is a method of EntityTypeInterface, so I don't think it's entirely unreasonable for EntityManager to deal with field definitions in addition to entity type definitions, but if there's a good way to partition EntityManager into smaller parts, I'm ok with that too.

effulgentsia’s picture

Status:Needs work» Needs review
StatusFileSize
new200.62 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,104 pass(es).
[ View ]
new3.71 KB

Removing the system_system_info_alter() change as out of scope for this issue. Seems like can be a separate issue and post-beta. Elsewhere we decided to not add hasData() to entity storage handlers, so if we want to change our mind on that, let's do it in a dedicated issue.

Also fixed a stray merge conflict.

plach’s picture

-1 on the last interdiff: blocking module uninstallation was planned with @alexpott in the last hard problems discussion about this topic we had in Austin. This was meant to prevent modules from breaking while we unify the field purging code.

effulgentsia’s picture

StatusFileSize
new214.94 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 74,743 pass(es), 11 fail(s), and 103,094 exception(s).
[ View ]
new32.45 KB

Status:Needs review» Needs work

The last submitted patch, 83: et-entity_schema_handling-2298525-83.patch, failed testing.

effulgentsia’s picture

Status:Needs work» Needs review
StatusFileSize
new216.23 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,028 pass(es), 11 fail(s), and 20 exception(s).
[ View ]
new8.85 KB

Merged changes from #2333113: Add an EntityDefinitionUpdateManager so that entity handlers can respond (e.g., by updating db schema) to code updates in a controlled way (e.g., from update.php), which is now RTBC. And fixed the cause of #83's exceptions (system.module's hunk in the interdiff).

Status:Needs review» Needs work

The last submitted patch, 85: et-entity_schema_handling-2298525-85.patch, failed testing.

effulgentsia’s picture

Status:Needs work» Needs review
StatusFileSize
new216.56 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,261 pass(es), 10 fail(s), and 2 exception(s).
[ View ]
new2.6 KB

Status:Needs review» Needs work

The last submitted patch, 87: et-entity_schema_handling-2298525-87.patch, failed testing.

plach’s picture

Thanks for the rerolls, I will work on those failures later today if no one beats me to it.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new217.7 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,253 pass(es), 10 fail(s), and 2 exception(s).
[ View ]

No luck here, trying some bot debugging

Status:Needs review» Needs work

The last submitted patch, 90: et-entity_schema_handling-2298525-90.patch, failed testing.

effulgentsia’s picture

-1 on the last interdiff: blocking module uninstallation was planned with @alexpott in the last hard problems discussion about this topic we had in Austin. This was meant to prevent modules from breaking while we unify the field purging code.

Makes sense, but seems a different scope than #2337927: SqlContentEntityStorage::onFieldStorageDefinition(Create|Update|Delete)() is broken for base fields, so I opened #2338873: Modules providing non-configurable field storage definitions can be uninstalled, leaving orphaned unpurged data. Maybe having it isolated will also help with troubleshooting those failures?

plach’s picture

I think I found a way to make the test pass, I will post a patch soon.

plach’s picture

Status:Needs work» Needs review
StatusFileSize
new3.51 KB
new217.06 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Unable to apply patch et-entity_schema_handling-2298525-94.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]

Ok, this should fix the install/uninstall test failures.

Status:Needs review» Needs work

The last submitted patch, 94: et-entity_schema_handling-2298525-94.patch, failed testing.

plach’s picture

Assigned:Unassigned» plach
effulgentsia’s picture

Status:Needs work» Needs review
StatusFileSize
new151.29 KB

Heh, I just happened to do this before seeing your comment, so here's my reroll. Curious if yours ends up being identical or not.

plach’s picture

Assigned:plach» Unassigned
StatusFileSize
new151.37 KB
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 76,349 pass(es), 0 fail(s), and 2 exception(s).
[ View ]

Not sure, mine includes #94...
(for the bot)

plach’s picture

+++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php
@@ -76,14 +101,25 @@ public function __construct(EntityManagerInterface $entity_manager, ContentEntit
-      $entity_type->getKeys() != $original->getKeys() ||

The only difference is here: mine is keeping this line.

The last submitted patch, 97: et-entity_schema_handling-2298525-97.patch, failed testing.

Status:Needs review» Needs work

The last submitted patch, 98: et-entity_schema_handling-2298525-97.patch, failed testing.

plach’s picture

Status:Needs work» Fixed

The parent issue has been fixed :)

Status:Fixed» Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.