General Chat
PublicCome, chill, and stay a while

mzampare joined the room.

Hi folks, we would like to know if and how you think that the phabricator family of tools could be used in a different context (a much more lightweight context, in fact) that what appears to be your standard review workflow. The main issue is that phabricator seems to be tailored at reviewing delta (commits) changes with respect to an already well reviewed baseline.
In our case instead, we would like to be able to hand-pick existing source code artefacts from our SVN repository, and submit them to review (thus benefitting from all the advantages of the Phabricator user interface, notification, issue tracking and so on). Has anyone else had this need so far ? Would there be any sensible way to achieve that? Thanks and I hope this is the right place for such post.

@mzampare - Generally not feasible now, see T5722 and T4348

As an anecdote - we used to review in a similar fashion to what you describe (selecting existing artifacts already committed upstream to review) - but we've moved almost entirely to the pre-commit review flow that phabricator promotes

We occasionally still do the "grab a bucket of code to review", but it's only under specific circumstances

I'm having trouble installing a dashboard. I feel like I'm missing something incredibly obvious: I created a dashboard, and am now viewing its 'manage' UI. where do I actually apply the dashboard so that it replaces the home page, either of my user, or all users?

On https://phacility.com/phabricator/dashboards/ it shows a UI for installing the dashboard: https://i.imgur.com/JRd1i51.png - but I can't figure out how to actually install it: https://i.imgur.com/jTwjx6p.png

Version info: https://i.imgur.com/fCE46lb.png - I'm using the Bitnami Phabricator AMI on Amazon S3. Is there a setting I need to enable to be able to see the 'install dashboard' option? I'm logged in as admin.

We don't provide support for bitnami or older installations.

gotcha, cheers

Update Phabricator though, Dashboards went through a bit of cleanup since your last update.

This workflow should be obvious now.

May 16th, 2017
michael.stahre joined the room.

