Good to keep him. Mixed feelings about the length. On the one hand, he's UFA at the end of it. OTOH, because they didn't buy UFA years, he's going to have a lower cap hit than he would've on a longer deal.
But they may need to replace him next year and I expect that won't be trivial.
Reminds me a lot of the Ryder situation. Been offered in proposals for 3 years, disappointing production, signs for 1 year before UFA. Next year he's gone after another average season. Someone will overpay for him next summer and we will all move on quickly.