Page MenuHomePhabricator
Feed Advanced Search

Mar 28 2017

20after4 accepted rP8879118b696f: Fix a mid-air collision around SearchService roles.
Mar 28 2017, 10:13 PM
20after4 added a task to D17575: Provide some guidance about elasticsearch in cluster docs: T12450: New Search Configuration Errata.
Mar 28 2017, 10:07 PM
20after4 added a revision to T12450: New Search Configuration Errata: D17575: Provide some guidance about elasticsearch in cluster docs.
Mar 28 2017, 10:07 PM · Search
20after4 created D17575: Provide some guidance about elasticsearch in cluster docs.
Mar 28 2017, 10:06 PM
20after4 accepted D17574: Re-run config validation from `bin/search`.
Mar 28 2017, 9:46 PM
20after4 committed rP699228c73b74: Address some New Search Configuration Errata (authored by 20after4).
Address some New Search Configuration Errata
Mar 28 2017, 8:19 PM
20after4 closed D17564: Address some New Search Configuration Errata by committing rP699228c73b74: Address some New Search Configuration Errata.
Mar 28 2017, 8:19 PM
20after4 added a comment to D17564: Address some New Search Configuration Errata.

Just as a general workflow suggestion, I'd encourage you to do this as a bunch of small changes instead of one big "fix everything" change

Mar 28 2017, 8:16 PM
20after4 added a comment to D17572: Make `bin/search init` messaging a little more consistent.

Seems legit.

Mar 28 2017, 8:00 PM
20after4 accepted D17572: Make `bin/search init` messaging a little more consistent.
Mar 28 2017, 8:00 PM
20after4 accepted D17573: Remove PhabricatorSearchEngineTestCase.
Mar 28 2017, 7:59 PM
20after4 accepted D17571: Fix isReadable() and isWritable() in SearchService.
Mar 28 2017, 7:58 PM
20after4 committed rP9e2f263bb49c: Add repositories to fulltext search index. (authored by 20after4).
Add repositories to fulltext search index.
Mar 28 2017, 7:58 AM
20after4 closed D17300: Add repositories to fulltext search index. by committing rP9e2f263bb49c: Add repositories to fulltext search index..
Mar 28 2017, 7:58 AM · Diffusion, Search
20after4 updated the diff for D17300: Add repositories to fulltext search index..

push to staging for harbormaster

Mar 28 2017, 7:56 AM · Diffusion, Search
20after4 updated the diff for D17300: Add repositories to fulltext search index..

fix '\n'

Mar 28 2017, 7:55 AM · Diffusion, Search
20after4 updated the summary of D17564: Address some New Search Configuration Errata.
Mar 28 2017, 7:41 AM
20after4 updated the diff for D17564: Address some New Search Configuration Errata.

Better formatting of setup warning messages.

Mar 28 2017, 7:41 AM
20after4 requested review of D17564: Address some New Search Configuration Errata.

this fixes the stemmer and tokenizer to do a better job of matching words.separated.by.punctuation as well as other issues found by @epriestley.

Mar 28 2017, 1:42 AM
20after4 updated the summary of D17564: Address some New Search Configuration Errata.
Mar 28 2017, 1:40 AM
20after4 updated the task description for T12450: New Search Configuration Errata.
Mar 28 2017, 1:38 AM · Search
20after4 added a comment to T12450: New Search Configuration Errata.

I've updated D17564: Address some New Search Configuration Errata to address the tokenization and word stemming issues.

Mar 28 2017, 1:35 AM · Search
20after4 updated the diff for D17564: Address some New Search Configuration Errata.
  • Fixed the stemmer. user matches users and vise-versa.
  • Added a different tokenizer so that this.is.a.test tokenizes to the following:
  • this.is.a.test
    • this
    • is
    • a
    • test
Mar 28 2017, 1:34 AM

Mar 27 2017

20after4 updated the diff for D17564: Address some New Search Configuration Errata.

trying once more...

Mar 27 2017, 2:49 PM
20after4 updated the diff for D17564: Address some New Search Configuration Errata.

Try to make harbormaster happy by setting repository.callsign globally in ~/.arcrc

Mar 27 2017, 2:48 PM
20after4 created D17564: Address some New Search Configuration Errata.
Mar 27 2017, 2:41 PM
20after4 added a revision to T12450: New Search Configuration Errata: D17564: Address some New Search Configuration Errata.
Mar 27 2017, 2:41 PM · Search
20after4 added a comment to T10640: Allow application queries to be promoted as global search modes.

