void clear() {
      releaseBlobContent();
      chunkIndex = -1;
      chunkBlobSize = -1;
      chunkBlobId = null;
      chunkException = null;
      failedAttempts = 0;
      partitionId = null;
      attemptedPartitionIds.clear();
      correlationIdToChunkPutRequestInfo.clear();
      chunkUserMetadata = userMetadata;
      encryptedPerBlobKey = null;
      chunkFreeAtMs = time.milliseconds();
      // this assignment should be the last statement as this immediately makes this chunk available to the
      // ChunkFiller thread for filling.
      state = ChunkState.Free;
      operationQuotaCharger =
          new OperationQuotaCharger(quotaChargeCallback, PutOperation.class.getSimpleName(), routerMetrics);
      isChunkCompressed = false;
    }
Clear the state to make way for a new data chunk
ambry-router/src/main/java/com/github/ambry/router/PutOperation.java