After looking around it already seems like this is not possible, but I wanted to ask someone directly: We have a use-case where we (similarly to how milestones show up in a project's workboard as single columns) want to get a workboard that contain a specific column from three projects, as well as the milestone columns for the active columns in each of those projects. We want them all on one workboard for sprint planning, so we can get an overview of what is ready to be put into each sprint (milestone, of which we have one per project) and what has been put into the sprint, for planning how to divide our resources across the projects. Am I right that there is no way to accomplish something like this currently? Does anyone know if there's some specific task in the upstream that might be relevant?

gou1 joined the room.
franjesus joined the room.

@michael.stahre: That sounds like T5474 plus maybe T10333.

May 17th, 2017
TomH joined the room.

Hi, when importing an SVN repo that's been around for a while (i.e. around 10 years), I noticed the import took several days to complete and when done it increased the size of the MySQL DB by around 25Gb. Is there a way to prevent this as it seems a lot of old commit/revision history to be carrying around in the DB that will probably never be referenced? Importing a few of our older repo's with a lot of commits will require a significant amount of storage space for something we'll never reference or use. Is there a feature to archive off old revisions from the Phabricator DB side?

What I did was to migrate to mercurial (git may also do) and use the CollapseExtension to collapse the history as a single initial commit that spawned several years. You may want to keep a copy of the old commits somewhere for reference purposes in case they are needed.
https://www.mercurial-scm.org/wiki/CollapseExtension

With the subversion extension to hg you can pull from a svn repo as if it were a mercurial repo
https://www.mercurial-scm.org/wiki/HgSubversion

You can also remove large binary files from the history (those are not mercurial-friendly) using the ConvertExtension (hg->hg)
https://www.mercurial-scm.org/wiki/ConvertExtension

In fact maybe you can use convert extension to convert from svn directly and keep only the files that you want (excluding large binary files)

Thanks for the advice but wasn't really looking to migrate to a different source code control system just to overcome this issue. I'd hoped to find a way to remove old revisions (or avoid importing them) at the Phabricator side.

You can always use mercurial as an "external tool" to generate a cleaned up repo and then convert that to svn

poellinger joined the room.

Hi all, I found nothing to delete my account. Can anyone help me?

poellinger left the room.

We usually don't consider disk/db space to be of any significant cost, @TomH. If the older repo is 10x bigger, it will be 250Gb, which would cost about $5/month in AWS.
Time OTOH is important to us, and several days might be over the limit (But SVN is much slower than git/hg to import). How many revisions (commits?) are there in the repo, and how big is the latency?

JohannesMP left the room.
May 18th, 2017
pamaury joined the room.

Hi, I installed Phabricator on my server (so far so good). I imported a repository and switched it from Observe to None after import so that it is now hosted. But when I try to switch it from Visible: All Users to Visible: Public, the website times out after 30 seconds. Any clue as to why and how I can solve this?

Look at the webserver's logs and see if there's anything there? It shouldn't happen.

As far as I can tell the timeout comes from Phabricator itself. The message I get is:

UNRECOVERABLE FATAL ERROR <<<

Maximum execution time of 30 seconds exceeded

Timeout is in LiskDAO.php, basically it is spending 30 second doing *something* and then gets killed by apache

michael.stahre left the room.

Maybe the database is slow?

LiskDAO is part of the ORM.

Is the cpu spinning during these 30 seconds?

The CPU is spinning a lot for a few seconds but then it goes back to 5/10% for apache2 until it times out.

What should I do?
Usage Exception: No unit test engine is configured for this project. Create an '.arcunit' file, or configure an advanced engine with 'unit.engine' in '.arcconfig'.

Is there a document about .arcunit structure?

Hi, I am consistently getting errors such as this P2051, when arc diff'ing from a windows machine on a mercurial repo. The revision gets created but it has no associated commits. I have a herald rule to forbid commits with no approved revisions and this person always needs "manual intervention" to finally commit her changes.
Other windows and linux machines with the same version (updated to latest commit 3c4735795a29) of arcanist are working fine though. Google says similar errors are happening elsewhere (P1928) but no other clues... Any idea about what may be going wrong?

I've solved the issues with running arc --trace

rlogiacco joined the room.

Hi lads, I'm pretty new to Phabricator and I have a few questions for more experienced users:

  1. I'm using mercurial and importing an existing repo it gets stuck (for more than 1h) to 99.85% I checked the server processes and apparently there is nothing going on at daemons level, so... I'm unable to share the repo with you as it's a project I cannot disclose, but is there anything I should check?
  2. I intend to use Phabricator mostly to use Differential but my team wants to adopt a daily code review strategy: every day a new code review is sent to the team containing all the code pushed during the previous day. Is that possible with Archanist and do you have any suggestion on how can I achieve this goal?

#2 isn't possible, and isn't pre-commit review (Differential).

See https://secure.phabricator.com/phame/post/view/766/write_review_merge_publish_phabricator_review_workflow/ for what the expected workflow is. Offhand, daily commit review seems... odd? What's the benefit vs. just normal post-commit review with Audit?

@chad reduce the amount of times team members have to visit the site? I stress to have many small commits and frequent pushes... in a team of 8 we easily reach 100 commits an hour and 20 pushes

Sure, but if you're pushing 10 commits per hour consistently, then code review / code quality isn't a focus of the organization.

T4348 is the closest task.

I would still think commit-based auditing to be both more efficient for the reviewer and better at exposing issues over just a big diff for the past day. But I've also used the tool for like 10 years, so it's second nature to me. heh.

@rlogiacco Are you using a very old version of phabricator? We used to have some bugs where repos would remain in 99.99% importing for ever, but that was mostly resolved a long time ago.

You can manually mark the repository as "fully imported" if you think this is the issue using ./bin/repository mark-imported.

@rlogiacco - How large is the repository? I agree with @avivey that it's likely an outdated version of Phabricator.

What does reducing the number of times users visit the site accomplish for your team? We've used Phabricator for ~2 years and this has never come up as a discussion point - we also used to do post-commit review but have switched to the pre-commit workflow that Differential facilitates. Like @chad said using Audit is probably the closest to what you're trying to do. You could setup Phabricator to host a mirror of the repository but not observe the upstream - set up a script that runs nightly to push from upstream into Phab, have Phab auto-create and assign the audits.

*phacilitates

May 19th, 2017
Even201314 joined the room.

Hi,I installed Phabricator on Mac OS(Nginx + php-fpm + mysql). But it often showed "Sorry, the page you are looking for is currently unavailable.
Please try again later.....". And I must restart php-fpm to fix it. I checked the php-fpm's log,and found "WARNING: [pool www] child 59935, script 'phabricator/webroot/index.php' (request: "POST /index.php") execution timed out (32.711473 sec), terminating".How can I solve this problem

hi lads, sorry for my late replies

reconnecting to yesterday's topic, @chad, my organization is not currently focused on code quality, but I'm trying to change this... I have to do that gradually though and the team has agreed to the workflow I'm trying to implement. I believe I'll be able to further improve after they have seen the benefits of code reviews

about the 99.99% import progress @avivey my install it is *not* an old version, I've just cloned the Github repository (yesterday) and installed what I believe is the latest

@cspeckmim the repo is quite large, we have been working on this project for the past 2 years... the clone is 65MB, but the very same repo on the server is 1MB bigger...

It shouldn't take that long to import a 65mb repository. We have ~1.5gb repo that usually takes 1-2hours to import. Were there any errors in the logs? Otherwise you can try @avivey's advice. Try looking at the ./bin/repository commands - there's an importing one which will show you commits that are still importing

thanks, I'm on it... while I operateas you suggested, I have another request... I still have the APC warning even if I have APC installed and enabled in php.ini... I'm on a CentOS... do you know of any reason why it is not properly activated by Apache HTTPD?

Have you restarted apache since making that change? (or php-fpm if you use a reverse proxy)

@cspeckmim I do actually have a pending commit...

R5:31ef79f661e5 Change, Owners, Herald

and, after investigating, this commit is quite a fat one as it includes 3 PDF documents loaded for test purposes... I might have hit some size limit.... Is it possibly related to the warning on max_allowed_packet=1048576?

Yes, I did restart apache and I also restart the whole machine (Docker container actually)

How big are the PDFs? Possibly related to settings regarding how big uploads/etc. can be. Not sure about APC - I've never had issues after configuring it to be on and restarting. Possibly a configuration of Apache + PHP?

they are about 300KB each, for a grand total slightly below 1MB... not enormously big, but definitely a lot bigger than all the other commits

is there anything else I can check to verify why that commit is still pending in the queue?

the daemon logs might have details - you can try using the repository command to reparse that commit

does the following mean anything for you?

[2017-05-19 16:51:48] EXCEPTION: (PhutilProxyException) Error while executing Task ID 51797. {>} (AphrontCharacterSetQueryException) Attempting to construct a query using a non-utf8 string when utf8 is expected. Use the `%B` conversion to escape binary strings data. at [<phutil>/src/aphront/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:377]
Daemon 1071 STDE [Fri, 19 May 2017 16:51:48 +0200] arcanist(head=master, ref.master=3c4735795a29), phabricator(head=master, ref.master=1e3c8df1c89d), phutil(head=master, ref.master=a900d7b63e95)

yup, that fixed my issue

There's no way to audit/review more than one commit/diff at once. T5722 and T4348 cover similar/related workflows, and the discussion there might help you build a way to do it.
Otherwise, @cspeckmim's suggestion might work for you: Write some service that will aggregate the changes overnight by author/task, and create diffs/audits for review out of each one.
You will not be able to problematically follow-ups on issues, but that's the regular problem with post-commit review. Adding some magic for users to separate their daily commits to several audits might put you on a track towards "review by topic" and later "pre-commit review".

@pamaury, @Even201314: Which versions of phabricator, php, mysql, nginx/apache/php-fpm are you using?

chaseh joined the room.
chaseh left the room.
May 20th, 2017

Hi, @avivey,
PHP 5.6.30 (fpm-fcgi) (built: Mar 11 2017 09:56:31)
nginx version: nginx/1.12.0
mysql Ver 14.14 Distrib 5.7.18, for osx10.12 (x86_64) using EditLine wrapper
phabricator 73ed316c5d2e5bb4092940729827f7877306394e (Tue, May 16)

Is there any documentation regarding phd-daemon? I couldn't find any and with updating phabricator something broke in the initscript somebody else wrote for us.

I am using an nginx reverse proxy to terminate tls in front of a container that has nginx running on http to do the "php stuff", it seems to work fine, but I get a "phabricator thinks you are using http but your client is convinced that it is using https..." error when I load into my site, any recommendations on what I should do here?

actually, it looks like T7777 documented the thing I'm seeing, I would just like to know how to overwrite the phabricator response header

I think?

chad: yeah the preamble is required

I updated T7777 with what I'm doing, hoping someone else smarter in nginx header writing can point me in the right direction

May 22nd, 2017
Bezalel left the room.

@chad: Looks like nav remarkup lost it's background?

HomeGrocery StoreProduce SectionLemons

probably caching

I'm adding a new Differential (Stored) Custom Field into a third-party libphutil library, and I've got that working. However, I don't seem to be able to reorder the field within the core fields. I'd like to be able to place the field between Test Plan and Reviewers. Is that possible?

This is what the field looks like when editing differential.fields:

However, it shows up down here

looks like a bug

May 23rd, 2017

another question lads: is it possible to send a slack message whenever a concern has been raised during auditing to the author of the commit?