Currently there exists a soft expire timeout(1 minutes by default) and hard expire timeout(60 minutes by default).
On our production environment. Some client began writing a file long time(more than one year) ago, when writing finished and tried to close the output stream, the client failed closing it (for some IOException. etc. ). But the client process is a background service, it doesn't exit. So the lease doesn't released for more than one year.
The problem is that, the lease for the file is occupied, we have to call recover lease on the file when doing demission or appending operation.
So I am wondering why we don't add a more harder lease expire timeout, when a lease lasts too long (maybe one month), revoke it.