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!
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.