Page MenuHomePhabricator
Feed Advanced Search

Mar 7 2017

20after4 added a comment to T12314: Support formal task subtypes (like "bug" vs "feature").

@ksmith: Thanks to the new 'favorites' menu, each user can customize their menu, there is no longer a global 'create new' menu, as it's been replaced.

Mar 7 2017, 9:43 AM · EditEngine, Maniphest, Custom Fields, Feature Request

Mar 6 2017

20after4 added a comment to T12314: Support formal task subtypes (like "bug" vs "feature").

Weakness: Subtyping is Probably Only Useful in Maniphest

Subtyping is likely to involve a large number of changes in shared infrastructure (EditEngine), but they will probably only ever be useful in Maniphest. Although most applications now use EditEngine, I can't really come up with any good use cases for subtyping in other applications. Perhaps Calendar could use subtyping on events, but this feels like a solution searching for a problem.

Mar 6 2017, 12:44 AM · EditEngine, Maniphest, Custom Fields, Feature Request
20after4 added a comment to T12337: Provide conduit access to related tasks and in particular 'mentions'.

I don't suppose users count as objects in this context? I'd love to have a way to be notified of new @mentions for my username. A client app that queries conduit occasionally and sends me desktop notifications, well, that would just be super cool.

Mar 6 2017, 12:33 AM · Feature Request
20after4 awarded T12337: Provide conduit access to related tasks and in particular 'mentions' a Mountain of Wealth token.
Mar 6 2017, 12:29 AM · Feature Request
20after4 added a comment to T12353: Convert PhabricatorSearchDocumentQuery to cursor based paging.

I agree that results should almost always be on the first page and ideally near the top of the first page. I'm also tempted to say that 10 results per page might be closer to the right number than 100.

Mar 6 2017, 12:28 AM · Elasticsearch, Wikimedia, Search

Mar 5 2017

20after4 awarded rPbe16f9b2cd57: Add a generic "edge.search" method a Love token.
Mar 5 2017, 12:03 PM
20after4 added a comment to T12353: Convert PhabricatorSearchDocumentQuery to cursor based paging.

I'll investigate further into the slowness (I wasn't involved in the debugging so far so I don't know more than what's said in the task)

Mar 5 2017, 11:22 AM · Elasticsearch, Wikimedia, Search

Mar 4 2017

20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Using the same objects as both Host and Service feels confusing to me. I think this would probably be clearer as separate Service and Host classes? Like PhabricatorMySQLSearchClusterService extends PhabricatorSearchClusterService and PhabricatorMySQLSearchClusterHost extends PhabricatorSearchClusterHost or similar. Particularly because setHostRefs() seems like it's getting called with a raw dictionary in one case and a list of objects in another? And then there's weird magic around getHostRefs() for the MySQL case?
Mar 4 2017, 12:10 PM · Wikimedia, Clusters, Elasticsearch
20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

I'll split out the changes to the engine if I can figure out how to do that... Update coming soon.

Mar 4 2017, 12:08 PM · Wikimedia, Clusters, Elasticsearch
20after4 created T12353: Convert PhabricatorSearchDocumentQuery to cursor based paging.
Mar 4 2017, 11:11 AM · Elasticsearch, Wikimedia, Search

Mar 3 2017

20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

@epriestley: Ok I believe this addresses all of your feedback and other than documentation it should be very close to finished.

Mar 3 2017, 9:11 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Address epriestley's feedback about tooltip and string concatenation

Mar 3 2017, 9:09 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Fixed up the cli workflows for search init and search index
  • Misc other cleanup
Mar 3 2017, 8:58 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the summary of D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 3 2017, 3:08 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Fix elasticsearch setup checks

Mar 3 2017, 3:08 AM · Wikimedia, Clusters, Elasticsearch
20after4 retitled D17384: Support multiple fulltext search clusters with 'cluster.search' config from WIP: Cluster "Search Servers" config and back-end abstraction to Support multiple fulltext search clusters with 'cluster.search' config.
Mar 3 2017, 2:59 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Simplified PhabricatorElasticSearchQueryBuilder, no more __call magic

Mar 3 2017, 2:28 AM · Wikimedia, Clusters, Elasticsearch

Mar 1 2017

20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Eliminate fancy expressions in string

