General Chat
Come, chill, and stay a while

It's a Phabricator instance with a lot of repos with 5k+ commits in each.

Aaaaand it failed. Sad panda.

Looks like I ran out of storage. Womp womp. Okay, I think I can fix this.

You can possibly bin/cache purge --purge-all to get a little more back, or bin/storage probe to see if anything is weirdly oversized.

Jan 13th, 2017

Ah, good to know. I expanded the storage on the RDS instance and got the migration going again. Hoping to get that finished in the next hour or so. Then I'll dive into the storage.

Dunno if I've mentioned it, but I'm super impressed by how far Phabricator has come since I was writing terrible Javelin diffs for the Tools stack.

Hi, Need your help, URGENT! my phabricator can be access through web, but I can't clone code with git, it report port 22 connection refused.


bbrdaric added a participant: bbrdaric.

Hello everyone. How I can change my username on this Phabricator instance?

jacksongabbard removed a participant: jacksongabbard.

Write a 20 word essay about why you regret your username choice, then tell me what you want to change it to.

I recommend XxXNeoBlackDragon69xXx420.

Info-Screen added a participant: Info-Screen.
fosskevin removed a participant: fosskevin.
Jan 14th, 2017

"Need your help, URGENT!" made my day

Hi guys, current my phabricator user is local register users, if I add openldap to authentication, can I combine the current users with ldap users? like current there is a users named yushanzhi and email is, and the new ldap users is shanzhi.yu, email also be;

Seems like someone restricted access to the Test Page on the wiki

Jan 15th, 2017
Jan 16th, 2017

Hi, does phabricator support seq dialogis

s/seq dialogis/sequence diagrams

No support for sequence diagrams.

Can I add above tool to phabricator through externals? @avivey

if yes, any example or guide how-to?

There used to be support for Graphviz, which was a lot simpler (No javascript), but it was removed for security reasons - see T9408.

That task also has an example of how to add it back as an extension.
You might be able to get something similar working for sequence diagrams, although adding arbitrary javascript code to phabricator is very hard, so maybe look for a server-side implementation.

  • not familiar with JS, seem it is not a good way. So is there any plan add sequence diagrams for Ph?

I don't remember anyone asking for it, and I don't think it will get much priority if you asked for it now, sorry - bandwidth is very limited and prioritization is ruthless.

@epriestley I recently changed my last name so please change my username it to "bbrdaric". Thanks for the suggestion though :D

  • @bbrdaric, I changed your username.
  • I removed the reference to the test page: this install is no longer for testing/demos.
Jan 17th, 2017

I configure all repos with commit review before push, but some of the repos really doesn't need review, can I add such rules to save one repo from review?

bbrdaric removed a participant: bbrdaric.
uforic removed a participant: uforic.

Is there way to configure local linter ? I would like to increase char limit to 120 instead of 80.

Jan 18th, 2017

Anyone know which email preference governs the delivery of "[Diffusion] [Committed]" messages?

First one on the page: AuditsA commit is created.

Cool. I was hoping that was it. Thank you.

cool new top bar

ooh "Log Out" highlights as bad compared to the other items

you can never leave

I'm gonna have to make a lot of new feature requests then~

hoisted by my own petard! alas!

maybe I should make that Log Out

Jan 19th, 2017
matthew_dyn added a participant: matthew_dyn.

I'm having an issue with phabricator, can someone point me in the right direction to get some help?

depends on the issue you're having

We recently changed our site path to match a new security certificate. Phabricator is hosting our repo, and now we are having an issue with cloning it. I am not sure if it is a phabricator setting, or something I missed on other server settings.

Try Repository Hosting Guide, especially the troubleshooting sections.

Hi crowd. If I read things correctly, Diffusion does an automatic repository update everytime someone pushes to it (self hosted repo).

So why does it keeps doing the automatic updates? Because, doing so every 15s for hours has sent the load through the roof, and for no good reason.

In other words, is there a way to dosable automatic repository updates for locally hosted repositories?

If you believe you've found a bug in Phabricator, please file a report with version information and reproduction steps following the guidelines in Contributing Bug Reports.

I can not reproduce the issue you describe (self-hosted repositories sending load "through the roof"). Here's load for over the last week -- note that it never rises above 15%. Beyond self-hosting a number of repositories, we also serve 500K web requests per day per host in this service cluster:

How do you define "site path" ?

