5

My team manages a Nexus repository used by many other teams in my company. A team is using it to store large archive files (mostly 1.6GB, sometimes 4.5GB) and that has been mostly fine, but now they are getting strange behaviour where they get a 504 Gateway Timeout on files that definitely exist. After some time, the files will become available, as if they have been downloaded. It might be recent uploads, or from several days ago, it seems fairly random.

I understand this error occurs with proxy repositories if the remote repo is slow, but this is hosted! How can it have a timeout error retrieving a file on disk?

These errors do not appear in the logs at all, are shown in a box in the GUI, and it seems like it's coming from some kind of front-end talking to a back-end which is slow. There are no other relevant entries in the log file that explain why hosted files were slow to retrieve. Is there some kind of loading or hashing happening that would cause this, and can we turn it off or at least monitor it?

This is causing builds to break frequently in a major project and we can't even monitor when and how often it happens because there is no logs.

Our Nexus version is a bit old, 2.6.4-02, is upgrading likely to fix? We need a solution that is either fast or has a good chance of working.

Thanks in advance.

jbyrnes
  • 363
  • 4
  • 13
  • Did you find any solution to this? – Akshay Machhindra Mankar Apr 06 '16 at 01:38
  • Not really, but we believe it has to do with indexing these large files - the whole directory is unavailable until it has finished hashing, it seems. This can take hours. It is possible to see long-living hashing processes on the OS. The only quick fix if it is urgent is to restart Nexus, which might be inconvenient for normal users, but makes the large files available immediately. – jbyrnes Aug 29 '16 at 09:35
  • Is this issue intermittent? I just setup a nexus repo on our swarm which uses a nginx reverse proxy also on our swarm using the overlay network and it works fine for some time but after many hours it is no longer available and i get a 504. For me the solution is to just log into the nexus docker container and use ping/curl to connect to the nginx container. – Anu May 04 '17 at 06:13
  • Very intermittent, in fact we haven't heard of any problems for months, unless the users that complained have resolved it at their end or given up complaining. By the way, the 504 Gateway Timeout error is due to the reverse proxy (or load balancer in our case) reaching its limit, it's possible the response is still coming if you connect directly, but not in a useful timeframe. – jbyrnes May 07 '17 at 23:40
  • Does pinging fix connections through your reverse proxy or is that just demonstrating that the process is still working? Anyway if it becomes completely unavailable after some time that sounds more like a networking/container issue than my problem. – jbyrnes May 07 '17 at 23:40
  • Am also getting this issue. I'm using the latest version 3.5.2 running on Docker. Is the best option really to ping the load balancer/reverse proxy? – Muhammad Rehan Saeed Sep 15 '17 at 16:01
  • We decided not to upgrade to v3 as it doesn't do everything we need, so we're still on v2. I haven't run it under Docker either. – jbyrnes Dec 29 '17 at 04:10
  • If you have a swarm, perhaps you should run multiple instances and use a monitor to retire instances if they stop responding. – jbyrnes Dec 29 '17 at 04:11

0 Answers0