Mar 1 2017, 5:49 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the test plan for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 1 2017, 5:46 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the summary of D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 1 2017, 5:43 PM · Wikimedia, Clusters, Elasticsearch
20after4 added inline comments to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 1 2017, 5:38 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Addressed outstanding review feedback
  • Drastically improved elasticsearch query construction
Mar 1 2017, 5:25 PM · Wikimedia, Clusters, Elasticsearch

Feb 28 2017

20after4 awarded T12314: Support formal task subtypes (like "bug" vs "feature") a Love token.
Feb 28 2017, 1:59 AM · EditEngine, Maniphest, Custom Fields, Feature Request
20after4 added a comment to T12326: Long tag names can break out of hovercards.

This actually seems a little difficult to fix...maybe just make it truncate with an ellipsis?

Feb 28 2017, 1:47 AM · Bug Report, Hovercards, PHUI
20after4 added a comment to T12326: Long tag names can break out of hovercards.

heh nice. And I didn't even have to cheat by using U+00A0.

Feb 28 2017, 1:41 AM · Bug Report, Hovercards, PHUI

Feb 27 2017

20after4 added a comment to T12218: Reduce the operational cost of a larger Phacility cluster.

For wikimedia's "scap" tool we built a feature called "checks" which are configurable commands that run on each target machine and confirm if the desired commands were successful.

Feb 27 2017, 6:00 PM · Ops, Phacility
20after4 added a comment to T12322: Support "tagged(...)" in Repository tokenizer for commit searches in Audit.

This is something I've wished for a few times. Along with just searching for repositories in general.

Feb 27 2017, 5:30 PM · Audit, KDE
20after4 awarded T12322: Support "tagged(...)" in Repository tokenizer for commit searches in Audit a Love token.
Feb 27 2017, 5:30 PM · Audit, KDE
20after4 awarded T10319: Generate unique? profile images for each new user a Love token.
Feb 27 2017, 5:29 PM · Feature Request, People

Feb 25 2017

20after4 added inline comments to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Feb 25 2017, 4:41 PM · Wikimedia, Clusters, Elasticsearch
20after4 added inline comments to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Feb 25 2017, 4:36 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Implemented @epriestley's suggestions and cleaned up the code quite a bit.

Feb 25 2017, 4:31 PM · Wikimedia, Clusters, Elasticsearch

Feb 24 2017

20after4 added a comment to T12296: Improve Phacility repository import performance.

The commit cache should be a fairly large performance win.

Feb 24 2017, 7:22 PM · Customer Impact, Diffusion, Ops
20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Great feedback, thanks! I'll update again over the weekend or early next week.

Feb 24 2017, 7:19 PM · Wikimedia, Clusters, Elasticsearch
20after4 added a comment to T12296: Improve Phacility repository import performance.

My impression is that there is a lot of room for optimization in the RepositoryPullLocalDaemon. I've wanted to tackle that for a while because it causes a fair delay between when a commit goes into git and when it actually shows up in Diffusion.

Feb 24 2017, 10:45 AM · Customer Impact, Diffusion, Ops
20after4 planned changes to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Feb 24 2017, 10:34 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

doh. I arc diff'd from the wrong git state. This is better, I hope.

Feb 24 2017, 10:30 AM · Wikimedia, Clusters, Elasticsearch
20after4 planned changes to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Can you just have the "mysql" service not accept any hosts in its configuration (i.e., always use the same Phabricator hosts)?

Feb 24 2017, 9:43 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

This implements 'service' level config with individual hosts that can have
one or more 'roles' assigned. Currently roles are 'read' and 'write'

Feb 24 2017, 9:39 AM · Wikimedia, Clusters, Elasticsearch
20after4 abandoned D17406: WIP: Cluster "Search Servers" config and back-end abstraction.

ugh, this was supposed to update D17384: Support multiple fulltext search clusters with 'cluster.search' config

Feb 24 2017, 9:35 AM
20after4 added a comment to D17406: WIP: Cluster "Search Servers" config and back-end abstraction.

As currently implemented, search.servers looks like this:

Feb 24 2017, 9:33 AM
20after4 created D17406: WIP: Cluster "Search Servers" config and back-end abstraction.
Feb 24 2017, 9:29 AM

Feb 22 2017

20after4 added a comment to T12134: Develop a Nuance-based Phabricator reporting/support flow.

FWIW I think this is pretty genius. Especially the repro-or-it-didn't-happen aspect.

Feb 22 2017, 6:36 AM · Abuse
20after4 awarded T10612: Editing a panel causes it to duplicate in dashboard a Orange Medal token.
Feb 22 2017, 6:11 AM · Dashboards (v2), Bug Report
20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

