docs: public void markSerialized(final HttpResponseStatus response, 
        final Throwable exception) {
      this.exception = exception;
      this.response = response;
      
      query_completed_ts = DateTime.currentTimeMillis();
      overall_stats.put(QueryStat.PROCESSING_PRE_WRITE_TIME, DateTime.nanoTime() - query_start_ns);
      synchronized (running_queries) {
        if (!running_queries.containsKey(this.hashCode())) {
          if (!ENABLE_DUPLICATES) {
            LOG.warn("Query was already marked as complete: " + this);
          }
        }
        running_queries.remove(hashCode());
        if (LOG.isDebugEnabled()) {
          LOG.debug("Removed completed query " + remote_address + " with hash " + 
              hashCode() + " on thread " + Thread.currentThread().getId());
        }
      }
      
      aggQueryStats();
      
      final int cache_hash = this.hashCode() ^ response.toString().hashCode();
      synchronized (completed_queries) {
        final QueryStats old_query = completed_queries.getIfPresent(cache_hash);
        if (old_query == null) {
          completed_queries.put(cache_hash, this);
        } else {
          old_query.executed++;
        }
      }
    }