Page MenuHomePhabricator
Feed Advanced Search

Apr 25 2015

epriestley claimed T5896: Mercurial fails to parse (A or B or ... or Z) revsets with more than about 300 items.
Apr 25 2015, 9:29 PM · Diffusion, Mercurial, Daemons
epriestley added a comment to T5896: Mercurial fails to parse (A or B or ... or Z) revsets with more than about 300 items.

D12549 applies the strategy recursively, although we'll probably hit shell argument length limits before we hit 65K branch heads.

Apr 25 2015, 5:01 PM · Diffusion, Mercurial, Daemons
epriestley added a revision to T5896: Mercurial fails to parse (A or B or ... or Z) revsets with more than about 300 items: Restricted Differential Revision.
Apr 25 2015, 4:56 PM · Diffusion, Mercurial, Daemons
epriestley added a comment to T5896: Mercurial fails to parse (A or B or ... or Z) revsets with more than about 300 items.

This is rooted in a limitation with Mercurial. I've filed a report upstream:

Apr 25 2015, 4:46 PM · Diffusion, Mercurial, Daemons
epriestley added a comment to T5896: Mercurial fails to parse (A or B or ... or Z) revsets with more than about 300 items.

The change breaks "Track Only", breaks repositories without "Track Only", breaks new imports, runs 75x slower than necessary in the cases above, etc.

Apr 25 2015, 4:01 PM · Diffusion, Mercurial, Daemons

Apr 17 2015

cburroughs added a comment to T7484: Lock is not locked by this process.

Occurring on yet another repository after the latest rebase:

Apr 17 2015, 5:26 PM · Restricted Project, Daemons

Apr 16 2015

• grobe0ba added a comment to T7835: After hard non-graceful shutdown, Phabricator insists old daemons are still running..

Thanks, I will.

Apr 16 2015, 9:02 PM · Daemons
epriestley closed T7835: After hard non-graceful shutdown, Phabricator insists old daemons are still running. as Resolved.

Ah, yeah, if you're far behind HEAD you probably still had the 1 hour behavior. I'd expect that updating will improve things. Let us know if you run into anything else.

Apr 16 2015, 8:59 PM · Daemons
• grobe0ba added a comment to T7835: After hard non-graceful shutdown, Phabricator insists old daemons are still running..

Hmm, it would also appear that I desperately need to update. I was unaware that the FreeBSD port maintainer hasn't updated the port since summer of last year. My apologies for probably wasting everyone's time.

Apr 16 2015, 8:54 PM · Daemons
• grobe0ba added a comment to T7835: After hard non-graceful shutdown, Phabricator insists old daemons are still running..

I'm seeing somewhat different behaviour. I can't be 100% sure when exactly it finally figured out that those daemons weren't coming back, because I sleep during the day, but it took at least 4 hours (since I was still using it during that period). When I refreshed everything just now, the banner went away and everything appears to be chooching along like it should be.

Apr 16 2015, 8:49 PM · Daemons
epriestley added a comment to T7835: After hard non-graceful shutdown, Phabricator insists old daemons are still running..

We don't look for PID files or examine the process table because:

Apr 16 2015, 2:18 PM · Daemons
chad added a project to T7835: After hard non-graceful shutdown, Phabricator insists old daemons are still running.: Daemons.
Apr 16 2015, 1:41 PM · Daemons

Apr 10 2015

bcran added a comment to T5896: Mercurial fails to parse (A or B or ... or Z) revsets with more than about 300 items.

This appears to solve the problem for me, though Phabricator appears to ignore the 'Track Only' setting and instead imports all hundred or so branches; I don't know if that's at all related to @Jaraill's change though. And I'm also running into T7100.

Apr 10 2015, 11:30 PM · Diffusion, Mercurial, Daemons

Apr 9 2015

cburroughs added a comment to T7484: Lock is not locked by this process.

Spooky problem has not occurred in the few minutes since I rebased off of e0473aa70265a222d440c7e2e2680d2d1959ab20. Will continue to watch.

Apr 9 2015, 12:43 PM · Restricted Project, Daemons

Apr 8 2015

cburroughs reopened T7484: Lock is not locked by this process as "Open".

We are seeing this again with both D12263 and D12253 applied.

Apr 8 2015, 6:20 PM · Restricted Project, Daemons

Apr 6 2015