Maniphest advanced search is somewhat buried, indeed. I think one easy solution to this would be to add "Task search" to the main phab menu (using the new custom menus feature)... In fact, I think I will do that now at https://phabricator.wikimedia.org

Mar 27 2017, 10:21 AM · Search, Feature Request
20after4 awarded D17563: Cleaner fullscreen / preview states for Remarkup bar a Love token.
Mar 27 2017, 10:14 AM
20after4 added a comment to T12450: New Search Configuration Errata.

  • Searching for f*a*c*t*o*r*y*s*u*r*p*l*u*s*z*z*q*q*z*z*q*q produces nonsenical results (many results, when I would expect no results: the results do not contain that sequence of letters in order).
  • Searching or user fails to find task Grant users tokens when a mention is created, suggesting that stemming is not working.
  • Searching for users finds that task, but fails to find a task containing "per user per month" in a comment, also suggesting that stemming is not working.
  • Searching for maniphest fails to find task maniphest.query elephant, suggesting that tokenization is ElasticSearch is not as good as the MySQL tokenization for these words (see D17330).
Mar 27 2017, 9:45 AM · Search
20after4 added a comment to T12450: New Search Configuration Errata.

f*a*c*t*o*r*y*s*u*r*p*l*u*s*z*z*q*q*z*z*q*q returns the same results as
f a c t o r y s u r p l u s z z q q z z q q so it appears to be treating those as individual single-letter tokens. strange.

Mar 27 2017, 9:37 AM · Search
20after4 added a comment to T12443: Applying fulltext limits first causes missing results.

I think it would make a lot of sense to construct the two queries separately (and in parallel) with a short timeout, then handle the timeout gracefully allowing the user to refine their query further. This would avoid the denial of service situation which happened to Wikimedia more than once due to users repeatedly executing really expensive searches until mysql fell over from the load.

Mar 27 2017, 8:43 AM · Restricted Project, Search, Bug Report

Mar 26 2017

20after4 added a comment to T12450: New Search Configuration Errata.

I ran into a lot of confusion because the versioned object indexes are not namespaced per-service. Basically, if you insert version 95 of a document into Elastic, the indexer thinks that version 95 doesn't need to go into MySQL, even though it does. So when you run bin/search index ..., you may get only a subset of the updates you actually need. The object index versions need to change to become engine-aware so they are stored per-service, not globally, and/or the whole mechanism needs to include a hash of cluster.search or just be turned off. Until this is fixed, it can be worked around with using --force everywhere.

bin/search index might reasonably provide summary output about this ("392 documents were not indexed because they haven't changed, use --force to update them.").

Mar 26 2017, 11:08 PM · Search
20after4 added a comment to T12450: New Search Configuration Errata.

  • Searching for f*a*c*t*o*r*y*s*u*r*p*l*u*s*z*z*q*q*z*z*q*q produces nonsenical results (many results, when I would expect no results: the results do not contain that sequence of letters in order).
  • Searching or user fails to find task Grant users tokens when a mention is created, suggesting that stemming is not working.
  • Searching for users finds that task, but fails to find a task containing "per user per month" in a comment, also suggesting that stemming is not working.
  • Searching for maniphest fails to find task maniphest.query elephant, suggesting that tokenization is ElasticSearch is not as good as the MySQL tokenization for these words (see D17330).
  • Searching for users -blue returns a huge number of results: significantly more than users. Expected behavior: fewer results, omitting those results matching blue.
  • Searching for users blue returns more results than users or blue. Expected behavior: fewer results, because only results which match "users" AND "blue" are returned. The result set includes completely irrelevant results.
Mar 26 2017, 10:59 PM · Search
20after4 added a comment to T12450: New Search Configuration Errata.

@epriestley: Thanks for the detailed feedback... I'll get to work ;)

Mar 26 2017, 10:56 PM · Search
20after4 added a comment to T12450: New Search Configuration Errata.
  • Has T8602 been resolved?

I can not reproduce it on wikimedia's install.

Mar 26 2017, 12:42 PM · Search
20after4 added a comment to T12450: New Search Configuration Errata.
  • Write an "Upgrading: ..." guidance task with narrow instructions for installs that are upgrading.