There is a small issue with what I've been doing here, so far:

Feb 22 2017, 4:59 AM · Wikimedia, Clusters, Elasticsearch
20after4 awarded T5698: Github-style Remarkup previews on a checked-in resource a Like token.
Feb 22 2017, 4:54 AM · User Delight, KDE, Haskell.org, Wikimedia, Restricted Project, Diffusion, Remarkup
20after4 awarded T10756: Make daemons work correctly no matter where they are or how many copies are running a Orange Medal token.
Feb 22 2017, 4:54 AM · Restricted Project, Daemons

Feb 20 2017

20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Awesome, thanks for the guidance! All very good suggestions, I think it makes sense to have a ThingYouCanHealthCheckInterface and I agree that services make more sense than servers. The scenarios you mention are exactly the kinds of functionality I'd like to make possible.

Feb 20 2017, 6:00 PM · Wikimedia, Clusters, Elasticsearch

Feb 19 2017

20after4 added a comment to T2794: Implement Phage (like Hypershell).

I totally get the motivation to have a strong collection of highly integrated tools which all work together seamlessly and provide a value that is larger than the sum of it's parts.

Feb 19 2017, 11:42 AM · Phage, Infrastructure

Feb 18 2017

20after4 added a comment to D17300: Add repositories to fulltext search index..

Looks good. Couple of minor nits inline.

Your test plan should also include something like this:

  • Edited a repository to have "platypus" in the description, searched for "platypus", found the repository.

Even when bin/search index works, the actual "edit stuff with the web UI" workflow may still not be fully hooked up. Usually, this is because the Editor does not override supportsSearch(), so edits don't rebuild the index. In this case it looks like you're in the clear, so I'd expect this to work correctly with no further changes, but it's worth double checking.

Feb 18 2017, 8:40 PM · Diffusion, Search
20after4 created D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Feb 18 2017, 7:55 AM · Wikimedia, Clusters, Elasticsearch
20after4 awarded T12157: Make it visibly clearer that a Phabricator user account has been disabled a Orange Medal token.
Feb 18 2017, 6:38 AM · Profile, Feature Request
20after4 added a comment to T2794: Implement Phage (like Hypershell).

Cool stuff. I didn't see you already had made so much progress before I commented on T12218. You can safely disregard my clustershell suggestion.

Feb 18 2017, 6:37 AM · Phage, Infrastructure
20after4 added a comment to T12218: Reduce the operational cost of a larger Phacility cluster.

@epriestley: Have you seen clustershell? It's a massively scaleable management shell with some pretty interesting features. Wikimedia operations are adopting it in place of a lot of dsh and saltstack stuff. From what I have seen it is a really solid framework to build upon.

Feb 18 2017, 6:24 AM · Ops, Phacility

Feb 9 2017

20after4 added a comment to T12106: task search not finding task with full word match .

Interestingly, phabricator_maniphest maniphest_transaction gives zero results but "phabricator_maniphest" "maniphest_transaction" works. Seems like the underscores are a problem as much as the period.

Feb 9 2017, 6:52 PM · Restricted Project, Search, Bug Report
20after4 added a comment to T12106: task search not finding task with full word match .

Maybe phabricator should automatically try adding quotes to a search if the initial query returns zero results?

Feb 9 2017, 6:49 PM · Restricted Project, Search, Bug Report
20after4 awarded D17328: Fix icon color on project icon chooser a Like token.
Feb 9 2017, 6:47 PM

Feb 6 2017

20after4 claimed T9893: Support ElasticSearch 2.0 - 5.1.
Feb 6 2017, 5:36 AM · Elasticsearch, Search

Feb 3 2017

20after4 awarded rP42743810e914: When a viewer can't see some of a dashboard's panels, only hide those panels a Orange Medal token.
Feb 3 2017, 7:18 PM

Feb 2 2017

20after4 added projects to D17300: Add repositories to fulltext search index.: Search, Diffusion.
Feb 2 2017, 6:36 PM · Diffusion, Search
20after4 created D17300: Add repositories to fulltext search index..
Feb 2 2017, 6:34 PM · Diffusion, Search
20after4 awarded D17295: Add a Picture Menu Item for Profiles a Like token.
Feb 2 2017, 2:34 PM
20after4 added a comment to T9893: Support ElasticSearch 2.0 - 5.1.

