Hacker News new | ask | show | jobs
by mercutio2 2940 days ago
There are many things I find frustrating about BitBucket Server (it’s super slow, for one, it’s insistence on clobbering commit strings during merges is the biggest), but I’ve never wanted a commit compare view; I don’t even know what that is.

Care to explain what you would use it for?

2 comments

Just seeing all the commits/changes between two commits.

So with GitHub Enterprise when you push multiple commits, the webhook sends a “compare” URL which is a handy look at everything that got pushed.

It’s not possible to do the same thing with BitBucket Server.

You can compare two tags and get the same view. Or two branches. But not two commits.

I'd be interested to hear about the slow behavior you're seeing. There are some tips and tricks for improving that.
Generally speaking, I have found Atlassian’s tools don’t scale well to megacorp usage. When there are thousands to tens of thousands of users connecting at peak times, stuff just gets extremely slow. Noticeably slower than when we all put up our own team-level Phabricator instances, although I’m obviously not adjusting for Phabricator downtime when inevitably the unofficial team sysadmin went on vacation and the server fell over.

I’m sure people involved in infrastructure are working on making this better, but I don’t have any visibility into that layer.

From a speed standpoint, I'll say the obvious thing, "it's architecture dependent".

For thousands to tens of thousands of users, most folks need data center with 1+n nodes (w/ larger diminishing returns at 8 nodes). There's a few tips and tricks with that, like pointing CI/CD tools to a smart mirror instead of the primary instance and only mirroring specific build projects. Putting smart mirrors in the same physical location as a primary instance could also help reduce the impact of CPU-intensive requests like git fetch or clone.

Another common issue is apps/plugins. Bitbucket 5.9 added a way to get app diagnostics so infra folks can see if there's a long-running process or other weirdness. Vanilla Bitbucket needs about a 1gb heap (java) and with apps, you want around 4gb (give or take).

If you want a longer read to share, this still has some good info despite being 2~ years old: https://developer.atlassian.com/blog/2016/12/how-we-built-bi...