Page MenuHomePhabricator

Subscriber "Unknown Object (MLST)" can't be removed: "Edges are not available for objects of type 'MLST'!"
Closed, ResolvedPublic

Description

Task T47839 (maybe others too) has a "Unknown Object (MLST)" in the CC field, and it can't be removed: attempting results in "Unhandled Exception ("Exception"): Edges are not available for objects of type 'MLST'!"

Event Timeline

matmarex raised the priority of this task from to Needs Triage.
matmarex updated the task description. (Show Details)
matmarex added a project: Phabricator.
matmarex subscribed.

Interesting. Confirming. Probably some old / disabled / not properly imported (?) mailing list.

(To report upstream, we need to reproduce it)

(Is there a column for this? I think "Needs discussion" is not the right one)

"Stalled" status if you really felt some need to express that? However I can reproduce this, hence not sure why this is asked. :)

Aklapper renamed this task from Task with subscriber: "Unknown Object (MLST)" that can't be removed to Subscriber "Unknown Object (MLST)" can't be removed: "Edges are not available for objects of type 'MLST'!".Apr 27 2016, 10:50 AM
Aklapper lowered the priority of this task from Low to Lowest.
Aklapper set Security to None.

https://phabricator.wikimedia.org/api/maniphest.info:

"ccPHIDs": [
   "PHID-USER-m4bdywrfl4v6ktpmcig4",
   "PHID-USER-chrmcih5qjpx5buo7vx6",
   "PHID-USER-teteh3pfkf4ob5zfobjl",
   "PHID-USER-wkpnidxoctuhawexig5p",
   "PHID-USER-tyjmn7xcw6s2b6rqagj7",
   "PHID-USER-lsveyqlsb4acoowxr5yj",
   "PHID-USER-6p4p4vbpzsydxbxewmdj",
   "PHID-USER-sscimmfqgfuh4pe2kfyw",
   "PHID-USER-4j7xntcqqwei7izzlfnd",
   "PHID-USER-3cksrzu26qc2llnsir3q",
   "PHID-USER-sx63fwaih5kjt7bz4u6z",
   "PHID-USER-mndznmqvm6ihjfmb6xap",
   "PHID-USER-6cmq4ojqc6ur2o2im57n",
   "PHID-USER-t7ue4j3fnqznjjs4z5ef",
   "PHID-USER-xfe43w2lb5gpvglf4coa",
   "PHID-USER-u6ycqhfpa3k4yvlpxjt2",
   "PHID-USER-2mey32xhshfnf7rz7jjn",
   "PHID-USER-3wfzrv2a2ggwauxc52is",
   "PHID-USER-hgn5uw2jafgjgfvxibhh",
   "PHID-USER-7sfnmvwpvh3etwtqk5pg",
   "PHID-USER-cqtipia3tizutncgpwpr",
   "PHID-USER-zcgjmgl4fagouajd6iym",
   "PHID-USER-ydl4ek3zzlyuz7f7upgt",
   "PHID-USER-v7bwpq3rs3zdxegibdbh",
   "PHID-USER-pxpu4muyuyvybjioj2la",
   "PHID-USER-lzhljhpbm3qfphvqyill",
   "PHID-USER-7n5fvppwj4ueprv2iuys",
   "PHID-USER-6majuboi566q3ozbh27r",
   "PHID-USER-6imfhxf74rwoqfhxd6h2",
   "PHID-MLST-fswpxohkpbignkopdasf"
 ],

Ah. If you compare @wikibugs-l-list to @Wikidata-bugs, note that the former was created Jun 11 2015, 3:52 AM (45 w, 6 d) and has role Mailing List, whereas the latter was created Nov 25 2014, 12:55 PM (74 w, 23 h) and is linked to a MediaWiki account. I suspect the account existed before the MLST->USER conversion, and the conversion broke because of that.

Likely a side effect (bug) of https://secure.phabricator.com/T8387 when mailinglists (MLST) got converted into users. The entity PHID-MLST-fswpxohkpbignkopdasf does not exist anymore (was likely the wikidata-bugs mailing list) in our Phab instance but it looks like the corresponding edges were not removed correctly.

To query the IDs of all affected tasks where this element is in the subscribers field (untested!):
SELECT t.id FROM phabricator_maniphest.edge edg JOIN phabricator_maniphest.maniphest_task t WHERE edg.type = 21 AND edg.dst = "PHID-MLST-fswpxohkpbignkopdasf" AND t.phid = edg.src;

Edit: Mid-air collision with Valhallasw when I wrote this comment. :)

This bug seems to make it impossible to change subscribers of T73461, or to mark it as a duplicate. When I did, it failed half-way through, showing the duplication status on T73461, but not on the target (T184854), with the same error:

Edges are not available for objects of type 'MLST'

I can consistently reproduce the error by trying to remove "Unknown Object (MLST)" from https://phabricator.wikimedia.org/maniphest/task/edit/73461/.

Aklapper raised the priority of this task from Lowest to Low.Jul 3 2018, 9:40 AM

Someone with Phab DB access please

  • replace the broken list value with the existing account https://phabricator.wikimedia.org/p/Wikidata-bugs/ : use phabricator_maniphest; UPDATE edge SET dst="PHID-USER-zcgjmgl4fagouajd6iym" WHERE dst="PHID-MLST-fswpxohkpbignkopdasf" AND src LIKE "PHID-TASK-%";
  • or delete these edges: use phabricator_maniphest; DELETE FROM edge WHERE dst="PHID-MLST-fswpxohkpbignkopdasf" AND src LIKE "PHID-TASK-%";

This problem is likely a result of us not following https://secure.phabricator.com/T8398 in 2015.

@mmodell: Do you think that updating the DB as proposed in my previous comment would be worth a shot, or do you consider that too risky? If worth, who could do that?

@Aklapper: seems like a sane solution to me, I'll give it a shot.

Updating edges didn't work due to duplicate key errors. Should I just delete the edges?

MariaDB [phabricator_maniphest]> select count(*) from edge where dst LIKE "PHID-MLST-%";

+----------+
| count(*) |
+----------+
|     2701 |
+----------+
1 row in set (0.03 sec)

MariaDB [phabricator_maniphest]> select count(*) from edge where src LIKE "PHID-MLST-%";
+----------+
| count(*) |
+----------+
|    49795 |
+----------+
1 row in set (0.14 sec)

ok I deleted the destination edges, that should hopefully resolve this specific issue?

Seems fine, thanks!