Oh wow -- sorry ignore that message. The UI hadn't updated

@epriestley At this stage, I don't know if it's a bug or a feature. Oddly enough, CPU usage is hardly noticeable, but every time a repository update happens, 10 min load averages spikes to 10+. So I guess my question becomes: if, for self-hosted repositories, an update happens for every push, why are there additional automatic updates?

Hm ok, disregard that. CPU usage correlates to load. We're showing 12 to 15% CPU usage at the moment

See Consulting if you'd like me to give you a walkthrough of the Phabricator internals.

Reproductions steps won't be anything special really. Created a repo, pushed content. But I'll start a bug report nonetheless

We are hosting phabricator ourselves. The site path would be the domain name, my mistake on that term. So once I changed as much of the security settings that I could find, I am not longer able to clone one of the two repositories. It was both of them, but somehow one is now working fine with no changes.

Um, no, I was just asking about something that seems redundant...

Basically all we ask is reproduction steps be something we can follow and see locally. If for example, it's a specific AWS tier, PHP package, etc, knowing that so we can use the same is important.

Yup, I'm going to look into that. At the moment I'm trying repository update --trace and see if it yields anything of value

I'm seeing about 60-odd "hp log" calls, about 1s each … they seem to refer to branch tips

However, my initial question remains: is there a way to disable automatic (cron) updates? If not, then why not? What are they for in addition to the automatic post-push updates?

Guess not then. Bug report it is!

They discover commits.

@chad The wiki seems to imply that when the repository is hosted by Phabricator (which is our case), this happens automatically. So why the redundancy?

The push log doesn't actually tells phabricator about the updates themselves, it just updates the disk image and tells phabricator to "look soon".
The every-15s-event is reading the state of the repo and updates the database.

I see. But the question remains then. If the push log is going to induce the looksoon event, why still do it every 15s (and then less often) when there has been no push?

hg log taking a second sounds really wild. What's funny in your instance?

There's no way to disable or control the update time w/o changing the code.

It's slightly safer this way (In case the look-soon didn't work, or if you bypass some of the code), and reasonably easier, and hardly ever actually makes any load on the system except in very strange cases.

I have no idea. When I run the same hg log manually, it runs as fast as one might expect. The repository update --trace shows each call as taking 1'300'000 us on average though

Unless there's something else happening for each of these calls (db I/O perhaps?) of course, that doesn't appear in the trace log

those are literally hg log calls, using the hg you have installed. Maybe you have something like apparmor that hates the daemon user?

Nope, no such thing. The environment is a container (linux-vserver), but apart from that, it's pretty much vanilla. I run hg as the daemon user without any issue or sluggishness

Ok, I managed to reproduce the problem with a near-empty repo and 2 commits. repository update takes about .8s user CPU

The whole bundle2 issue is clearly not helping, since it breaks pushes :'D

jacksongabbard removed a participant: jacksongabbard.
chad removed a participant: zackisaqt.
chad removed a participant: aosmith.
chad removed a participant: antoniomabad.
chad removed a participant: joakim.plate.

Funny thing by the way. The bundle2 is randomly mitigated by the trick suggested in … sometimes it works, sometimes it doesn't :P

@LeCoyote - from the client you can use mercurial 3.4.2 to push without running into errors, or apparently there's some config for turning off (though it wasn't clear if that was a server-side or client-side config)

I use mercurial repositories on phacility-hosted instance of phabricator and I just use hg-3.4 pus -r master locally to get things pushed

I would like to find time to figure out what's wrong with our method of filtering bundle2, but:

There's an easy workaround

(I was going to write a lot but I'm suddenly tired)

I've never managed to turn bundle2 off completely. Tried tinkering with the server *and* client side hgrc, to no avail. And downgrading, well, I've heard of security issues but haven't investigated them myself. Anything older than 3.8 is just not available on Gentoo for example, which usually means it isn't deemed safe enough :/

Jan 20th, 2017

@LeCoyote - I'm pretty sure the security issues are if you use an older of mercurial for hosting the service. When I use 3.4 it's only on the client to push to the server (running 3.8+). All I did was download the source from mercurial-scm and run make local (it's in the README). It results in a standalone binary that I use only for pushing changes to phabricator services. It's the only way I've found to not run into bundle2 issues.

@cspeckmim Understood, thanks. If we can slve the performance issue, we'll look into that