You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Eric White <ew...@rocksteady.com> on 2002/12/17 17:52:57 UTC

cache misses killing me, help with manually editing user table

so, cache misses are killing me right now. Yesterday, I thought they
were a result of running two Jetspeed portals inside the same Tomcat
instance.

I've got 1.4b3 running on Linux, with security and psml backed by
MySQL.  

However, I'm seeing cache misses in the log:



[Tue Dec 17 16:47:58 CST 2002] -- INFO -- cache miss, object expired:
207822763user/admin/html/default.psml/321


and, as the log indicates, this happens with my admin user and causes
Jetspeed to be non-responsive. Which means I can no longer log in to my
Admin user and administer anything.

First, I need to be able to add Admin privileges to other users (I can
still log in as me), so I can stay ahead of this problem.

I've seen other cache misses in the log, but they don't seem to cause a
hard stop.

Aside from fixing this nasty bug, does anybody have any ideas on how I
can flush the cache or fix cache misses by hand?

I've tried restarting tomcat and that fixes nothing. Either this code
bug is simply happening at the same time in execution, or the cache is
persisted in some way in the database...


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: cache misses killing me, help with manually editing user table

Posted by Eric White <ew...@rocksteady.com>.
I've pared down the psml for the admin user (which is hanging, now) to
just the following and am still seeing a cache miss and the browser
hangs:

<?xml version="1.0"?>
  <portlets id="300">
    <metainfo>
    <title>
      Default Jetspeed Admin page
    </title>
    </metainfo>
    <security-ref parent="admin-only"/>
      <control name="TabControl"/>
      <controller name="CardPortletController"/>
    <portlets id="301">
    <metainfo>
    <title>
      Content
    </title>
    </metainfo>
    <security-ref parent="admin-only"/>
    <controller name="ColumnController"/>
    <entry id="321" parent="AdminInfo"/>
    <entry id="322" parent="Search"/>
  </portlets>
</portlets>

and in the log I see:


[Tue Dec 17 22:54:19 CST 2002] -- INFO -- cache miss, object expired:
207822763user/admin/html/default.psml/321


and the browser is hung. No other indication of what's wrong.

I'm wondering if it's my use of MySQL. In particular, I'm using the
mysql-connector-java-2.0.14.jar driver, not the driver that I've seen
referenced in other Jetspeed docs.  To my understanding the driver I'm
using is the latest production release.

Could this be the source of my problems?

On Tue, 2002-12-17 at 11:52, David Sean Taylor wrote:
> > -----Original Message-----
> > From: Eric White [mailto:ewhite@rocksteady.com]
> > Sent: Tuesday, December 17, 2002 9:50 AM
> > To: Jetspeed Users List
> > Subject: RE: cache misses killing me, help with manually editing user
> > table
> >
> >
> > no joy, same behavior.
> >
> > Is there a backdoor way I can add Admin authority to an existing user
> > directly in the database?
> >
> 
> just use the security api (with java) to assign the role
> Or create a PSML page that only has the user browser
> 
> > while I need to track down the source of these lockups, I also need to
> > give myself some protection so I don't lose Admin capabilities with this
> > portal.
> >
> Im interesting in finding out which portlet is causing this problem.
> I suggest you start removing portlets (manually) until you find the problem
> portlet.
> 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: cache misses killing me, help with manually editing user table

Posted by David Sean Taylor <da...@bluesunrise.com>.
> -----Original Message-----
> From: Eric White [mailto:ewhite@rocksteady.com]
> Sent: Tuesday, December 17, 2002 9:50 AM
> To: Jetspeed Users List
> Subject: RE: cache misses killing me, help with manually editing user
> table
>
>
> no joy, same behavior.
>
> Is there a backdoor way I can add Admin authority to an existing user
> directly in the database?
>

just use the security api (with java) to assign the role
Or create a PSML page that only has the user browser

> while I need to track down the source of these lockups, I also need to
> give myself some protection so I don't lose Admin capabilities with this
> portal.
>
Im interesting in finding out which portlet is causing this problem.
I suggest you start removing portlets (manually) until you find the problem
portlet.



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: cache misses killing me, help with manually editing user table

Posted by Eric White <ew...@rocksteady.com>.
no joy, same behavior.

Is there a backdoor way I can add Admin authority to an existing user
directly in the database?

while I need to track down the source of these lockups, I also need to
give myself some protection so I don't lose Admin capabilities with this
portal.