cburroughs added a comment to T7484: Lock is not locked by this process.
Apr 6 2015, 4:16 PM · Restricted Project, Daemons

Apr 2 2015

epriestley closed T7484: Lock is not locked by this process as Resolved by committing Restricted Diffusion Commit.
Apr 2 2015, 8:42 PM · Restricted Project, Daemons
epriestley added a revision to T7484: Lock is not locked by this process: Restricted Differential Revision.
Apr 2 2015, 4:10 PM · Restricted Project, Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.

No errors with that patch either...

Apr 2 2015, 12:31 PM · Restricted Project, Daemons
epriestley reopened T7484: Lock is not locked by this process as "Open".

I guess you could try this? Maybe?

Apr 2 2015, 2:08 AM · Restricted Project, Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.
  • Shorten patch: Works
  • Spooky Patch: Works
  • Roll back to no patch: Confirmed still broken.
Apr 2 2015, 1:53 AM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

The order which we update repositories is deterministic enough that I'd expect things to usually end up locking in the same order, and they'll keep retrying regularly (every 15 seconds) after a failure, so it's not particularly surprising to me that the failures wouldn't be randomly distributed if the issue is a 64-character lock uniqueness limit, although I would expect us to see way more failures all the time since 64 characters ends before the callsign part and we haven't changed the lock name. Maybe the behavior is specific to your MySQL sub-version.

Apr 2 2015, 1:15 AM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

Does this patch also fix it?

Apr 2 2015, 1:11 AM · Restricted Project, Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.

With that patch the daemon log is clean and the repositories show recent updates.

Apr 2 2015, 1:04 AM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

Can you see if this fixes it (bringing lock name length under 64 characters):

Apr 2 2015, 12:47 AM · Restricted Project, Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.
mysql> SELECT GET_LOCK('global:phabricator:PhabricatorRepositoryManagementUpdateWorkflow:HYDRA', 0);
+---------------------------------------------------------------------------------------+
| GET_LOCK('global:phabricator:PhabricatorRepositoryManagementUpdateWorkflow:HYDRA', 0) |
+---------------------------------------------------------------------------------------+
|                                                                                     1 |
+---------------------------------------------------------------------------------------+
Apr 2 2015, 12:45 AM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

It's also possible that this:

Apr 2 2015, 12:44 AM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

MySQL 5.7.5 and later enforces a maximum length on lock names of 64 characters. Previously, no limit was enforced.

Apr 2 2015, 12:43 AM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

Okay, that is the lock failing to acquire. Does this work?

Apr 2 2015, 12:40 AM · Restricted Project, Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.

I'm not sure I find the new log message that much more different or illuminating.

Apr 2 2015, 12:40 AM · Restricted Project, Daemons
epriestley closed T7484: Lock is not locked by this process as Resolved by committing Restricted Diffusion Commit.
Apr 2 2015, 12:37 AM · Restricted Project, Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.

Updated log message with D12253 applied and daemons restarted

Apr 2 2015, 12:08 AM · Restricted Project, Daemons

Apr 1 2015

epriestley added a comment to T7484: Lock is not locked by this process.

Hrrm. Maybe wait for D12253 and see if that provides any clarity. It's possible it will give us a much better and more specific message, rather than just degrading into T6958.

Apr 1 2015, 11:47 PM · Restricted Project, Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.
mysql> SELECT IS_USED_LOCK('global:phabricator:PhabricatorRepositoryManagementUpdateWorkflow:TEMPORALANOMALY');
+--------------------------------------------------------------------------------------------------+
| IS_USED_LOCK('global:phabricator:PhabricatorRepositoryManagementUpdateWorkflow:TEMPORALANOMALY') |
+--------------------------------------------------------------------------------------------------+
|                                                                                             NULL |
+--------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Apr 1 2015, 11:44 PM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

Specifically, if that returns an integer, it's a connection ID.

Apr 1 2015, 11:35 PM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

Does this show anything?

Apr 1 2015, 11:33 PM · Restricted Project, Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.

The root cause is very likely to be a stray copy of the daemon running somewhere.

Apr 1 2015, 11:32 PM · Restricted Project, Daemons
epriestley added a comment to T7484: Lock is not locked by this process.

D12253 "fixes" this in the sense that it likely reduces it to T6958.

Apr 1 2015, 11:24 PM · Restricted Project, Daemons
epriestley added a revision to T7484: Lock is not locked by this process: Restricted Differential Revision.
Apr 1 2015, 11:23 PM · Restricted Project, Daemons
epriestley added a comment to T6958: Make cause/resolution for PhutilLockException during repository import more clear.

