Is PRIMARY(ColumnA, ColumnB) + INDEX(ColumnB) + PARTITIONING(ColumnB) redundant?
PARTITIONing is not a performance panacea.

For

WHERE artist = 'constant'
  AND uploadDate BETWEEN ...


INDEX(artist, uploadDate) on a non-partitioned table is as good (or better) than using partitioning.

Do you have other queries?  So far you have not presented a convincing case for partitioning.

Will you be purging 'old' data?  Being able to use DROP PARTITION instead of DELETE is one of the few benefits of PARTITION BY RANGE.

More Discussion