[jcifs] jcifs-1.2.12 and DFS

Michael B Allen mba2000 at ioplex.com
Mon Jan 8 18:56:17 GMT 2007

On Mon, 08 Jan 2007 13:11:16 -0500
Karl Wright <kwright at metacarta.com> wrote:
> > Incedentially, I've noticed your ListFiles examples take 6+
> > seconds. That's a sure indication of name service timeouts (NetBIOS
> > name service queries are tried twice three seconds apart). Either set
> > jcifs.netbios.wins to your WINS server or set jcifs.resolveOrder=DNS
> > and your examples will run fast.
> > 
> > Mike
> > 
> Mike - just a quick question - if we do not have WINS configured (e.g. 
> set jcifs.netbios.wins), the resolution order as coded in 
> UniAddress.java appears to be: LMHOSTS,BCAST,DNS.  Is the timeout you 
> think we are having due to BCAST being in the resolution sequence?  If 
> not, I really don't see what could be happening.

Yes, BCAST means NetBIOS broadcast lookup. Because it's broadcasting for
a reasponse and not querying an authority directly a negative response
is indicated by the lack of one. Therefore there is no other choice but
to wait a short period and retry.

> The other disturbing thing that James noted is that this performance 
> issue ONLY seems to occur for DFS lookups.  He says he is seeing good 
> performance without DFS.  I find this unnerving since I would presume 
> that the lookup order is the same for DFS as for normal share activity.

BCAST lookups only work on the local subnet. So it could be that the
initial target is local whereas the DFS referral is for a server on
another subnet that cannot be reached with a broadcast packet.

If you don't have WINS just set jcifs.resolveOrder=DNS. Note that
you cannot use NetBIOS names without WINS or BCAST. You must use
fully qualified DNS hostnames. So instead of smb://server1/pub/ it's
smb://server1.test.local/pub/ [1].


[1] Depending on your DNS search suffix settings you may be able to use
the first label of the FQDN.

> I've asked him to get a capture at log level 10, in hopes that there is 
> some indication there of exact what is timing out.

Verbose logs are virtually obsolete if you have captures.

Michael B Allen
PHP Active Directory SSO

More information about the jcifs mailing list