>> "But if I run the app on a VM it doesn't recover the lease, it returns "No more available licences" until the lease expires. Is this expected behaviour?"
Yes.
I've updated everything to the latest version (4.2.0.0) and I'm testing the feature that an application can recover its licence after a crash.
I created a TFS and activated a Turbofloat key with 1 single floating licence.Started my app on a physical machine and it connects to the TFS, I crashed the app deliberately and then restarted it. It recovers it's lease immediately.
But if I run the app on a VM it doesn't recover the lease, it returns "No more available licences" until the lease expires. Is this expected behaviour?
Thanks
>> "But if I run the app on a VM it doesn't recover the lease, it returns "No more available licences" until the lease expires. Is this expected behaviour?"
Yes.
That's a shame. More and more of our customers are using virtual machines and if lease recovery worked we could give them much longer lease expiry times to reduce network traffic.
Any chance that this feature will work on VMs in the near future?
>> "Any chance that this feature will work on VMs in the near future?"
Very unlikely. It's the nature of VMs that we needed to implement things this way.
There are ways you could work around it. For per-user session leases you could have another dummy instance of your app also request the lease, so even if the app instance the user is working with crashes the lease will still be available to recover when the user re-launches your app.
>> "we could give them much longer lease expiry times to reduce network traffic."
The lease data is tiny. Around 1 KB. And with the default lease time of 30 minutes, we're talking barely any data transferred over the life of an app.
So, keep the lease lengths short. It will prevent the user from messing themselves up (zombie leases that exist on machines that weren't stopped properly, etc.).
Will this be the same for your hosted TFS service?
We would consider 10 minutes a long time to wait to recover a lease. It's time enough for a customer to get frustrated that they couldn't use our product, and get on the phone to us.
The per-user session lease may be a way around this - do you have a link to where it is described?
>> "Will this be the same for your hosted TFS service?"
yes.
>> "We would consider 10 minutes a long time to wait to recover a lease. It's time enough for a customer to get frustrated that they couldn't use our product, and get on the phone to us."
OK, well, another workaround is having a process-wide uncaught exception handler that when it's triggered you drop the lease immediately.
>> "The per-user session lease may be a way around this - do you have a link to where it is described?"
It's the default lease-issuance: https://wyday.com/limelm/help/licensing-types/#fine-grained-control
Yes.