[jcifs] Timeout waiting for response from server
Allen, Michael B (RSCH)
Michael_B_Allen at ml.com
Tue Apr 16 09:56:24 EST 2002
> -----Original Message-----
> From: holger.doerl at web.de [SMTP:holger.doerl at web.de]
> Sent: Monday, April 15, 2002 7:29 PM
> To: Allen, Michael B (RSCH)
> Subject: Re: RE: [jcifs] Timeout waiting for response from server
>
> Hi,
>
> I use the newest version, I think.
>
> CLASSPATH=/home/holger/spider::/home/holger/spider/jcifs-0.6.2.jar:/home/holger/spider/jdbc7.0-1.2.jar:/home/holger/jswat/jswat-20020216.jar:/usr/lib/java/lib/tools.jar
>
That 'operation interrupted' thing is characteristic of an older flawed version of jCIFS. Are you
running within some kind of app server? If so and the app server is interrupting threads it may
seriously break the jCIFS client depending on what version of the JRE you're using.
> I tried another workstation with suse 7.3 (I've suse 7.2) and there is the problem too.
>
> What can I do ??
>
Holger,
Crawling CIFS intranets is a pretty intense operation. The jCIFS client really only just makes
it even practical. The libsmbclient library doesn't multiplex io AFAIK so the only real
alternative would be to write a Win32 crawler. In general you will have to have significant
knowledge of the protocol to develop a truly good SMB Crawler (try log=ALL to see what's
happening under the hood and what commands are timing out). I have tried (and largely
failed) to come up with a good algorithm that utilises threads well, doesn't collect stale data,
and doesn't get hung up on uncooperative hosts. The closest I have come is the T2Crawler
but it doesn't respect the depth parameter.
You might try a few properties though:
resolveOrder=WINS
responseTimeout=3000
soTimeout=5000
cachePolicy=-1
Not sure about the cachePolicy but anything that increases name resolution time or freeing
resources quickly will help a lot. You might also try and jack-up the attrExpirationPeriod but
at some point your data will become invalid if you cache it too long (especially depending on
the algorithm your using).
After having said that I think you might want to look at your name resolution setups like the
hosts file and DNS. It is strange that the code would work differently on one machine and
not the other. Are you binding the right interface? If not look at the laddr properties. Look at
the difference in JREs/JDKs on the machines.
Mike
More information about the jcifs
mailing list