The events of Shri Krishna’s life described the Harivamsa, take place before the Mahabharata war. The same can also be gauged from the chronology of events given in the tenth skandha of the Srimad Bhagavatam. Two such events are, the killing of Rukmi by Balarama (henceforth referred to as the Rukmi incident), and the killing of Narakasura.
It is clear from the Harivamsa, that the killing of Narakasura takes place after the Rukmi incident; when Janamejaya asks Vaishampayana:
On his return to Dvaraka, after the killing of Rukmi, what did the valiant Vishnu with great arms do? O great sage! Please tell me.-
Harivamsa Vishnu Parva 63.1
After which, Vaishampayana goes on to narrate the atrocities of Narakasura. Using the reference described here, it is also certain that the killing of Narakasura and obviously therefore, the Rukmi incident, took place before the Mahabharata war, since Vidura refers to the same, in the Udyoga Parva (before the war), as follows:
Slaying that Naraka in battle, he brought away (from his city) a thousand damsels and married them all, according to the ordinance.
-Mahabharata Udyoga Parva Chapter 130
As discussed here, Rukmi, coming to offer his help, is rejected by both sides in the Mahabharata war, and hence remains neutral.
This creates a confusion, as Balarama is said to have killed Rukmi in the Rukmi incident, before the war, yet, during the war we see Rukmi alive and offering his aid to both sides.
Additionally if one reads the killing of Rukmi by Balarama may seem a bit harsh instead of him just hitting Rukmi, and hence I ask:
Question:
How do we reconcile the apparent contradiction of Balarama killing Rukmi and him being alive at the time of the Mahabharata war?
Is it that he only hit Rukmi, but didn’t kill him, in some older manuscripts? (Current versions clearly mention a killing)
Note: The incident being mentioned in the Harivamsa and Srimad Bhagavatam cannot be brushed off as mere interpolation, also, more so because the verses in both have variation among them and don’t show a single text copied to both.