You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Carsten Ziegeler <cz...@s-und-n.de> on 2002/09/12 08:05:44 UTC

Big problems with JispFilesystemStore

Hi,

the JispFilesystemStore has some serious problems/bugs - it does
not implement the free() or the keys() method! - So if you use
this store for caching (and it's the default) your cache
might grow and grow - because the store janitor cannot free it!!!
So, I recommend not to use the JispFilesystemStore in it's current
state.

I looked at the Jisp API but didn't see a way to get all keys out
of the store. Is this right? Does anyone know a way, so we can
fix these problems?

Thanks
Carsten


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


RE: Big problems with JispFilesystemStore

Posted by Carsten Ziegeler <cz...@s-und-n.de>.

> -----Original Message-----
> From: Enke, Michael [mailto:michael.enke@wincor-nixdorf.com]
> Sent: Thursday, September 12, 2002 10:51 AM
> To: cocoon-dev@xml.apache.org
> Subject: Re: Big problems with JispFilesystemStore
> 
> 
> Carsten Ziegeler wrote:
> > 
> > Hi,
> > 
> > the JispFilesystemStore has some serious problems/bugs - it does
> > not implement the free() or the keys() method! - So if you use
> > this store for caching (and it's the default) your cache
> > might grow and grow - because the store janitor cannot free it!!!
> > So, I recommend not to use the JispFilesystemStore in it's current
> > state.
> > 
> > I looked at the Jisp API but didn't see a way to get all keys out
> > of the store. Is this right? Does anyone know a way, so we can
> > fix these problems?
> 
> 
> The first think what I did was to use the
> FilesystemStore. But this throws an exception. See:
> http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12034
> Over the last weeks I submitted several Bugreports with
> solution (not related to JispFilesystemStore)
> but no committer seems to be interested in fixing errors :-(
> 
Yeah, the same old problem...

Ok, unfortunately even if the FilesystemStore would work it has many
more problems/bugs: keys are compared by a simple toString() call,
the generated file names are way too long etc.
So, the only real solution is to either fix the Jisp store or
to rewrite the FilesystemStore.

I will have a look at the bug above.

Thanks
Carsten

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: Big problems with JispFilesystemStore

Posted by "Enke, Michael" <mi...@wincor-nixdorf.com>.
Carsten Ziegeler wrote:
> 
> Hi,
> 
> the JispFilesystemStore has some serious problems/bugs - it does
> not implement the free() or the keys() method! - So if you use
> this store for caching (and it's the default) your cache
> might grow and grow - because the store janitor cannot free it!!!
> So, I recommend not to use the JispFilesystemStore in it's current
> state.
> 
> I looked at the Jisp API but didn't see a way to get all keys out
> of the store. Is this right? Does anyone know a way, so we can
> fix these problems?


The first think what I did was to use the
FilesystemStore. But this throws an exception. See:
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12034
Over the last weeks I submitted several Bugreports with
solution (not related to JispFilesystemStore)
but no committer seems to be interested in fixing errors :-(

Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: Big problems with JispFilesystemStore

Posted by Gerhard Froehlich <g-...@gmx.de>.
Sorry guys,
that I left you alone with the Problem. But it's for some reason 
impossible in the moment for me to work on Cocoon :-/.

> Hi,
> 
> the JispFilesystemStore has some serious problems/bugs - it does
> not implement the free() or the keys() method! - So if you use
> this store for caching (and it's the default) your cache
> might grow and grow - because the store janitor cannot free it!!!
> So, I recommend not to use the JispFilesystemStore in it's current
> state.

Hmm slowly yes. Because when the pipline invalidates the requested 
object it's removed from the store (Filesystem, Jisp or Memory).

> I looked at the Jisp API but didn't see a way to get all keys out
> of the store. Is this right? Does anyone know a way, so we can
> fix these problems?

The new API provides a BTreeIterator. This class has a getKey() method, 
maybe we can use this class to delete all entries from the store?

I use the IndexedObjectDatabase in the current implementation. With the 
new API we can create from this class with createIterator() this 
BTreeIterator. Then we are able to iterate over the keys and call the 
remove(key) method each iteration.

<http://www.coyotegulch.com/algorithm/jisp/doc/index.html>

BTW: how is the new design of the caching stuff. After that we could 
re-design the store stuff :-).

Greets
- Gerhard


-- 

----------------------------
You can't fall off the floor
----------------------------

Blog at: http://radio.weblogs.com/0107791/


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


RE: Big problems with JispFilesystemStore

Posted by Carsten Ziegeler <cz...@s-und-n.de>.
Vadim Gritsenko wrote:
> 
> ... And with keys() it will be awfully slow :-/
> In good old days of Filesystem store it could take minutes to "ls" a 
> cache directory....
> 
> 
Yes, it's slow - but it's the only solution - a cache must provide
this function - otherwise it's not possible to invalidate specific
entries. Or you invalidate the whole cache...

> >And the keys() method is necessary for the store janitor to 
> remove (free()).
> >
> 
> No, keys() is not used there. So Janitor is Ok. Same for pipeline - it 
> uses remove(), not keys().
> 
> 
> >Or this is only used for memory freeing?
> >
> 
> Yes, only memory. Pipeline removes entry from caches when it becomes 
> invalid.
> 
Ah ok, but the new "free cache action" uses the clear() method and
with the Jisp Store this simple does nothing.

Carsten

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: Big problems with JispFilesystemStore

Posted by Vadim Gritsenko <va...@verizon.net>.
Carsten Ziegeler wrote:

>  
>
>>-----Original Message-----
>>From: Vadim Gritsenko [mailto:vadim.gritsenko@verizon.net]
>>Sent: Thursday, September 12, 2002 2:31 PM
>>To: cocoon-dev@xml.apache.org
>>Cc: Gerhard Froehlich
>>Subject: Re: Big problems with JispFilesystemStore
>>
>>
>>Carsten Ziegeler wrote:
>>
>>    
>>
>>>Hi,
>>>
>>>the JispFilesystemStore has some serious problems/bugs - it does
>>>not implement the free() or the keys() method! - So if you use
>>>this store for caching (and it's the default) your cache
>>>might grow and grow - because the store janitor cannot free it!!!
>>>

See below...


>>>So, I recommend not to use the JispFilesystemStore in it's current
>>>state.
>>>
>>>      
>>>
>>And we can not use FileSystemStore too, I guess you know this...
>>
>>
>>    
>>
>>>I looked at the Jisp API but didn't see a way to get all keys out
>>>of the store. Is this right? Does anyone know a way, so we can
>>>fix these problems?
>>>
>>>      
>>>
>>According to http://www.coyotegulch.com/algorithm/jisp/, JISP 2.0 was
>>released, which might have necessary methods.
>>
>>    
>>
>Hopefully!
>
>  
>
>>IIRC, Gerhard desired working on integrating new JISP version into Cocoon.
>>
>>PS Why do you need keys()? I've seen your CVS comment...
>>
>>    
>>
>
>The cache validation of the portal invalidates (deletes) all obsolete
>profiles
>if a base profile has changed. Without getting the keys() this is not
>possible.
>

... And with keys() it will be awfully slow :-/
In good old days of Filesystem store it could take minutes to "ls" a 
cache directory....


>And the keys() method is necessary for the store janitor to remove (free()).
>

No, keys() is not used there. So Janitor is Ok. Same for pipeline - it 
uses remove(), not keys().


>Or this is only used for memory freeing?
>

Yes, only memory. Pipeline removes entry from caches when it becomes 
invalid.

Vadim


>Carsten
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


RE: Big problems with JispFilesystemStore

Posted by Carsten Ziegeler <cz...@s-und-n.de>.

> -----Original Message-----
> From: Vadim Gritsenko [mailto:vadim.gritsenko@verizon.net]
> Sent: Thursday, September 12, 2002 2:31 PM
> To: cocoon-dev@xml.apache.org
> Cc: Gerhard Froehlich
> Subject: Re: Big problems with JispFilesystemStore
>
>
> Carsten Ziegeler wrote:
>
> >Hi,
> >
> >the JispFilesystemStore has some serious problems/bugs - it does
> >not implement the free() or the keys() method! - So if you use
> >this store for caching (and it's the default) your cache
> >might grow and grow - because the store janitor cannot free it!!!
> >So, I recommend not to use the JispFilesystemStore in it's current
> >state.
> >
>
> And we can not use FileSystemStore too, I guess you know this...
>
>
> >I looked at the Jisp API but didn't see a way to get all keys out
> >of the store. Is this right? Does anyone know a way, so we can
> >fix these problems?
> >
>
> According to http://www.coyotegulch.com/algorithm/jisp/, JISP 2.0 was
> released, which might have necessary methods.
>
Hopefully!

> IIRC, Gerhard desired working on integrating new JISP version into Cocoon.
>
> PS Why do you need keys()? I've seen your CVS comment...
>

The cache validation of the portal invalidates (deletes) all obsolete
profiles
if a base profile has changed. Without getting the keys() this is not
possible.

And the keys() method is necessary for the store janitor to remove (free()).
Or this is only used for memory freeing?

Carsten



---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: Big problems with JispFilesystemStore

Posted by Vadim Gritsenko <va...@verizon.net>.
Carsten Ziegeler wrote:

>Hi,
>
>the JispFilesystemStore has some serious problems/bugs - it does
>not implement the free() or the keys() method! - So if you use
>this store for caching (and it's the default) your cache
>might grow and grow - because the store janitor cannot free it!!!
>So, I recommend not to use the JispFilesystemStore in it's current
>state.
>

And we can not use FileSystemStore too, I guess you know this...


>I looked at the Jisp API but didn't see a way to get all keys out
>of the store. Is this right? Does anyone know a way, so we can
>fix these problems?
>

According to http://www.coyotegulch.com/algorithm/jisp/, JISP 2.0 was 
released, which might have necessary methods.

IIRC, Gerhard desired working on integrating new JISP version into Cocoon.

PS Why do you need keys()? I've seen your CVS comment...

Vadim


>Thanks
>Carsten
>



---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org