TODO

  • Do we need to add an indexing activity (T11932) for installs with ElasticSearch?

Yes, I think so

  • We should more clearly detail exactly which versions of ElasticSearch are supported (for example, is ElasticSearch <2 no longer supported)? From >T9893 it seems like we may only have supported ElasticSearch <2 before, so are the two regions of support totally nonoverlapping and all ElasticSearch users will need to upgrade?
Mar 26 2017, 12:31 PM · Search
20after4 added a comment to T12450: New Search Configuration Errata.

I haven't been testing with elasticsearch < 2.0 so this might break backwards compatibility. It wouldn't be difficult to fix any compatibility issues though, with a tiny bit of testing.

Mar 26 2017, 12:27 PM · Search
20after4 added a comment to T6552: Implement partial / wildcard searching (Elasticsearch).

With the elasticsearch 'simple_query_string' query parser it only works if you use *pricot, for example, outside of quoted phrases.

Mar 26 2017, 12:23 PM · Elasticsearch, Search
20after4 added inline comments to D17300: Add repositories to fulltext search index..
Mar 26 2017, 12:22 PM · Diffusion, Search
20after4 added a comment to T5282: Provide documentation on setting up ElasticSearch.

Note there will finally be a little bit of documentation once this install rebuilds diviner docs: The url should be https://secure.phabricator.com/book/phabricator/article/cluster_search/ (eventually)

Mar 26 2017, 12:13 PM · Elasticsearch, Documentation
20after4 closed T6552: Implement partial / wildcard searching (Elasticsearch) as Resolved.

This should work just fine with the index mapping and query generation in rPe41c25de5050: Support multiple fulltext search clusters with 'cluster.search' config

Mar 26 2017, 12:09 PM · Elasticsearch, Search
20after4 closed T9779: ./bin/search init error with elasticsearch 2.0, a subtask of T9893: Support ElasticSearch 2.0 - 5.1, as Resolved.
Mar 26 2017, 12:06 PM · Elasticsearch, Search
20after4 closed T9779: ./bin/search init error with elasticsearch 2.0 as Resolved.
Mar 26 2017, 12:06 PM · Elasticsearch
20after4 added a revision to T9893: Support ElasticSearch 2.0 - 5.1: D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 26 2017, 12:05 PM · Elasticsearch, Search
20after4 added a task to D17384: Support multiple fulltext search clusters with 'cluster.search' config: T9893: Support ElasticSearch 2.0 - 5.1.
Mar 26 2017, 12:05 PM · Wikimedia, Clusters, Elasticsearch
20after4 renamed T9893: Support ElasticSearch 2.0 - 5.1 from Support ElasticSearch 2.0 to Support ElasticSearch 2.0 - 5.1.
Mar 26 2017, 12:04 PM · Elasticsearch, Search
20after4 closed D15843: Prevent sending a header with unsafe characters [\r\n\0].
Mar 26 2017, 12:03 PM
20after4 added inline comments to D17300: Add repositories to fulltext search index..
Mar 26 2017, 11:53 AM · Diffusion, Search
20after4 updated the diff for D17300: Add repositories to fulltext search index..

resubmit with arc diff --config repository.callsign=P

Mar 26 2017, 8:44 AM · Diffusion, Search
20after4 updated the diff for D17300: Add repositories to fulltext search index..

Addressed epriestley's feedback.

Mar 26 2017, 8:42 AM · Diffusion, Search
20after4 updated the test plan for D17300: Add repositories to fulltext search index..
Mar 26 2017, 8:28 AM · Diffusion, Search
20after4 committed rPe41c25de5050: Support multiple fulltext search clusters with 'cluster.search' config (authored by 20after4).
Support multiple fulltext search clusters with 'cluster.search' config
Mar 26 2017, 8:16 AM
20after4 closed D17384: Support multiple fulltext search clusters with 'cluster.search' config by committing rPe41c25de5050: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 26 2017, 8:16 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

try to get harbormaster to build (push to staging?)

Mar 26 2017, 8:13 AM · Wikimedia, Clusters, Elasticsearch

Mar 25 2017

20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • actually, acutally utilize the health monitoring...
Mar 25 2017, 10:29 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Improved the status monitoring UI in config/cluster/search/
  • Actually utilize the health monitoring cache to avoid connecting to downed servers.
Mar 25 2017, 10:27 PM · Wikimedia, Clusters, Elasticsearch

