DBFs, networks, oplocks

This forum is meant for anything you would like to share with other visitors
Post Reply
User avatar
ppiko
Posts: 3
Joined: Sat Oct 03, 2015 3:42 am

DBFs, networks, oplocks

Post by ppiko »

Hi,

I haven't used DBFs for any significant work for a long time, especially in a multi-user environment. I know people have had issues with DBFs over networks and used oplocks workarounds.

I came across a new option to address this from Ned Pyle, who blogs on "Storage at Microsoft". I thought it would be of interest to some people here.

As background, here is a blog post about SMB1 and its problems.
Stop using SMB1

In an update he says:
if your vendor requires disabling SMB2 in order to force SMB1, they will also often require disabling oplocks. Disabling Oplocks is not recommended by Microsoft, but required by some older software, often due to using legacy database technology. Windows 10 RS3 and Windows Server 2016 RS3 allow a special oplock override workaround now for these scenarios – see https://twitter.com/NerdPyle/status/876880390866190336. This is only a workaround – just like SMB1 oplock disable is only a workaround – and your vendor should update to not require it.


Paul
User avatar
wriedmann
Posts: 3644
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

DBFs, networks, oplocks

Post by wriedmann »

Hi Paul,

unfortunately when using DBFs (and other file based databases on Windows networks) SMB2 seems to have a major drawback: when workstations are running against a Windows 2008 and later server, they cache the file sizes.
When appending a new record, this is written at the position where the workstation thinks thet the file ends, and when more workstations are doing the same at the same time, they overwrite the records from others - a real nightmare.

I had this issue on a larger customer with (at this time) about 35 users, and was only able to stop it disabling oplocks and SMB2.
Now this customer has more than 70 users, with about 55-60 working at the same time, and using ADS the databases are absolutely stable now.

But since there is one application using DBFs (it is impossible to move it to ADS because of database encryption in place), I cannot enable SMB2.
Maybe the X# DBFCDX RDD will make things better - of course I would prefer to remove these settings.
I have to add that I never had issues with Samba on Linux servers ( not NAS boxes! ) using SMB2, and with larger tables.

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
ppiko
Posts: 3
Joined: Sat Oct 03, 2015 3:42 am

DBFs, networks, oplocks

Post by ppiko »

It will be interesting to hear if the new LeasingMode workaround works for anyone - but it's only for new OS hosts: Win Server 2016 or Win 10
User avatar
wriedmann
Posts: 3644
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

DBFs, networks, oplocks

Post by wriedmann »

Hi Paul,

yes, I have seen. This is a sign that more databases suffer from the same problem - AFAIK also Access.

It will take some time until we will see new servers in action - my customers normally are very conservative.

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Post Reply