HttpURLConnection response code handling
Readability
Let's reformat your code quickly:

    HttpURLConnection connection = null;
    boolean connected = false;
    outer: for (int retry = 0; retry &lt;= RETRIES &amp;&amp; !connected; retry++) {
        if (retry &gt; 0) {
            log.warning(&quot;retry &quot; + retry + &quot;/&quot; + RETRIES);
            Thread.sleep(RETRY_DELAY_MS);
        }
        connection = (HttpURLConnection) entries.openConnection();
        connection.connect();
        switch (connection.getResponseCode()) {
            case HttpURLConnection.HTTP_OK:
                log.fine(entries + &quot; **OK**&quot;);
                connected = true;
                break; // fine, go on
            case HttpURLConnection.HTTP_GATEWAY_TIMEOUT:
                log.warning(entries + &quot; **gateway timeout**&quot;);
                break;// retry
            case HttpURLConnection.HTTP_UNAVAILABLE:
                System.out.println(entries + &quot;**unavailable**&quot;);
                break;// retry, server is unstable
            default:
                log.severe(entries + &quot; **unknown response code**.&quot;);
                break outer; // abort
        }
    }
    connection.disconnect();
    log.severe(&quot;Aborting download of dataset.&quot;);


Fixed:

1-liners are hard to read:
  case HttpURLConnection.HTTP_UNAVAILABLE: System.out.println(entries+ &quot;**unavailable**&quot;);break;// retry, server is unstable


spacing inside for-loop conditions:
  for(int retry=0;retry&lt;=RETRIES&amp;&amp;!connected;retry++)


indentation - 1-space indentation is 'just wrong'™.


Functionality
Right, how does this code work? There are a few problems I can (now) see in here:

On HTTP_OK, it breaks out of the switch, then it exits the loop (because &amp;&amp; !connected), and then immediately disconnects and logs a severe error? This can't be right?
HTTP_GATEWAY_TIMEOUT logs a warning.... great, but HTTP_UNAVAILABLE does a System.out.println

The InterruptedException handling is not shown here. There are articles on how to do this properly. Google up on that.
Suggestion
I recommend a sub-function, with a do-while loop (the following is a quick hack-up - untested):
private static final HttpURLConnection getConnection(URL entries) throws InterruptedException{
    int retry = 0;
    boolean delay = false;
    do {
        if (delay) {
            Thread.sleep(RETRY_DELAY_MS);
        }
        HttpURLConnection connection = (HttpURLConnection)entries.openConnection();
        switch (connection.getResponseCode()) {
            case HttpURLConnection.HTTP_OK:
                log.fine(entries + &quot; **OK**&quot;);
                return connection; // **EXIT POINT** fine, go on
            case HttpURLConnection.HTTP_GATEWAY_TIMEOUT:
                log.warning(entries + &quot; **gateway timeout**&quot;);
                break;// retry
            case HttpURLConnection.HTTP_UNAVAILABLE:
                log.warning(entries + &quot;**unavailable**&quot;);
                break;// retry, server is unstable
            default:
                log.severe(entries + &quot; **unknown response code**.&quot;);
                break; // abort
        }
        // we did not succeed with connection (or we would have returned the connection).
        connection.disconnect();
        // retry
        retry++;
        log.warning(&quot;Failed retry &quot; + retry + &quot;/&quot; + RETRIES);
        delay = true;
        
    } while (retry &lt; RETRIES);
    
    log.severe(&quot;Aborting download of dataset.&quot;);
    
}