Never mind, I think that's someting else.

Apr 1 2015, 11:18 PM · Daemons
epriestley reopened T7484: Lock is not locked by this process as "Open".

Oh, this might not be quite related.

Apr 1 2015, 11:18 PM · Restricted Project, Daemons
epriestley merged task T7484: Lock is not locked by this process into T6958: Make cause/resolution for PhutilLockException during repository import more clear.
Apr 1 2015, 11:17 PM · Restricted Project, Daemons
epriestley updated subscribers of T6958: Make cause/resolution for PhutilLockException during repository import more clear.
Apr 1 2015, 11:17 PM · Daemons
cburroughs added a comment to T7484: Lock is not locked by this process.

I'm now seeing this on a second repository. After some digging it appears to be a magical mysql GET_LOCK and not something simple on the file system I can just clear.

Apr 1 2015, 6:53 PM · Restricted Project, Daemons

Mar 30 2015

cburroughs added a comment to T7484: Lock is not locked by this process.

I'm seeing this on a build from March 12. A repository stopped updating on Friday and the daemon logs have been printing out this message ever few minutes and it is still occuring on Monday. No change after phd restart. diffusion/edit says 'Initializing Working Copy Daemons are initializing the working copy.'

Mar 30 2015, 5:36 PM · Restricted Project, Daemons

Mar 25 2015

• Jaraill added a comment to T5896: Mercurial fails to parse (A or B or ... or Z) revsets with more than about 300 items.

It's hard to wait, so I found my way to solve this problem.

Mar 25 2015, 1:14 PM · Diffusion, Mercurial, Daemons

Mar 20 2015

WikiChad placed T6958: Make cause/resolution for PhutilLockException during repository import more clear up for grabs.
Mar 20 2015, 10:56 PM · Daemons
epriestley created T7631: User reporting unbounded memory usage by TriggerDaemon.
Mar 20 2015, 1:52 AM · Daemons

Mar 16 2015

epriestley renamed T7307: Daemons UI is confusing when you aren't an administrator from Daemons UI is insanely confusing when you aren't an administrator to Daemons UI is confusing when you aren't an administrator.
Mar 16 2015, 5:56 PM · Daemons, Phacility

Mar 6 2015

joshuaspence created T7484: Lock is not locked by this process.
Mar 6 2015, 11:43 PM · Restricted Project, Daemons
• chasemp added a comment to T7475: Reset umask explicitly in daemons.

Thanks man!

Mar 6 2015, 4:55 PM · Wikimedia, Daemons
• chasemp added a project to T7475: Reset umask explicitly in daemons: Wikimedia.
Mar 6 2015, 4:55 PM · Wikimedia, Daemons
epriestley added a comment to T7475: Reset umask explicitly in daemons.

We should probably also set this prior to accepting pushes via HTTP and SSH, so those writes happen under a favorable umask.

Mar 6 2015, 4:14 PM · Wikimedia, Daemons
epriestley created T7475: Reset umask explicitly in daemons.
Mar 6 2015, 4:11 PM · Wikimedia, Daemons

Mar 3 2015

epriestley added a comment to T7053: Restart daemons automagically.

This is more possible after the centralization of the overseer and the introduction of phd reload and the SIGHUP handling. Specifically, we could do this:

Mar 3 2015, 11:05 AM · Daemons

Mar 2 2015

epriestley added a parent task for T7079: Implement `bin/worker purge` or similar to destroy tasks with unknown task classes: T3554: Implement a `bin/worker kill <criteria>` for batch-flushing tasks from the queue.
Mar 2 2015, 4:33 PM · Doorkeeper, Daemons
epriestley added a subtask for T3554: Implement a `bin/worker kill <criteria>` for batch-flushing tasks from the queue: T7079: Implement `bin/worker purge` or similar to destroy tasks with unknown task classes.
Mar 2 2015, 4:33 PM · Restricted Project, Daemons
epriestley renamed T7079: Implement `bin/worker purge` or similar to destroy tasks with unknown task classes from Workers with "DoorkeeperFeedWorkerJIRA" constantly fail to Implement `bin/worker purge` or similar to destroy tasks with unknown task classes.
Mar 2 2015, 4:33 PM · Doorkeeper, Daemons