@epriestley: This all sounds excellent. I'll start by fixing any instances of

Feb 2 2017, 3:24 AM · Elasticsearch, Search
20after4 added a comment to T9460: Unable to search for open tasks using Elasticsearch.

I have this working downstream in Wikimedia's instance of phabricator, however, our fork is significantly modified. I intend to refactor this into something that is either a) mergeable upstream or b) installable as an extension but for now the code is on phabricator.wikimedia.org PhabricatorElasticFulltextStorageEngine.php

Feb 2 2017, 3:17 AM · Elasticsearch, Search

Feb 1 2017

robertkraig awarded Community Resources a Love token.
Feb 1 2017, 8:22 PM
20after4 added a comment to T9893: Support ElasticSearch 2.0 - 5.1.

So, @epriestley: How do you feel about me taking over elasticsearch backend and moving it out to an extension rather than keeping it in phabricator core? The other possibility is I could just fork the elastic backend and name it something different, as it seems phabricator already supports loading the engine extension dynamically.

Feb 1 2017, 12:09 AM · Elasticsearch, Search
20after4 added a comment to T9893: Support ElasticSearch 2.0 - 5.1.

@ramm: I'm already on it: https://phabricator.wikimedia.org/T155299

Feb 1 2017, 12:07 AM · Elasticsearch, Search

Jan 31 2017

20after4 added a comment to T9530: Release Server / Workflow app / Future of Releeph .

So I was thinking about software components recently and one of the issues I've had with both Jenkins and Harbormaster is that builds of one repository aren't aware of the builds from another repository. This is a common scenario in the software I build:

Jan 31 2017, 11:47 PM · Restricted Project, Harbormaster
20after4 awarded D16981: Initial code-dump of Release a Like token.
Jan 31 2017, 11:44 PM
20after4 awarded rP5760e499b729: Redesign Home/Profile/Projects side navigation a Love token.
Jan 31 2017, 11:40 PM
20after4 added a watcher for ApplicationEditor: 20after4.
Jan 31 2017, 10:49 PM

Jan 29 2017

20after4 added a comment to D17259: Redesign Home/Profile/Projects side navigation.
In D17259#205427, @chad wrote:

Truth be told I have a diff locally that removes serious business more for all boring all the time.

Jan 29 2017, 10:02 AM

Jan 28 2017

20after4 created U36 commits by 20after4.
Jan 28 2017, 1:42 AM
20after4 awarded T12164: Put an indirection layer between author/committer strings and user accounts a Cup of Joe token.
Jan 28 2017, 1:11 AM · Customer Impact, Diffusion (v3)

Jan 27 2017

20after4 added a comment to T11741: Quickstart can fail to initialize databases if MyISAM is not available (currently, only in Google Cloud).

Our DBAs are currently in the process of testing the a patched mariadb package. I will try to keep you posted on that progress but it looks like the fix is now backported to 10.0

Jan 27 2017, 6:01 PM
20after4 awarded rP5960b1c8a3cd: Allow menu items to render their own content; make Dashboard items render on… a Love token.
Jan 27 2017, 5:45 PM
20after4 added a comment to D17228: Don't require edit capability on the Favorites application to edit personal menu items.

Is there any way that getCustomPHID would return false/null when it's a non-admin editing favorites?

Jan 27 2017, 2:09 AM

Jan 25 2017

20after4 added a comment to T5000: Using Differential with plain Git, without requiring Arc.

Another possibility is that we just build this behavior (intercept and react to ref changes) as an extension point prior to the Herald, and then you can implement whatever magic you want. I suspect very few installs want the default behavior of git push origin mybranch for arbitrarily named branches to be anything except "create a branch".

Jan 25 2017, 11:12 AM · KDE, FreeBSD, Restricted Project, Haskell.org, Differential, Arcanist

Jan 18 2017

20after4 awarded T12101: Phabricator PHP 7 Compatibility a Mountain of Wealth token.
Jan 18 2017, 5:36 AM · Infrastructure, Guides

Dec 5 2016

20after4 awarded T11939: IPv6 Support a Love token.
Dec 5 2016, 7:19 PM · Infrastructure
20after4 awarded rPHU2ffd89902c1b: Support IPv6 in CIDR block lists a Love token.
Dec 5 2016, 7:19 PM

Dec 4 2016