Mar 23 2017

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

@epriestley sweet, I'll land this as soon as I see that you've merged to stable.

Mar 23 2017, 9:25 PM · Wikimedia, Clusters, Elasticsearch
20after4 added a comment to T12438: Project tokenizer functions like "any()" and "not()" do not include descendants.

I can confirm that In Any: does not seem to include subprojects. I tried to make some sense of the way the project search functions work but it's pretty complicated.

Mar 23 2017, 4:54 PM · Typeahead, Projects, Maniphest, Feature Request
20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

@epriestley: I think this is ready to land but I want to give you one more chance to change your mind.

Mar 23 2017, 3:33 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Created diviner documentation: Cluster: Search
  • removed stray phlog
Mar 23 2017, 3:29 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Fix searching relationships which I had inadvertantly broken.
  • Better elasticsearch 2.x and 5.x support
  • more optimized query
Mar 23 2017, 12:58 PM · Wikimedia, Clusters, Elasticsearch
20after4 added a comment to T12441: Implement "Phabricator Stories".

If there's any good content in this feature at all, why do I never see it reposted to Reddit or Facebook or Twitter? Are Reddit and Twitter just for old people now?

Mar 23 2017, 3:33 AM
20after4 added a comment to T12003: Explain to users how fulltext queries are parsed and executed.

Elasticsearch has much better support for non-latin language analysis. See https://www.elastic.co/guide/en/elasticsearch/guide/current/icu-tokenizer.html discusses their ability to properly tokenize Thai, Chinese and Japanese text.

Mar 23 2017, 3:10 AM · Search
20after4 awarded rP9b92e56dfc03: Don't link "Dxxx" on Differential revision pages a Love token.
Mar 23 2017, 2:57 AM

Mar 22 2017

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

Fix method signature un-final PhabricatorElasticFulltextStorageEngine

Mar 22 2017, 11:59 PM · Wikimedia, Clusters, Elasticsearch
20after4 added inline comments to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 22 2017, 7:13 AM · Wikimedia, Clusters, Elasticsearch
20after4 abandoned D17509: Updated PhabricatorElasticFulltextStorageEngine for elasticsearch 5.
Mar 22 2017, 7:08 AM
20after4 added inline comments to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 22 2017, 7:07 AM · Wikimedia, Clusters, Elasticsearch
20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Ok I think I've eliminated the problematic parts like indexing project slugs.

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

Get rid of static.

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

address review feedback that I hadn't gotten to yet.

Mar 22 2017, 6:53 AM · Wikimedia, Clusters, Elasticsearch
20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Note: I'm not sure why harbormaster is failing?

Mar 22 2017, 6:44 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Cleaned up the elastic query and added comments describing the purpose of the clauses
  • a couple of bugfixes found by further testing
Mar 22 2017, 6:43 AM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Ok I've reworked this quite a bit and I may have messed up somewhere in the process.

Mar 22 2017, 5:27 AM · Wikimedia, Clusters, Elasticsearch

Mar 21 2017

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

While the git ls-remote change isn't really motivated as a performance improvement, it does seem to have reduced CPU usage a measurable amount (deployed on the morning of 3/18), maybe 15%:

Mar 21 2017, 2:19 PM · Customer Impact, Diffusion, Ops
20after4 added a comment to D17509: Updated PhabricatorElasticFulltextStorageEngine for elasticsearch 5.

So I've done a bit more thinking about how to implement the changes to the engine class, especially with regards to any bits that are not wanted in the upstream but are desirable for wikimedia's implementation.

Mar 21 2017, 2:11 PM
20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Just to make sure I haven't missed anything:

  • We currently write health checks but never read them, right? So there's no effect (other than the UI "Status" changing) when a service fails health checks? That seems fine for now, I just want to make sure I didn't miss a health check read somewhere.
Mar 21 2017, 2:03 PM · Wikimedia, Clusters, Elasticsearch

Mar 20 2017

20after4 added a comment to D17509: Updated PhabricatorElasticFulltextStorageEngine for elasticsearch 5.

Does this require a full bin/search index for installs using Elastic? It looks like the index structure changes...

Mar 20 2017, 5:10 PM
20after4 added inline comments to D17509: Updated PhabricatorElasticFulltextStorageEngine for elasticsearch 5.
Mar 20 2017, 4:29 PM
20after4 added a comment to T9530: Release Server / Workflow app / Future of Releeph .

