code: @Override public byte[] load(Value v) {
      long start_io_ms = System.currentTimeMillis();
      byte[] b = MemoryManager.malloc1(v._max);
      Key k = v._key;
      long skip = 0;
      // Skip offset based on chunk number
      if(k._kb[0] == Key.CHK)
        skip = FileVec.chunkOffset(k); // The offset
      // Too complicate matters, S3 likes to reset connections when H2O hits it
      // too hard.  We "fix" this by just trying again, assuming we're getting
      // hit with a bogus resource limit (H2O doing a parse looks like a DDOS to
      // Amazon S3).
      S3ObjectInputStream s = null;
  
      while( true ) {             // Loop, in case we get premature EOF's
        try {
          long start_ns = System.nanoTime(); // Blocking i/o call timing - without counting repeats
          s = getObjectForKey(k, skip, v._max).getObjectContent();
          ByteStreams.readFully(s, b); // delegate work to Google (it reads the byte buffer in a cycle as we did)
          assert v.isPersisted();
  //        TimeLine.record_IOclose(start_ns, start_io_ms, 1/* read */, v._max, Value.S3);
          return b;
          // Explicitly ignore the following exceptions but
          // fail on the rest IOExceptions
        } catch( EOFException e ) {
          ignoreAndWait(e, false);
        } catch( SocketTimeoutException e ) {
          ignoreAndWait(e, false);
        } catch( IOException e ) {
          ignoreAndWait(e, true);
        } finally {
          try {
            if( s != null ) s.close();
          } catch( IOException e ) {}
        }
      }
    }
docs: no matter what).