AW: [jcifs] jcifs.smb.SmbException: No description available[ERRS
RV/90] - 15 Minutes per day
Paul Gutenbrunner
pagu at pagu.at
Tue Sep 2 02:09:39 EST 2003
it seems that the new jar solves the problem (no errsrv/90 for 3 workdays).
thanks
paul
> -----Ursprungliche Nachricht-----
> Von: Allen, Michael B (RSCH) [mailto:michael_b_allen at ml.com]
> Gesendet: Dienstag, 26. August 2003 04:07
> An: 'Paul Gutenbrunner'
> Cc: jcifs at lists.samba.org
> Betreff: RE: [jcifs] jcifs.smb.SmbException: No description
> available[ERRS RV/90] - 15 Minutes per day
>
>
> Paul,
>
> I have prepared a modified jar. Please try this:
>
> http://users.erols.com/mballen/jcifs/jcifs-0.7.11ssnlim.jar
>
> This distribution accepts an additional property jcifs.smb.client.ssnLimit
> which by default is 100. The change was simple; when a session is
> requested the existing sessions are examined to determine if one
> matches the required credentials. If not, a new session is
> created and added to the list. So what I did was to just add a
> limit to the
> number of sessions that can be created. If the session limit is
> reached 1/10th of the oldest sessions are logged off. As a test you might
> set this value low (e.g. 20) to really provoke the affected code.
>
> synchronized SmbSession getSmbSession(
> NtlmPasswordAuthentication auth ) {
> SmbSession ssn;
>
> ListIterator iter = sessions.listIterator();
> while( iter.hasNext() ) {
> ssn = (SmbSession)iter.next();
> if( ssn.matches( auth )) {
> ssn.auth = auth;
> return ssn;
> }
> }
> ssn = new SmbSession( this, auth );
> sessions.add( ssn );
>
> if( sessions.size() > ssnLimit ) {
> int nclose = sessions.size() / 10;
> SmbSession s;
>
> while( nclose-- > 0 ) {
> s = (SmbSession)sessions.removeFirst();
> s.logoff( false );
> }
> }
>
> return ssn;
> }
>
> See more comments below....
>
> > -----Original Message-----
> > From: Paul Gutenbrunner [SMTP:pagu at pagu.at]
> > Sent: Monday, August 25, 2003 7:49 PM
> > To: Allen, Michael B (RSCH)
> > Cc: jcifs at lists.samba.org
> > Subject: AW: [jcifs] jcifs.smb.SmbException: No description
> available[ERRS RV/90] - 15 Minutes per day
> >
> > > Hundreds of thousands! Are you sure the
> > > NtlmPasswordAuthentication object is
> > > being cached in the HttpSession? Or are you using HTTP POST?
> > >
> >
> > we are using GET. to mimimize the number of smb-logons, we made
> > a subclass of the filter which checks if if the user's session
> > has already been authenticated. if not, the authentication takes place
> > (call the filter-method of the superclass), else nothing happens.
> >
> This is strange. If you're really caching NPAs you would
> have to have
> hundreds of thousands of distinct users. The NtlmHttpFilter already
> checks the HttpSession for the NPA. Perhaps what you're doing is
> interferign with that behavior.
>
> > > I'll look into a proper solution for this. Ideally I think
> > > the session to the domain
> > > controller should just timeout after a certain period of
> > > time if the session has been
> > > idle.
> >
> > but if the frequency of authentication requests is high,
> > the smb-session will never be idle (depending on the period
> > of time).
> >
> By session I mean the logon session. There can be many logon
> sessions multiplexing over a transport (in this case the domain
> controller). The theory is that the server is complaining about too
> many sessions open on the same transport. Currently the way
> sessions are cleaned up is when the *transport* is idle for
> jcifs.smb.client.soTimeout all the sessions and the transport are
> closed. If an HTTP client logs on before jcifs.smb.client.soTimeout
> this will never happen and thus the problem. But the
> sessions will be
> idle. SmbSessions (think user logon) are multiplexed over
> SmbTransports (think socket) just like SmbTrees (thing map network
> drive) are multiplexed over SmbSessions.
>
> > > Disabling multiplexing over transport or explicitly
> > > closing transport periodically
> > > is not the correct way to deal with the problem.
> > >
> >
> > what about closing the transport if a configurable
> > number of user-sessions has been reached?
> >
> That's it! Try the jar....
>
> Mike
>
More information about the jcifs
mailing list