On Tue, 2002-12-17 at 11:37, David Sean Taylor wrote:
> 
> 
> > -----Original Message-----
> > From: Eric White [mailto:ewhite@rocksteady.com]
> > Sent: Tuesday, December 17, 2002 9:13 AM
> > To: Jetspeed Users List
> > Subject: RE: cache misses killing me, help with manually editing user
> > table
> > 
> > 
> > This is happening with the Admin user, immediately upon login, so it's
> > trying to load the default panes/portlets that the Admin user has in the
> > profile (I haven't changed that profile).
> > 
> > I'm only assuming the cache miss is my problem because that's all I see
> > in the log (I've got debug logging turned on). The cache miss is the
> > last entry in the log until I see 
> > 
> > [Tue Dec 17 17:10:56 CST 2002] -- DEBUG -- RegistryWatcher: Saving dirty
> > fragments.
> > [Tue Dec 17 17:10:56 CST 2002] -- DEBUG -- RegistryWatcher: Checking for
> > updated files.
> > 
> > which doesn't seem to be associated with the problem.
> 
> Try this in your JR.p:
> 
> services.Registry.refreshRate=0
> 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: cache misses killing me, help with manually editing user table

Posted by David Sean Taylor <da...@bluesunrise.com>.

> -----Original Message-----
> From: Eric White [mailto:ewhite@rocksteady.com]
> Sent: Tuesday, December 17, 2002 9:13 AM
> To: Jetspeed Users List
> Subject: RE: cache misses killing me, help with manually editing user
> table
> 
> 
> This is happening with the Admin user, immediately upon login, so it's
> trying to load the default panes/portlets that the Admin user has in the
> profile (I haven't changed that profile).
> 
> I'm only assuming the cache miss is my problem because that's all I see
> in the log (I've got debug logging turned on). The cache miss is the
> last entry in the log until I see 
> 
> [Tue Dec 17 17:10:56 CST 2002] -- DEBUG -- RegistryWatcher: Saving dirty
> fragments.
> [Tue Dec 17 17:10:56 CST 2002] -- DEBUG -- RegistryWatcher: Checking for
> updated files.
> 
> which doesn't seem to be associated with the problem.

Try this in your JR.p:

services.Registry.refreshRate=0



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: cache misses killing me, help with manually editing user table

Posted by Eric White <ew...@rocksteady.com>.
This is happening with the Admin user, immediately upon login, so it's
trying to load the default panes/portlets that the Admin user has in the
profile (I haven't changed that profile).

I'm only assuming the cache miss is my problem because that's all I see
in the log (I've got debug logging turned on). The cache miss is the
last entry in the log until I see 

[Tue Dec 17 17:10:56 CST 2002] -- DEBUG -- RegistryWatcher: Saving dirty
fragments.
[Tue Dec 17 17:10:56 CST 2002] -- DEBUG -- RegistryWatcher: Checking for
updated files.

which doesn't seem to be associated with the problem.

On Tue, 2002-12-17 at 11:01, David Sean Taylor wrote:
.
> >
> >
> Do you know which portlet it is?
> You can turn off expiration on the portlet.
> Its not clear to me why you think that the portlet expiring has anything to
> do with Jetspeed becoming 'unresponsive'.
> Is this always the last message logged?
> 
> [Tue Dec 17 16:47:58 CST 2002] -- INFO -- cache miss, object expired:
> 207822763user/admin/html/default.psml/321
> 
> 
> JetspeedPortletCacheService.java:
> 
>     /**
>      * Retrieves a Cacheable object from the cache.
>      *
>      * @param handle the identifier of the object we wish to retrieve
>      * @return the cacehd object or null if not found
>      */
>     public Cacheable getCacheable( String handle ) {
> 
>         CachedObject obj = null;
> 
>         try {
>             obj = GlobalCache.getObject( handle );
>         } catch (ObjectExpiredException e) {
>             Log.info( "cache miss, object expired: " + handle );
>         }
> 
>         if ( obj == null ) {
>             //Log.info( "cache miss: " + handle );
>             return null;
>         } /*else {
>             Log.info( "cache hit: " + handle );
>             } */
> 
>         return (Cacheable)obj.getContents();
> 
>     }
> 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: cache misses killing me, help with manually editing user table

Posted by David Sean Taylor <da...@bluesunrise.com>.
> -----Original Message-----
> From: Eric White [mailto:ewhite@rocksteady.com]
> Sent: Tuesday, December 17, 2002 8:53 AM
> To: Jetspeed Users List
> Subject: cache misses killing me, help with manually editing user table
>
>
> so, cache misses are killing me right now. Yesterday, I thought they
> were a result of running two Jetspeed portals inside the same Tomcat
> instance.
>
> I've got 1.4b3 running on Linux, with security and psml backed by
> MySQL.
>
> However, I'm seeing cache misses in the log:
>
>
>
> [Tue Dec 17 16:47:58 CST 2002] -- INFO -- cache miss, object expired:
> 207822763user/admin/html/default.psml/321
>
>
> and, as the log indicates, this happens with my admin user and causes
> Jetspeed to be non-responsive. Which means I can no longer log in to my
> Admin user and administer anything.
>
> First, I need to be able to add Admin privileges to other users (I can
> still log in as me), so I can stay ahead of this problem.
>
> I've seen other cache misses in the log, but they don't seem to cause a
> hard stop.
>
> Aside from fixing this nasty bug, does anybody have any ideas on how I
> can flush the cache or fix cache misses by hand?
>
> I've tried restarting tomcat and that fixes nothing. Either this code
> bug is simply happening at the same time in execution, or the cache is
> persisted in some way in the database...
>
>
Do you know which portlet it is?
You can turn off expiration on the portlet.
Its not clear to me why you think that the portlet expiring has anything to
do with Jetspeed becoming 'unresponsive'.
Is this always the last message logged?

[Tue Dec 17 16:47:58 CST 2002] -- INFO -- cache miss, object expired:
207822763user/admin/html/default.psml/321


JetspeedPortletCacheService.java:

    /**
     * Retrieves a Cacheable object from the cache.
     *
     * @param handle the identifier of the object we wish to retrieve
     * @return the cacehd object or null if not found
     */
    public Cacheable getCacheable( String handle ) {

        CachedObject obj = null;

        try {
            obj = GlobalCache.getObject( handle );
        } catch (ObjectExpiredException e) {
            Log.info( "cache miss, object expired: " + handle );
        }

        if ( obj == null ) {
            //Log.info( "cache miss: " + handle );
            return null;
        } /*else {
            Log.info( "cache hit: " + handle );
            } */

        return (Cacheable)obj.getContents();

    }



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>