Jacques Kallis acknowledged on Wednesday that his dream of playing in next year's Cricket World Cup was "a bridge too far". (Jacques Kallis, a master all-rounder who knew his boundaries)
Kallis, 38, scored just five runs in three innings in a recent one-day international series in Sri Lanka (Kallis retires from all formats of international cricket)
"I just knew on that tour that I was done," Kallis said in a statement. "The squad that was in Sri Lanka is an amazing one and I believe they have a good chance of bringing the trophy home in March."
It always seemed a long shot for Kallis to remain competitive through to the World Cup in Australia and New Zealand next February and March.
He surprised many when he announced on Christmas Day last year that he was retiring from Test cricket after the second and final Test against India, starting in Durban the next day.
He went out on a high, scoring a century that helped South Africa win the match and the series.
He said at the time that his one remaining ambition - having helped South Africa to the number one ranking in Tests, including series wins in both England and Australia - was to be part of a World Cup-winning side.
But a lack of cricket was always likely to be a problem. He played in just one domestic Twenty20 match in South Africa after his final Test and then appeared in only eight out of 16 Twenty20 matches for the Kolkata Knight Riders in the Indian Premier League.
He was unable to play in South Africa's only warm-up match in Sri Lanka after suffering a back spasm, so was short of match practice when he made a second-ball duck in the first one-day international in Colombo.
Innings of one and four followed. He was unable to bowl in any of the matches because of his back problem.
There could hardly have been a greater contrast between his exit from Test cricket, when he was carried aloft by team-mates on a lap of honour, and his final international appearance at a wind-swept Hambantota in southern Sri Lanka when he was leg before wicket to left-arm spinner Rangana Herath after labouring to four runs off ten balls.
But he finished his one-day career with an outstanding record. In 328 matches he scored 11 579 runs at an average of 44.36, with 17 centuries and 86 fifties. He took 273 wickets at an average of 31.79, conceding only 4.84 runs an over. He was man of the match on 32 occasions.
South African one-day captain AB de Villiers said Kallis' experience and tactical knowledge would be missed.
"His value and statistics on the field speak volumes, but his presence in the change room and willingness to teach the youngsters was immense," said De Villiers.
"He has played a big role personally for me since making my debut for South Africa in 2004, and is a huge loss for South African cricket.
"It's unfortunate that he won't be making the journey with us to the World Cup but we will definitely carry his resilience and professionalism with us out on the field."
Test captain Hashim Amla said Kallis was "a legend".
"Sportsmen like him only come around once every five decades," said Amla.
"He is an astute professional who always gave one hundred percent for his country and I believe a lot of youngsters coming up can learn a lot from the way he shaped his career.
"He will be sorely missed in the dressing room, and in the slips where he was a trademark figure. It has been a pleasure to have shared the crease with him on a number of occasions and I wish him well for the future. He has earned his break."
Kallis was sometimes criticised for scoring too slowly in one-day games. His batting strike rate of 72.89 was relatively modest but he was respected by his team-mates as an excellent judge of the tempo required to win a match. When Kallis scored runs, South Africa usually won.
Kallis played in 162 Test matches, scoring 13 289 runs at an average of 55.37 and took 292 wickets at 32.65. He is the only player in history to score more than 10,000 runs and take more than 250 wickets in both formats of the international game.
He played in 25 Twenty20 internationals, scoring 666 runs (average 35.05) and taking 12 wickets at 27.75.
He will continue to play Twenty20 cricket, saying he intends to honour contracts with the Kolkata Knight Riders in the Indian Premier League and the Sydney Thunder in Australia's Big Bash