@avivey: I'm somewhat interested in this if you have any tips for getting it working locally I would like to try it out and see if I can contribute anything towards a finished extension.

Mar 20 2017, 12:32 PM · Restricted Project, Harbormaster
20after4 updated the summary of D17509: Updated PhabricatorElasticFulltextStorageEngine for elasticsearch 5.
Mar 20 2017, 12:29 PM
20after4 added inline comments to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 20 2017, 12:26 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

rebased on top of D17509: Updated PhabricatorElasticFulltextStorageEngine for elasticsearch 5

Mar 20 2017, 12:20 PM · Wikimedia, Clusters, Elasticsearch
20after4 created D17509: Updated PhabricatorElasticFulltextStorageEngine for elasticsearch 5.
Mar 20 2017, 12:09 PM
20after4 abandoned D16304: Fall back to parent tasks / subtasks when the task graph is big.
Mar 20 2017, 12:05 PM

Mar 16 2017

20after4 updated the test plan for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 16 2017, 3:27 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Move the stats definitions into the engine so the status UI remains engine agnostic.
  • Fix a bug where role => false was being treated like role => true in the UI
Mar 16 2017, 3:26 PM · Wikimedia, Clusters, Elasticsearch
20after4 added a comment to D17384: Support multiple fulltext search clusters with 'cluster.search' config.

I'm pleased to report that this has been live on wikimedia's phabricator for about a week without any incidents whatsoever. Additionally, we are in the process of migrating from elasticsearch 2.x to 5.x and the ability to write to multiple clusters is really working out nicely for transition.

Mar 16 2017, 3:25 PM · Wikimedia, Clusters, Elasticsearch
20after4 abandoned D16179: Fix inconsistent behavior in calendar recurrence sequence, add sequence nav buttons.
Mar 16 2017, 2:57 PM
20after4 awarded T11034: Provide more information about projects, etc. in tokenizer browse dialog to make distinguishing between similar projects easier a Mountain of Wealth token.
Mar 16 2017, 2:54 PM · Restricted Project, Design, Typeahead, Prioritized, Wikimedia

Mar 14 2017

20after4 edited the content of Community Resources.
Mar 14 2017, 3:46 PM
20after4 added a comment to T12375: Integrate Conduit API for Policy Object Creation.

@stettberger: If there is anything missing from the WMF policy API extension, please feel free to file tasks under https://phabricator.wikimedia.org/tag/wikimedia_phabricator_extensions/ or open a differential revision against https://phabricator.wikimedia.org/source/phab-extensions/. I will be glad to review patches, I can't make any promises about feature requests but reasonable changes will be considered.

Mar 14 2017, 3:28 PM · Policy, Feature Request
20after4 awarded rP2fed5b69257d: Fourth fix for the magical world of crumbs and text-overflow a Manufacturing Defect? token.
Mar 14 2017, 3:15 PM

Mar 10 2017

20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Added index stas to status ui
  • Separate mysql status from elasticsearch status and show different set of columns appropriate to each cluster type.
Mar 10 2017, 3:48 PM · Wikimedia, Clusters, Elasticsearch
20after4 added a comment to T12375: Integrate Conduit API for Policy Object Creation.

What I would find especially useful would be a way to create named policies and then reference them when creating objects. That might warrant a separate feature-request task though.

Mar 10 2017, 10:40 AM · Policy, Feature Request
20after4 added a comment to T12375: Integrate Conduit API for Policy Object Creation.

I don't think this is related to wikimedia since we already have the functionality live in the WMF production install.

Mar 10 2017, 10:37 AM · Policy, Feature Request

Mar 9 2017

20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.
  • Remove unused healthrecord stuff from PhabricatorSearchCluster class
  • Add back getDisplayName to the PhabricatorSearchCluster class because it's needed.
Mar 9 2017, 6:47 PM · Wikimedia, Clusters, Elasticsearch
20after4 updated the diff for D17384: Support multiple fulltext search clusters with 'cluster.search' config.

Addressed latest round of feedback.

Mar 9 2017, 4:05 AM · Wikimedia, Clusters, Elasticsearch
20after4 added inline comments to D17384: Support multiple fulltext search clusters with 'cluster.search' config.
Mar 9 2017, 12:26 AM · Wikimedia, Clusters, Elasticsearch