javasmbjcifsmicrosoft-distributed-file-system

SMB jcifs "jcifs.smb.client.dfs.disabled=true" impacts


I had a performance issue with SMB file upload using JCIFS SMB. The problem was related to jcifs.smb.client.dfs.disabled property and using true fixed the issue.

Now the question is that in which case I will be having problems using jcifs.smb.client.dfs.disabled=true as it has to be static property for me? I have many different environments which is using the same configuration.

Properties document (link) says:

If this property is true, domain based DFS referrals will be disabled. The default value is false. This property can be important in non-domain environments where domain-based DFS referrals that normally run when JCIFS first tries to resolve a path would timeout causing a long startup delay (e.g. running JCIFS only on the local machine without a network like on a laptop).

... but this is over my head, cannot understand.

Also, if I could change that dynamically, what is the indication that I need to do that? Any specific Exception or scenario that points out that true or false is needed?

Thanks!


Solution

  • Please read this - what is DFS.

    To resolve the real location The SMB uses an IOCL query "get_referrals" and this is the implementation of the DFS.