Hello -

I've got some issues, some errors that I haven't pinned down, and some 
questions. This is pretty long.

First some simple questions: How does canBeReused really affect the servlet 
cache? Because I have servlets with that set to 0, which show up in the Admin 
Servlet Cache, and may be requested dozens of times, but the timestamp doesn't 
change[. Also, how does the Servlet Cache interact with AppServer restarts? I 
expected it to be cleared on restart, but apparently not? (I'm not talking 
about PSPs here.)

Background: Using Webware 7b2, IIS5, Python 2.1, and FunFormKit, we have a set 
of servlets that for odd reasons must have canBeReused=0. (Otherwise, awake is 
not called after the first response cycle. Very odd, but changing canBeReused 
has been our temporary/now-permanent solution.)

However, at irregular intervals these sets of Servlets (which are used on all 
of our sites, they are the content management backend functions) start 
immediately errorring with the following message:

Traceback (most recent call last):
  File ".\WebKit\Application.py", line 388, in dispatchRequest
    self.handleGoodURL(transaction)
  File ".\WebKit\Application.py", line 535, in handleGoodURL
    self.awake(transaction)
  File ".\WebKit\Application.py", line 709, in awake
    transaction.awake()
  File ".\WebKit\Transaction.py", line 100, in awake
    self._servlet.awake(self)
  File "e:\...\staff\Content\SiteThing.py", line 8, in awake
  File "e:\...\staff\Content\SiteContent.py", line 17, in awake
TypeError: unbound method awake() must be called with instance as first 
argument 

(The servlet hierarchy looks something like:
/staff/Content/index.py (has canBeReused=0)
  -> SiteContent.py
       -> SiteThing.py
       -> add.py
       -> edit.py
           ....

  and the error may occur on SiteThing, add, edit, or any other subclass of 
SiteContent)

This error will continue for every request until the AppServer is restarted. 
Even then, usually for the next several AppServer restarts it will work for one 
request and then start giving that error again. After a few minutes (whether we 
leave the AppServer, or repeatedly restart it), an AppServer restart will fix 
it and the problem may not come up for a few days.

Any thoughts? The awake portions of these base classes are pretty simple, here 
is part of SiteContent.py:

class SiteContent(index):

    def __init__(self):
        index.__init__(self)
        self._sectionID = ''
        self._thingID=''
        self._catID=''
        self._formDef=''

    def awake(self, trans):
        index.awake(self, trans)
        app = self.application()
        trans = self.transaction()
        req = self.request()
        if not req.hasField('sectionID'):
            app.forward(trans, self.dotUrl('staff/Content/index'))
        self._error = None


Here is awake() of SiteThing.py:

class SiteThing(SiteContent):
    def awake(self, trans):
        SiteContent.awake(self, trans)

And index.py

    def awake(self, trans):
        self.setDots(trans, '../../')
        SecureBackend.awake(self, trans)

Certainly part of problem right now is that we have no consistent way to 
duplicate the problem, but I'm going to try to do that today.

I know someone mentioned the unbound method problem before, related to multiple 
imports I believe. I've tried to figure out how this could be related to that, 
but it would almost have to be outside our code (in ServletFactory or 
Application?). Which makes me think it could have to do with canBeReused (since 
these are the only servlets we have that set that to false). Lots of thoughts, 
and not much idea.

Thanks,

Luke

-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/


-------------------------------------------------------
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code=31
_______________________________________________
Webware-discuss mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-discuss

Reply via email to