public void updateDataset(int accountId, int containerId, Dataset dataset)
      throws SQLException, AccountServiceException {
    try {
      long startTimeMs = System.currentTimeMillis();
      dataAccessor.getDatabaseConnection(true);
      PreparedStatement updateDatasetStatement = dataAccessor.getPreparedStatement(updateDatasetSql, true);
      int rowCount = executeUpdateDatasetStatement(updateDatasetStatement, accountId, containerId, dataset);
      if (rowCount == 0) {
        throw new AccountServiceException("Can't update the dataset if it does not exist. Dataset: " + dataset,
            AccountServiceErrorCode.NotFound);
      }
      dataAccessor.onSuccess(Write, System.currentTimeMillis() - startTimeMs);
    } catch (SQLException | AccountServiceException e) {
      dataAccessor.onException(e, Write);
      throw e;
    }
  }
Update {@link Dataset} based on the supplied properties.
@param accountId the id for the parent account.
@param containerId the id of the container.
@param dataset the {@link Dataset}
@throws SQLException
ambry-account/src/main/java/com/github/ambry/account/mysql/DatasetDao.java