Feb 27 2015

epriestley removed a parent task for T5166: Expand the BulkJob tool: T7399: Fully separate live credentials from development repositories.
Feb 27 2015, 4:29 PM · Restricted Project, Phacility, Daemons
epriestley added a parent task for T5166: Expand the BulkJob tool: T7399: Fully separate live credentials from development repositories.
Feb 27 2015, 4:29 PM · Restricted Project, Phacility, Daemons

Feb 26 2015

epriestley added a revision to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer: Restricted Differential Revision.
Feb 26 2015, 10:33 PM · Daemons
epriestley added a revision to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer: Restricted Differential Revision.
Feb 26 2015, 10:31 PM · Daemons
epriestley added a comment to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer.

You have to bin/phd stop <only the second overseer PID>.

Feb 26 2015, 10:00 PM · Daemons
hach-que added a comment to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer.

Okay, but you still have no way of safely issuing another bin/phd stop without it stopping both overseers?

Feb 26 2015, 9:53 PM · Daemons
epriestley added a comment to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer.

There's no way an over-overseer can know when the previous reload is finished

Feb 26 2015, 9:51 PM · Daemons
hach-que added a comment to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer.

There's no way an over-overseer can know when the previous reload is finished; all it can do is call bin/phd stop --graceful 999999 in the background and leave it to run. In addition, a previous reload can take several hours to run; if you need to deploy out another set of code before the reload is finished, you have no safe way of doing so until the first one is entirely complete.

Feb 26 2015, 9:43 PM · Daemons
epriestley closed T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer as Wontfix.

Queuing multiple graceful exits just isn't a use case we're going to support in the upstream. You can conceivably have your over-overseer decline to send the second SIGINT if an overseer has already been SIGINT'd once. bin/phd stop <pid> --graceful ... can send the signals selectively. I'd maaaaaybe accept a bin/phd status --json since parsing bin/phd status is a bit of a mess, but the other tools to build this already exist.

Feb 26 2015, 3:20 PM · Daemons
• sshannin added a comment to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer.

You could use ^\ / SIGQUIT to force the non-graceful exit when the daemon's in the foreground and keep ^C as graceful only.

Feb 26 2015, 3:17 PM · Daemons
epriestley added a comment to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer.

The reason for this logic is so that you can ^C twice to get out if a daemon is hung and you're running it in the foreground. This avoids the need to bring up a second terminal, figure out the PID of the daemon running in the first terminal, kill it, hope you got the PID right, etc., or abandon the first terminal entirely.

Feb 26 2015, 1:24 PM · Daemons
hach-que added a revision to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer: Restricted Differential Revision.
Feb 26 2015, 5:18 AM · Daemons
hach-que added a project to T7384: Remove "if sent two graceful shutdowns, terminate" logic from PhutilDaemonOverseer: Daemons.
Feb 26 2015, 5:18 AM · Daemons

Feb 25 2015

epriestley closed T7372: Queued Tasks should exclude the number of currently leased tasks as Wontfix.

Narratively within the system, these are still "in the queue", they just have a lease on them. They don't get taken out of the queue until they are archived.

Feb 25 2015, 3:58 PM · Daemons
hach-que created T7372: Queued Tasks should exclude the number of currently leased tasks.
Feb 25 2015, 6:12 AM · Daemons

Feb 20 2015

• sshannin added a comment to T7336: Daemon skipping commit.

Understood. I have the daemon logs and db dumps if you think they would be helpful.

Feb 20 2015, 1:40 AM · Daemons
epriestley closed T7336: Daemon skipping commit as Invalid.

There isn't enough information to reproduce this issue.

Feb 20 2015, 1:32 AM · Daemons
• sshannin added a comment to T7336: Daemon skipping commit.

Yeah, that's the main aspect of it.

Feb 20 2015, 1:26 AM · Daemons
chad updated subscribers of T7336: Daemon skipping commit.

I think the core issue is if your daemons are failing (MySQL issues?) we should somehow tell you. The picking up where they left off when kicked is what I expect them to do already. Maybe @epriestley has better ideas than me though.

Feb 20 2015, 1:21 AM · Daemons
• sshannin added a comment to T7336: Daemon skipping commit.

Sorry, there was a lot of background/setup story there.

Feb 20 2015, 1:15 AM · Daemons
chad added a comment to T7336: Daemon skipping commit.