20after4 created T11945: Unable to edit calendar events created by someone else, even after `bin/policy unlock` .
Dec 4 2016, 9:40 AM · Bug Report (Needs Information), Policy, Calendar

Dec 2 2016

20after4 awarded D16973: Implement basic IPv6 address parsing support a Love token.
Dec 2 2016, 8:46 PM

Dec 1 2016

20after4 awarded Blog Post: Write, Review, Merge, Publish: Phabricator Review Workflow a Orange Medal token.
Dec 1 2016, 1:29 AM

Nov 23 2016

20after4 added a comment to T11909: Recurring Events: "Edit all Future Events" edits past instances as well.

This all seems reasonable, I'm actually not 100% sure what happened so I'll try to gather a better understanding of the situation ;)

Nov 23 2016, 7:36 AM · Wikimedia, Calendar, Bug Report

Nov 22 2016

20after4 created T11909: Recurring Events: "Edit all Future Events" edits past instances as well.
Nov 22 2016, 8:07 PM · Wikimedia, Calendar, Bug Report

Nov 18 2016

20after4 awarded Blog Post: Advanced Internet Usage (Experts ONLY!) a Love token.
Nov 18 2016, 11:59 AM

Nov 17 2016

20after4 added a comment to D16889: Fix an EditEngine issue with unlocking fields which can't be locked.

hahahah nice.

Nov 17 2016, 6:30 PM

Nov 15 2016

20after4 added a comment to D16856: Allow Pygments to recognize .rs files as Rust.

Fixed in config

Nov 15 2016, 8:27 PM

Nov 14 2016

20after4 awarded T929: Allow two arbitrary revisions to be compared in Diffusion a Love token.
Nov 14 2016, 8:27 AM · Diffusion (v3), Restricted Project
20after4 added a comment to T11087: Make permissions more granular in repositorys.

FWIW: I believe @paladox means well, he's just young/inexperienced and overly enthusiastic. The decision to ban him is entirely reasonable for upstream though, given the circumstances.

Nov 14 2016, 8:05 AM · Wikimedia, Diffusion, Feature Request
20after4 added a comment to T11034: Provide more information about projects, etc. in tokenizer browse dialog to make distinguishing between similar projects easier.

Now that this has been deployed for a while, I'm curious if there's any feedback about it? Specifically:

  • Does this approach generally seem like it's a reasonable solution to the problem (if not in its current form, in some similar form which handles these issues more gracefully)? Or are we not really in the right ballpark?
Nov 14 2016, 7:48 AM · Restricted Project, Design, Typeahead, Prioritized, Wikimedia

Nov 10 2016

20after4 awarded Blog Post: Encouraging Open Source Etiquette a Love token.
Nov 10 2016, 6:42 PM

Oct 13 2016

20after4 closed D16525: Check for empty output from git ls-tree.

Somehow this didn't autoclose.

Oct 13 2016, 6:22 PM

Oct 12 2016

20after4 added a comment to T11735: Upgrading: Calendar Storage Migrations.

Would it be safe for me to write a migration that sets utcInstanceEpoch equal to utcInitialEpoch on every row in the calendar_event table?

Oct 12 2016, 8:45 AM · Calendar
20after4 added a comment to T11735: Upgrading: Calendar Storage Migrations.

After running the migrations, some instances of recurring events end up with null for the utcInstanceEpoch column. I'm not sure how this happened, however, as some of the instances have a value that matches utcInitialEpoch and I'm not entirely sure what the purpose of utcInstanceEpoch would be. If it matches InitialEpoch then it seems kinda useless, as does null...

Oct 12 2016, 8:41 AM · Calendar
20after4 awarded D16690: Force a couple of Conduit results to the proper types in Calendar a Love token.
Oct 12 2016, 8:10 AM
20after4 added a comment to T11706: Retrieve event date from Calendar "calendar.event.search" method API.

@epriestley: Sounds good to me, this seems quite sensible in every way.

Oct 12 2016, 8:06 AM · Calendar, Feature Request
20after4 added a comment to T11741: Quickstart can fail to initialize databases if MyISAM is not available (currently, only in Google Cloud).

@epriestley: Jaime, Senior DBA at the WMF, has posted some answers for your list of questions:

Oct 12 2016, 7:58 AM

Oct 9 2016

20after4 added a comment to T11741: Quickstart can fail to initialize databases if MyISAM is not available (currently, only in Google Cloud).

Also, reindexing is required after switching to innodb.

Oct 9 2016, 9:32 PM