hook_update_n($sandbox) batch getting executed only once
There is no need for batches if you intend to run all entries in one process. 

This is something we had use to update around 30.000 entries i quickly adapted from your example :

/**
 * Query all commerce_product of type default
 *
 * *
 * @param array $sandbox
 *
 * @return string
 *  Number of updated rows
 */
function mymodule_post_update_0801(array $sandbox) {
  /** @var $connection Drupal\Core\Database\Connection */
  $connection = \Drupal::service('database');
  $query = $connection-&gt;select('commerce_product', 'p');
  $query-&gt;fields('p', ['id'])
    -&gt;condition('type', 'default');
  $toUpdate = $query-&gt;execute()-&gt;fetchAll();

  $result = array_map( 'update_description_value', $toUpdate);

  return sprintf('Number of row updated: %s', count($result));
}

/**
 * Update a product description
 *
 * @param stdClass $defaultProduct
 *  -&gt;id
 *
 * @return string
 *  product id
 */
function update_description_value($productQueried) {
  /** @var $connection Drupal\Core\Database\Connection */
  $connection = \Drupal::service('database');

  $updated = $connection-&gt;update('commerce_product')
    -&gt;fields(['field_meta_tags' =&gt; serialize(['description' =&gt; ''])])
    -&gt;condition('id', $productQueried-&gt;id, '=')
    -&gt;execute();

  return $productQueried-&gt;id;
}


Let me know if there is typo somewhere.