Nothing here sound wrong, but maybe I'm missing some details. It doesn't sound easily reproducible unfortunately either... off the top of my head.

Feb 20 2015, 1:07 AM · Daemons
chad added a comment to T7336: Daemon skipping commit.

What's the main issue here?

Feb 20 2015, 1:01 AM · Daemons
• sshannin added a comment to T7336: Daemon skipping commit.

Looking at the daemon logs, it looks like there were various mysql failures throughout the day (too many cnxns), but it seems like it was able to recover from those.

Feb 20 2015, 12:52 AM · Daemons
• sshannin created T7336: Daemon skipping commit.
Feb 20 2015, 12:49 AM · Daemons

Feb 17 2015

epriestley moved T7307: Daemons UI is confusing when you aren't an administrator from Backlog to Do After Launch on the Phacility board.
Feb 17 2015, 11:33 PM · Daemons, Phacility
epriestley added a comment to T7307: Daemons UI is confusing when you aren't an administrator.

After T5166 we can put something useful here ("Your bulk jobs.") for normal users.

Feb 17 2015, 11:33 PM · Daemons, Phacility
epriestley added a parent task for T5166: Expand the BulkJob tool: T7307: Daemons UI is confusing when you aren't an administrator.
Feb 17 2015, 11:32 PM · Restricted Project, Phacility, Daemons
epriestley added a subtask for T7307: Daemons UI is confusing when you aren't an administrator: T5166: Expand the BulkJob tool.
Feb 17 2015, 11:32 PM · Daemons, Phacility
epriestley created T7307: Daemons UI is confusing when you aren't an administrator.
Feb 17 2015, 11:32 PM · Daemons, Phacility

Feb 11 2015

joshuaspence claimed T7107: When destroying an object, destroy associated worker tasks and notifications.
Feb 11 2015, 9:06 PM · Notifications, Daemons
joshuaspence claimed T7053: Restart daemons automagically.
Feb 11 2015, 8:52 PM · Daemons
joshuaspence updated subscribers of T7053: Restart daemons automagically.

@epriestley, I'm happy to work on this if you give me some pointers

Feb 11 2015, 8:52 PM · Daemons

Feb 10 2015

epriestley added a revision to T3554: Implement a `bin/worker kill <criteria>` for batch-flushing tasks from the queue: Restricted Differential Revision.
Feb 10 2015, 9:19 PM · Restricted Project, Daemons

Feb 4 2015

epriestley moved T5166: Expand the BulkJob tool from Backlog to Do After Launch on the Phacility board.
Feb 4 2015, 7:26 PM · Restricted Project, Phacility, Daemons
epriestley moved T5166: Expand the BulkJob tool from Do Eventually to Backlog on the Phacility board.
Feb 4 2015, 3:55 PM · Restricted Project, Phacility, Daemons

Feb 2 2015

• chasemp added a comment to T7107: When destroying an object, destroy associated worker tasks and notifications.

You, sir, are a gentlemen and a scholar.

Feb 2 2015, 5:44 PM · Notifications, Daemons
epriestley created T7107: When destroying an object, destroy associated worker tasks and notifications.
Feb 2 2015, 5:42 PM · Notifications, Daemons

Jan 30 2015

pere added a comment to T3848: PhabricatorTaskmasterDaemon using fabulous amounts of RAM.
Jan 30 2015, 4:49 PM · Daemons

Jan 29 2015

epriestley added a comment to T7079: Implement `bin/worker purge` or similar to destroy tasks with unknown task classes.

For installs with phabricator.developer-mode disabled, we could conceivably fail tasks with a missing class permanently, although I'm hesitant about that (it's possible that they're important and the administrator just uninstalled an extension by accident).

Jan 29 2015, 2:43 PM · Doorkeeper, Daemons
chad added projects to T7079: Implement `bin/worker purge` or similar to destroy tasks with unknown task classes: Daemons, Doorkeeper.
Jan 29 2015, 2:26 PM · Doorkeeper, Daemons

Jan 28 2015

joshuaspence added a comment to T7053: Restart daemons automagically.

I'm sure this question has been asked previously, but why can't the daemons read the updated configuration themselves? I imagine that the configuration would be cached, but surely it could be purged periodically?

Jan 28 2015, 7:48 AM · Daemons

Jan 27 2015

joshuaspence created T7053: Restart daemons automagically.
Jan 27 2015, 11:46 AM · Daemons