The last time John had sushi was three years ago. He and his friends go to a Japanese restaurant, and he orders some. After finishing his meal, he posts a story on Instagram: a picture of the sushi he ordered, accompanied by the following text:
I hadn't/haven't eaten sushi for three years, but now my friends and I are at a Japanese restaurant and I've just had some. It was delicious.
Which tense would be correct in this case: the present perfect "I haven't eaten" or the past perfect "I hadn't eaten"? Thanks.