Walmart brawl in shampoo aisle upsets mayor